├── LICENCE
├── NDM1i-1_design_script
├── modernized
│ ├── .gitignore
│ ├── comp
│ │ ├── D_alpha_preferences.comp
│ │ ├── D_beta_preferences.comp
│ │ ├── L_alpha_preferences.comp
│ │ ├── L_beta_preferences.comp
│ │ └── global_preferences.comp
│ ├── inputs
│ │ ├── 4EXS_Dcys_Lpro.pdb
│ │ ├── foldtree1.txt
│ │ └── rosetta.flags
│ └── xml
│ │ └── NDM1i_1_design.xml
└── original
│ ├── inputs
│ ├── 4EXS_Dcys_Lpro.pdb
│ ├── 4EXS_Dcys_Lpro_start.pdb
│ ├── D_alpha_preferences.comp
│ ├── D_beta_preferences.comp
│ ├── D_resfile.txt
│ ├── D_resfile_hydrophobic.txt
│ ├── L_alpha_preferences.comp
│ ├── L_beta_preferences.comp
│ ├── L_resfile.txt
│ ├── L_resfile_hydrophobic.txt
│ ├── foldtree1.txt
│ ├── global_preferences.comp
│ ├── rosetta.flags
│ ├── rosetta_setup_step.flags
│ └── termini.cst
│ └── xml
│ ├── NDM1i_1_design_legacy.xml
│ └── design_8res_setup.xml
├── NDM1i-3D_binding_mode_comparison_script
├── inputs
│ ├── design.flags
│ ├── design_NDM1i_3D.pdb
│ ├── foldtree_design.txt
│ ├── foldtree_xtal.txt
│ ├── xtal.flags
│ └── xtal_NDM1i_3D_trimmed.pdb
├── outputs
│ ├── design_round4_0002_0001.pdb
│ └── xtal_round4_trimmed_0001.pdb
└── xml
│ ├── minimize_and_score.xml
│ └── rosettascripts.xsd
├── NDM1i-3_design_script
├── modernized
│ ├── .gitignore
│ ├── inputs
│ │ ├── Moriarty_xtal_chainB_pep_opened.pdb
│ │ ├── foldtree1.txt
│ │ ├── neg_phi.resfile
│ │ ├── net_positive.charge
│ │ ├── peptide.comp
│ │ ├── peptide_buried.comp
│ │ ├── peptide_surf.comp
│ │ ├── pos_phi.resfile
│ │ └── rosetta.flags
│ └── xml
│ │ └── NDM1i_3_design.xml
└── original
│ ├── inputs
│ ├── Moriarty_xtal_chainB_pep_opened.pdb
│ ├── foldtree1.txt
│ ├── neg_phi.resfile
│ ├── net_positive.charge
│ ├── peptide.comp
│ ├── peptide_buried.comp
│ ├── peptide_surf.comp
│ ├── pos_phi.resfile
│ └── rosetta.flags
│ └── xml
│ └── NDM1i_3_design_legacy.xml
├── NDM1i-4_design_script
└── original
│ ├── .gitignore
│ ├── inputs
│ ├── NDM-1_P2_model_alt_conformation_trimmed.pdb
│ ├── design.comp
│ ├── foldtree1.txt
│ └── rosetta.flags
│ └── xml
│ └── NDM1i_4_design.xml
├── NDM1i_delta_G_binding_estimation_scripts
└── original
│ ├── README.md
│ ├── inputs
│ ├── foldtree.txt
│ ├── pdbs.list
│ └── rosetta.flags
│ ├── pdbs
│ ├── example1.pdb
│ └── example2.pdb
│ └── xml
│ └── ddgscript.xml
├── NDM1i_experimental_data_analysis_Python_script
├── fit_hill_equation.py
└── sample_experimental_data
│ └── moriarty_peptide_inhibition_data.txt
├── README.md
└── peptide_structure_prediction_example
├── compilescript.template.sh
├── inputs
├── NOTE.txt
├── native.pdb
├── rosetta.flags
└── seq.txt
└── runscript.template.sh
/LICENCE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 Vikram K. Mulligan, Center for Computational Biology,
4 | Flatiron Institute.
5 |
6 | Permission is hereby granted, free of charge, to any person obtaining a copy
7 | of this software and associated documentation files (the "Software"), to deal
8 | in the Software without restriction, including without limitation the rights
9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | copies of the Software, and to permit persons to whom the Software is
11 | furnished to do so, subject to the following conditions:
12 |
13 | The above copyright notice and this permission notice shall be included in all
14 | copies or substantial portions of the Software.
15 |
16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | SOFTWARE.
23 |
--------------------------------------------------------------------------------
/NDM1i-1_design_script/modernized/.gitignore:
--------------------------------------------------------------------------------
1 | *.pdb
2 | *.sc
3 |
--------------------------------------------------------------------------------
/NDM1i-1_design_script/modernized/comp/D_alpha_preferences.comp:
--------------------------------------------------------------------------------
1 | PENALTY_DEFINITION
2 | TYPE DAL DLE DAR
3 | FRACT_DELTA_START -0.25
4 | FRACT_DELTA_END 0.25
5 | PENALTIES 3 0 0
6 | FRACTION 0.7
7 | BEFORE_FUNCTION QUADRATIC
8 | AFTER_FUNCTION CONSTANT
9 | END_PENALTY_DEFINITION
10 |
--------------------------------------------------------------------------------
/NDM1i-1_design_script/modernized/comp/D_beta_preferences.comp:
--------------------------------------------------------------------------------
1 | PENALTY_DEFINITION
2 | TYPE DTH DVA
3 | FRACT_DELTA_START -0.25
4 | FRACT_DELTA_END 0.25
5 | PENALTIES 3 0 0
6 | FRACTION 0.7
7 | BEFORE_FUNCTION QUADRATIC
8 | AFTER_FUNCTION CONSTANT
9 | END_PENALTY_DEFINITION
10 |
--------------------------------------------------------------------------------
/NDM1i-1_design_script/modernized/comp/L_alpha_preferences.comp:
--------------------------------------------------------------------------------
1 | PENALTY_DEFINITION
2 | TYPE ALA LEU ARG
3 | FRACT_DELTA_START -0.25
4 | FRACT_DELTA_END 0.25
5 | PENALTIES 3 0 0
6 | FRACTION 0.7
7 | BEFORE_FUNCTION QUADRATIC
8 | AFTER_FUNCTION CONSTANT
9 | END_PENALTY_DEFINITION
10 |
--------------------------------------------------------------------------------
/NDM1i-1_design_script/modernized/comp/L_beta_preferences.comp:
--------------------------------------------------------------------------------
1 | PENALTY_DEFINITION
2 | TYPE THR VAL
3 | FRACT_DELTA_START -0.25
4 | FRACT_DELTA_END 0.25
5 | PENALTIES 3 0 0
6 | FRACTION 0.7
7 | BEFORE_FUNCTION QUADRATIC
8 | AFTER_FUNCTION CONSTANT
9 | END_PENALTY_DEFINITION
10 |
--------------------------------------------------------------------------------
/NDM1i-1_design_script/modernized/comp/global_preferences.comp:
--------------------------------------------------------------------------------
1 | #At least two hydrophobics
2 | PENALTY_DEFINITION
3 | PROPERTIES HYDROPHOBIC
4 | DELTA_START -2
5 | DELTA_END 1
6 | PENALTIES 25 10 0 0
7 | ABSOLUTE 2
8 | BEFORE_FUNCTION QUADRATIC
9 | AFTER_FUNCTION CONSTANT
10 | END_PENALTY_DEFINITION
11 |
12 | #At most one methionine
13 | PENALTY_DEFINITION
14 | TYPE MET DME
15 | DELTA_START -1
16 | DELTA_END 1
17 | ABSOLUTE 1
18 | PENALTIES 0 0 25
19 | BEFORE_FUNCTION CONSTANT
20 | AFTER_FUNCTION QUADRATIC
21 | END_PENALTY_DEFINITION
22 |
23 | #Require L-glu or L-asp for cyclization:
24 | PENALTY_DEFINITION
25 | TYPE ASP GLU
26 | DELTA_START -1
27 | DELTA_END 1
28 | PENALTIES 50 0 0
29 | ABSOLUTE 1
30 | BEFORE_FUNCTION QUADRATIC
31 | AFTER_FUNCTION CONSTANT
32 | END_PENALTY_DEFINITION
33 |
34 | #Prevent too many asp/d-asp
35 | PENALTY_DEFINITION
36 | TYPE ASP DAS
37 | DELTA_START -1
38 | DELTA_END 1
39 | ABSOLUTE 1
40 | PENALTIES 0 2 5
41 | BEFORE_FUNCTION CONSTANT
42 | AFTER_FUNCTION QUADRATIC
43 | END_PENALTY_DEFINITION
44 |
45 | #At least one positive charge for mass spec
46 | PENALTY_DEFINITION
47 | TYPE LYS ARG DLY DAR
48 | DELTA_START -1
49 | DELTA_END 1
50 | PENALTIES 50 0 0
51 | ABSOLUTE 1
52 | BEFORE_FUNCTION QUADRATIC
53 | AFTER_FUNCTION CONSTANT
54 | END_PENALTY_DEFINITION
55 |
56 | #Aim for 3 prolines
57 | PENALTY_DEFINITION
58 | TYPE PRO DPR
59 | DELTA_START -3
60 | DELTA_END 1
61 | PENALTIES 20 5 2 0 0
62 | ABSOLUTE 3
63 | BEFORE_FUNCTION QUADRATIC
64 | AFTER_FUNCTION CONSTANT
65 | END_PENALTY_DEFINITION
66 |
--------------------------------------------------------------------------------
/NDM1i-1_design_script/modernized/inputs/foldtree1.txt:
--------------------------------------------------------------------------------
1 | FOLD_TREE EDGE 83 3 -1 EDGE 83 233 -1 EDGE 83 2 1 EDGE 85 1 2 JEDGE 1 237 3 ZN SG INTRA_RES_STUB EDGE 237 234 -1 EDGE 237 241 -1
2 |
--------------------------------------------------------------------------------
/NDM1i-1_design_script/modernized/inputs/rosetta.flags:
--------------------------------------------------------------------------------
1 | # The number of designs to generate. On most computing clusters, this can be set to a high
2 | # number, and jobs can be permitted to end when their time limit is reached:
3 | -nstruct 1000
4 |
5 | # Parameters adjusting the automatic setup of bonds to metal atoms:
6 | -metals_distance_constraint_multiplier 5.0
7 | -metals_angle_constraint_multiplier 5.0
8 | -auto_setup_metals
9 |
10 | # The input PDB file (interpreted as an all-atom representation):
11 | -in:file:s inputs/4EXS_Dcys_Lpro.pdb
12 | -in:file:fullatom
13 |
14 | # Since glycine Ramachandran tables used for scoring are based on statistics from the Protein
15 | # Data Bank, they are biased towards glycine residues in positive-phi regions of Ramachandran
16 | # space. When designing with D-amino acids, the following correction should always be
17 | # applied:
18 | -symmetric_gly_tables true
19 |
20 | # Bonds between all covalently-connected atoms will be written to the output PDB file, to aid
21 | # visualization in PyMol:
22 | -write_all_connect_info
23 |
24 | # The input RosettaScripts XML file:
25 | -parser:protocol xml/NDM1i_1_design.xml
26 |
27 | # Since some jobs are expected to fail due to filters that don’t pass, we do not want the
28 | # executable to exit with failure status if there are some failures:
29 | -jd2:failed_job_exception false
30 |
31 | # The following line should be uncommented for production runs, to prevent writing of a large
32 | # output log:
33 | #-mute all
34 |
35 |
--------------------------------------------------------------------------------
/NDM1i-1_design_script/original/inputs/D_alpha_preferences.comp:
--------------------------------------------------------------------------------
1 | PENALTY_DEFINITION
2 | TYPE DAL DLE DAR
3 | FRACT_DELTA_START -0.25
4 | FRACT_DELTA_END 0.25
5 | PENALTIES 3 0 0
6 | FRACTION 0.7
7 | BEFORE_FUNCTION QUADRATIC
8 | AFTER_FUNCTION CONSTANT
9 | END_PENALTY_DEFINITION
10 |
--------------------------------------------------------------------------------
/NDM1i-1_design_script/original/inputs/D_beta_preferences.comp:
--------------------------------------------------------------------------------
1 | PENALTY_DEFINITION
2 | TYPE DTH DVA
3 | FRACT_DELTA_START -0.25
4 | FRACT_DELTA_END 0.25
5 | PENALTIES 3 0 0
6 | FRACTION 0.7
7 | BEFORE_FUNCTION QUADRATIC
8 | AFTER_FUNCTION CONSTANT
9 | END_PENALTY_DEFINITION
10 |
--------------------------------------------------------------------------------
/NDM1i-1_design_script/original/inputs/D_resfile.txt:
--------------------------------------------------------------------------------
1 | EMPTY NC DAL NC DAS NC DGU NC DPH NC DHI NC DIL NC DLY NC DLE NC DME NC DAN NC DPR NC DGN NC DAR NC DSE NC DTH NC DVA NC DTR NC DTY
2 | start
3 |
--------------------------------------------------------------------------------
/NDM1i-1_design_script/original/inputs/D_resfile_hydrophobic.txt:
--------------------------------------------------------------------------------
1 | EMPTY NC DPH NC DIL NC DLE NC DME NC DPR NC DVA NC DTR NC DTY
2 | start
3 |
--------------------------------------------------------------------------------
/NDM1i-1_design_script/original/inputs/L_alpha_preferences.comp:
--------------------------------------------------------------------------------
1 | PENALTY_DEFINITION
2 | TYPE ALA LEU ARG
3 | FRACT_DELTA_START -0.25
4 | FRACT_DELTA_END 0.25
5 | PENALTIES 3 0 0
6 | FRACTION 0.7
7 | BEFORE_FUNCTION QUADRATIC
8 | AFTER_FUNCTION CONSTANT
9 | END_PENALTY_DEFINITION
10 |
--------------------------------------------------------------------------------
/NDM1i-1_design_script/original/inputs/L_beta_preferences.comp:
--------------------------------------------------------------------------------
1 | PENALTY_DEFINITION
2 | TYPE THR VAL
3 | FRACT_DELTA_START -0.25
4 | FRACT_DELTA_END 0.25
5 | PENALTIES 3 0 0
6 | FRACTION 0.7
7 | BEFORE_FUNCTION QUADRATIC
8 | AFTER_FUNCTION CONSTANT
9 | END_PENALTY_DEFINITION
10 |
--------------------------------------------------------------------------------
/NDM1i-1_design_script/original/inputs/L_resfile.txt:
--------------------------------------------------------------------------------
1 | PIKAA ADEFHIKLMNPQRSTVWY
2 | start
3 |
--------------------------------------------------------------------------------
/NDM1i-1_design_script/original/inputs/L_resfile_hydrophobic.txt:
--------------------------------------------------------------------------------
1 | PIKAA FILMPVWY
2 | start
3 |
--------------------------------------------------------------------------------
/NDM1i-1_design_script/original/inputs/foldtree1.txt:
--------------------------------------------------------------------------------
1 | FOLD_TREE EDGE 83 3 -1 EDGE 83 233 -1 EDGE 83 2 1 EDGE 85 1 2 JEDGE 1 237 3 ZN SG INTRA_RES_STUB EDGE 237 234 -1 EDGE 237 241 -1
2 |
--------------------------------------------------------------------------------
/NDM1i-1_design_script/original/inputs/global_preferences.comp:
--------------------------------------------------------------------------------
1 | #At least two hydrophobics
2 | PENALTY_DEFINITION
3 | PROPERTIES HYDROPHOBIC
4 | DELTA_START -2
5 | DELTA_END 1
6 | PENALTIES 25 10 0 0
7 | ABSOLUTE 2
8 | BEFORE_FUNCTION QUADRATIC
9 | AFTER_FUNCTION CONSTANT
10 | END_PENALTY_DEFINITION
11 |
12 | #At most one methionine
13 | PENALTY_DEFINITION
14 | TYPE MET DME
15 | DELTA_START -1
16 | DELTA_END 1
17 | ABSOLUTE 1
18 | PENALTIES 0 0 25
19 | BEFORE_FUNCTION CONSTANT
20 | AFTER_FUNCTION QUADRATIC
21 | END_PENALTY_DEFINITION
22 |
23 | #Require L-glu or L-asp for cyclization:
24 | PENALTY_DEFINITION
25 | TYPE ASP GLU
26 | DELTA_START -1
27 | DELTA_END 1
28 | PENALTIES 50 0 0
29 | ABSOLUTE 1
30 | BEFORE_FUNCTION QUADRATIC
31 | AFTER_FUNCTION CONSTANT
32 | END_PENALTY_DEFINITION
33 |
34 | #Prevent too many asp/d-asp
35 | PENALTY_DEFINITION
36 | TYPE ASP DAS
37 | DELTA_START -1
38 | DELTA_END 1
39 | ABSOLUTE 1
40 | PENALTIES 0 2 5
41 | BEFORE_FUNCTION CONSTANT
42 | AFTER_FUNCTION QUADRATIC
43 | END_PENALTY_DEFINITION
44 |
45 | #At least one positive charge for mass spec
46 | PENALTY_DEFINITION
47 | TYPE LYS ARG DLY DAR
48 | DELTA_START -1
49 | DELTA_END 1
50 | PENALTIES 50 0 0
51 | ABSOLUTE 1
52 | BEFORE_FUNCTION QUADRATIC
53 | AFTER_FUNCTION CONSTANT
54 | END_PENALTY_DEFINITION
55 |
56 | #Aim for 3 prolines
57 | PENALTY_DEFINITION
58 | TYPE PRO DPR
59 | DELTA_START -3
60 | DELTA_END 1
61 | PENALTIES 20 5 2 0 0
62 | ABSOLUTE 3
63 | BEFORE_FUNCTION QUADRATIC
64 | AFTER_FUNCTION CONSTANT
65 | END_PENALTY_DEFINITION
66 |
--------------------------------------------------------------------------------
/NDM1i-1_design_script/original/inputs/rosetta.flags:
--------------------------------------------------------------------------------
1 | # On most clusters with queueing systems, it is simplest to set the number of output
2 | # structures to a large number and to allow Rosetta to write structures until the job times
3 | # out:
4 | -nstruct 1000
5 |
6 | # These options control the automatic setup of chemical bonds to metal atoms:
7 | -auto_setup_metals
8 | -metals_distance_constraint_multiplier 5.0
9 | -metals_angle_constraint_multiplier 5.0
10 |
11 | # The input PDB file, generated in the previous step:
12 | -in:file:s inputs/4EXS_Dcys_Lpro_start.pdb
13 |
14 | # Since glycine Ramachandran tables used for scoring are based on statistics from the Protein
15 | # Data Bank, they are biased towards glycine residues in positive-phi regions of Ramachandran
16 | # space. When designing with D-amino acids, the following correction should always be
17 | # applied:
18 | -symmetric_gly_tables true
19 |
20 | # Interpret the input as a full-atom model (as opposed to a centroid representation):
21 | -in:file:fullatom
22 |
23 | # On output, write records of all connected atoms to facilitate visualization in PyMol:
24 | -write_all_connect_info
25 |
26 | # The input XML script to execute:
27 | -parser:protocol xml/NDM1i_1_design_legacy.xml
28 |
29 | # Do not exit with error status if some jobs fail (e.g. due to filters failing):
30 | -jd2:failed_job_exception false
31 |
32 | # In 2016, the energy function that would later become the default ref2015 energy function
33 | # was known as “beta_nov15”. This flag activates that energy function:
34 | -beta_nov15
35 |
36 | # The following line should be uncommented for production runs, to prevent writing of a large
37 | # output log:
38 | #-mute all
39 |
--------------------------------------------------------------------------------
/NDM1i-1_design_script/original/inputs/rosetta_setup_step.flags:
--------------------------------------------------------------------------------
1 | -parser:protocol xml/design_8res_setup.xml
2 | -beta_nov15
3 | -in:file:s inputs/4EXS_Dcys_Lpro.pdb
4 | -in:file:fullatom
5 | -auto_setup_metals
6 | -metals_distance_constraint_multiplier 5.0
7 | -metals_angle_constraint_multiplier 5.0
8 | -symmetric_gly_tables true
9 |
--------------------------------------------------------------------------------
/NDM1i-1_design_script/original/inputs/termini.cst:
--------------------------------------------------------------------------------
1 | AtomPair N 234 C 241 HARMONIC 1.328685 0.05
2 | Angle CA 241 C 241 N 234 HARMONIC 2.02807246864 0.03
3 | Angle C 241 N 234 CA 234 HARMONIC 2.12406564732 0.03
4 | Dihedral CA 241 C 241 N 234 CA 234 CIRCULARHARMONIC 3.141592654 0.03
5 |
--------------------------------------------------------------------------------
/NDM1i-1_design_script/original/xml/NDM1i_1_design_legacy.xml:
--------------------------------------------------------------------------------
1 |
25 |
26 |
27 | # This script takes as input the 4EXS structure with an 8-residue peptide in the
28 | # active site, in an open conformation. It uses generalized kinematic closure to
29 | # close the peptide, forming an N-to-C peptide macrocycle. It then designs the
30 | # sequence of the peptide, and applies various filters. If filters pass, it proceeds
31 | # to carry out a Monte Carlo search of local conformation space, designing at each
32 | # step, to try to improve the shape complementarity.
33 | #
34 | # This script was tested with legacy Rosetta weekly release 2016.46 (Git SHA1
35 | # 47669d9d2e9f659f4889dc89ee6305575dd87c2e). This script is ONLY included for
36 | # scientific reproducibility. If your goal is to reproduce the work in this
37 | # publication precisely, use this script; if you want to use the most up-to-date
38 | # protocol, use the updated scripts for Rosetta 3.13.
39 |
40 | # In the SCOREFXNS section, we define scoring functions used for design and energy
41 | # minimization.
42 |
43 | # A basic scoring function, with an added penalty discouraging sequences that promote
44 | # formation of aspartimide byproducts during peptide synthesis. Note that at the time
45 | # this script was written, the energy function used was a beta version of the energy
46 | # function called “beta_nov15”. It has since been renamed “ref2015”, and is the
47 | # current default energy function in newer versions of Rosetta:
48 |
49 |
50 |
51 | # A “soft” variation of the scoring function with more permissive atomic repulsive
52 | # potentials, useful for design steps. This scoring function also activates geometric
53 | # and amino acid composition constraint terms.
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 | # A basic scoring function, with an added penalty discouraging sequences that promote
62 | # formation of aspartimide byproducts during peptide synthesis. This version also
63 | # activates geometric constraint terms:
64 |
65 |
66 |
67 | # A variation on the constrained scoring function with the aspartimide penalty term
68 | # activated and hydrogen bonding and electrostatic terms upweighted:
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 | # A variation on the previous scoring function that has the amino acid
78 | # composition penalty activated as well:
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 | # The RESIDUE_SELECTORS section establishes residue selectors, which are rules for
91 | # selecting a subset of a structure for other modules to operate upon.
92 |
93 | # These selectors select the potential hydrogen bonding partners of residues in the
94 | # peptide, for backbone hydrogen bond counting. Note that this has been replaced with
95 | # the PeptideInternalHbondsMetric and the PeptideInternalHbondsFilter in newer
96 | # versions of Rosetta:
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 | # These residue selectors select the peptide, the original stub residues, or just the
107 | # D-cysteine residue in the stub:
108 |
109 |
110 |
111 |
112 | # This selector inverts the peptide selection, selecting the target protein:
113 |
114 |
115 | # These selectors select residues based on backbone conformation, selecting residues
116 | # with negative and positive backbone phi angles, respectively:
117 |
118 |
119 |
120 | # Since the stub residues of the peptide are not designed, this selector selects only
121 | # the designable subset of positions:
122 |
123 |
124 | # This selector selects positions within the peptide with positive phi values, which
125 | # will only be permitted to assume D-amino acid identities:
126 |
127 |
128 | # This selector selects positions within the peptide with negative phi values, which
129 | # will only be permitted to assume L-amino acid identities:
130 |
131 |
132 | # This selector selects positions within the peptide in backbone bin “A”
133 | # (corresponding to the left-handed alpha helical region of Ramachandran space:
134 |
135 |
136 | # This selector selects positions within the peptide in backbone bin “X”, a.k.a.
137 | # “Aprime” (corresponding to the right-handed alpha helical region of Ramachandran
138 | # space:
139 |
140 |
141 | # This selector selects positions within the peptide in backbone bin “B”
142 | # (corresponding to the left-handed beta strand region of Ramachandran space:
143 |
144 |
145 | # This selector selects positions within the peptide in backbone bin “Y”, a.k.a.
146 | # “Bprime” (corresponding to the right-handed beta strand region of Ramachandran
147 | # space:
148 |
149 |
150 | # This selector selects positions on the target near the peptide, which will be
151 | # allowed to repack during peptide sequence design:
152 |
153 |
154 | # This selector selects positions far from the interface:
155 |
156 |
157 | # This selector selects positions far from the interface which are part of the
158 | # target, which will be fixed during design:
159 |
160 |
161 |
162 | # This selector selects buried residues:
163 |
164 |
165 | # This selector selects buried positions that are also designable:
166 |
168 |
169 | # This selector selects exposed residues:
170 |
171 |
172 | # This selector selects exposed positions that are also designable:
173 |
176 |
177 | # The following four selectors select every combination of (negative phi or positive
178 | # phi positions) and (buried or exposed positions).
179 |
181 |
183 |
185 |
187 |
188 |
189 | # The TASKOPERATIONS section defines task operations, which are rules for controlling the
190 | # Rosetta packer. The Rosetta packer optimizes side chain rotamers and carries out
191 | # sequence design, so task operations define design problems.
192 |
193 | # Include the input rotamer, even if it is shifted from a rotamer well, in the set of
194 | # rotamers allowed at a position:
195 |
196 |
197 | # Sample finer levels of discretization of rotamers:
198 |
199 |
200 | # Prevent repacking of the NDM-1 target protein:
201 |
202 |
203 |
204 |
205 | # Prevent design of the NDM-1 target protein:
206 |
207 |
208 |
209 |
210 | # Prevent repacking of the D-cysteine, L-proline stub within the peptide:
211 |
212 |
213 |
214 |
215 | # Prevent design of the D-cysteine, L-proline stub within the peptide:
216 |
217 |
218 |
219 |
220 | # Apply restrictions on allowed residues at positive phi positions that are exposed.
221 | # Note that in earlier versions of Rosetta, task operation conventions were different
222 | # for canonical and non-canonical amino acids. Task operations could only prohibit
223 | # canonical types, and could only allow non-canonical types. Later versions change
224 | # this convention to make it more uniform. This script relies on the earlier
225 | # convention.
226 |
228 |
229 | # Apply restrictions on allowed residues at positive phi positions that are buried:
230 |
232 |
233 | # Apply restrictions on allowed residues at negative phi positions that are exposed:
234 |
236 |
237 | # Apply restrictions on allowed residues at negative phi positions that are buried:
238 |
240 |
241 | # Do not allow repacking of NDM-1 residues far from the peptide:
242 |
244 |
245 |
246 |
247 |
248 | # The FILTERS section defines Rosetta filters, which are Rosetta algorithms to analyze a
249 | # structure, measure properties of that structure, and accept or reject that structure
250 | # based on the measured properties:
251 |
252 | # These filters measure shape complementarity of the peptide to the target:
253 |
254 |
255 |
256 |
257 | # This filter is used in early stages to discard sampled peptide conformations in
258 | # which molecular geometry clashes egregiously with the target:
259 |
260 |
261 | # Rosetta’s pairwise-decomposable scoring function is unable to detect cases in which
262 | # three or more hydrogen bond donors all donate to the same acceptor. This filter
263 | # detects and eliminates this pathology:
264 |
267 |
268 | # The following filters are combined in the total_hbonds and total_hbonds_2 filter to
269 | # count the number of internal backbone hydrogen bonds. Note that this results in an
270 | # unduly computationally expensive calculation (with intermediate steps repeated), as
271 | # well as an inconvenient user interface. For this reason, it has been replaced with
272 | # the PeptideInternalHbondsFilter in newer versions of Rosetta:
273 |
276 |
279 |
282 |
285 |
288 |
291 |
294 |
297 |
298 |
299 |
300 |
301 |
302 |
303 |
304 |
305 |
306 |
307 |
308 |
309 |
310 |
311 |
312 |
313 |
314 |
315 |
316 |
317 |
318 | # This filter measures the energy, biased towards hydrogen bonds and electrostatic
319 | # terms, following a Monte Carlo move:
320 |
322 |
323 | # This filter is used during the Monte Carlo simulation to compute the value passed
324 | # to the Metropolis evaluator to determine whether moves pass or fail:
325 |
326 |
327 |
328 |
329 |
330 |
331 | # The MOVERS section sets up movers, which operate on a structure to alter it in some
332 | # way. Some sample conformations, others design sequences, others carry out energy
333 | # minimization, etc.
334 |
335 | # The AtomTree mover sets up the fold tree, which defines the kinematic relationships
336 | # between different parts of a structure:
337 |
338 |
339 | # This SetTorsion mover is used to initialize the torsions for the dihedral angles at
340 | # the start and end of the D-cysteine-L-proline stub. It sets these to ideal values
341 | # and then adds a small random perturbation. It also ensures that all omega angles
342 | # are 180 degrees.
343 |
344 |
345 |
346 |
347 |
348 |
350 |
352 |
354 |
356 |
357 |
359 |
360 |
361 |
362 |
363 |
364 | # This SetTorsion mover adds a smaller random perturbation to all backbone degrees of
365 | # freedom of the stub:
366 |
367 |
369 |
371 |
373 |
375 |
377 |
379 |
380 |
381 | # This mover adds a chemical bond between the first and last residues of the peptide.
382 | # It has the side-effect of correcting the placement of oxygen and hydrogen atoms
383 | # flanking the amide bond, and so is used repeatedly to update these placements.
384 | # Note that this is less likely in more recent versions of Rosetta, since the
385 | # cutpoint variant types have been updated to ensure that hydrogen and oxygen
386 | # placement remains reasonable at cutpoints during minimization:
387 |
390 |
391 | # This mover adds constraints to ensure that the amide bond geometry is preserved
392 | # during energy-minimization. Note that this can be accomplished more simply now
393 | # using the chainbreak scoreterm, but this was necessary in the 2016 releases of
394 | # Rosetta.
395 |
397 |
398 | # These movers add amino acid composition constraints to the whole peptide, to
399 | # negative- phi positions in the alpha-helix region of Ramachandran space, to
400 | # negative-phi positions in the beta-sheet region of Ramachandran space, to
401 | # positive-phi positions in the right-handed alpha-helix region of Ramachandran
402 | # space, and to positive-phi positions in the right-handed beta-sheet region of
403 | # Ramachandran space, respectively:
404 |
406 |
408 |
410 |
412 |
414 |
415 | # The PackRotamersMover optimizes side chain rotamers, permitting structure
416 | # refinement or design. Here, it is used to design the peptide and to refine
417 | # side chain conformations on the target:
418 |
421 |
422 | # The MinMover relaxes a structure through gradient-descent minimizatoin. This one
423 | # is configured to minimize only side chains of the peptide. Note that more recent
424 | # versions of Rosetta permit more robust configuration of the minimizer through
425 | # move map factories:
426 |
427 |
428 |
429 |
430 |
431 |
432 |
433 |
434 |
435 |
436 |
437 |
438 |
439 |
440 |
441 |
442 | # This MinMover permits both side chain and backbone minimization of the peptide, but
443 | # keeps the rest of the structure rigid:
444 |
445 |
446 |
447 |
448 |
449 |
450 |
451 |
452 |
453 |
454 |
455 |
456 |
457 |
458 |
459 |
460 | # FastDesign performs alternating rounds of packing and minimization while ramping the
461 | # repulsive term in the scoring function from an initial low value. This FastDesign
462 | # instance is configured to design the peptide and repack the target interface, and to
463 | # allow peptide side chains and backbone and target side chains to move during energy
464 | # minimization:
465 |
468 |
469 |
470 |
471 |
472 |
473 |
474 |
475 |
476 |
477 |
478 |
479 |
480 |
481 |
482 |
483 | # A ParsedProtocol encapsulates many previously-defined movers and/or filters into a
484 | # single mover. This instance defines a series of steps carried out for every
485 | # solution found by the initial generalized kinematic closure attempts to close the
486 | # peptide. These steps include filtering based on total hydrogen bonds, presence of
487 | # oversaturated acceptors, and clashes, design and minimization, additional filtering,
488 | # and a more expensive FastDesign round if minimal shape complementarity requirements
489 | # are met after the low-cost steps carried out thus far. The pattern is to go from
490 | # inexpensive to expensive computations, deciding whether to discard the attempt or to
491 | # continue after each step:
492 |
493 |
494 |
495 |
496 |
497 |
498 |
499 |
500 |
501 |
502 |
503 |
504 |
505 |
506 |
507 |
508 |
509 |
510 |
511 | # Generalized kinematic closure (GeneralizedKIC) allows efficient sampling of the
512 | # closed conformations of a chain of atoms, with rapid solution of a series of
513 | # equations to determine values of certain degrees of freedom in order to keep the
514 | # chain closed. This instance is configured to perform the initial closure of the
515 | # peptide macrocycle. For each closed conformation sampled, the steps listed in the
516 | # previous ParsedProtocol mover are carried out, and the conformation iis accepted if
517 | # and only if all steps pass:
518 |
522 |
523 |
524 |
525 |
526 |
527 |
528 |
529 |
531 |
532 |
533 |
534 |
535 |
536 |
537 |
538 |
539 |
540 |
541 | # A second GeneralizedKIC mover is used to perturb the closed peptide macrocycle
542 | # during the Monte Carlo search. For each perturbation, these steps (checking for
543 | # oversaturated hbond acceptors, counting total hbonds) are carried out:
544 |
545 |
546 |
547 |
548 |
549 |
550 | # This is the second GeneralizedKIC mover. This one is configured to add a small,
551 | # random perturbation to an already-closed peptide macrocycle, ensuring that the
552 | # macrocycle remains closed after the perturbation. It is used in the context of a
553 | # Monte Carlo search of local conformations:
554 |
558 |
559 |
560 |
561 |
562 |
563 |
564 |
565 |
567 |
568 |
569 |
570 |
571 |
572 |
573 |
574 |
575 |
576 |
577 |
578 |
579 |
580 |
581 |
582 |
583 |
584 | # These movers are used only for debugging, and not in production runs:
585 |
587 |
589 |
590 | # This is the series of steps performed as the move in the Monte Carlo search. First,
591 | # the stub and the macrocycle are perturbed slightly. Next, a quick round of design
592 | # is carried out, followed by side chain minimization. Then, filters are applied.
593 | # Then, the backbone is minimized, followed by more filtering. If all of this
594 | # passes, the move is accepted or rejected by the Metropolis criterion:
595 |
596 | Add mover=record_traj_accepted /> #COMMENTED OUT FOR PRODUCTION RUNS.
597 |
598 |
599 |
600 |
601 |
602 | Add mover=record_traj /> #COMMENTED OUT FOR PRODUCTION RUNS.
603 |
604 |
605 |
606 |
607 |
608 |
609 |
610 | # This mover actually carries out the Monte Carlo search of local conformation space,
611 | # executing the series of steps in the previous ParsedProtocol as the moves in the
612 | # search:
613 |
615 |
616 | # FsstRelax performs alternating rounds of side chain packing and minimization,
617 | # keeping sequence fixed but ramping repulsive terms in the scoring function. It is
618 | # used for final structural refinement:
619 |
622 |
623 |
624 |
625 |
626 |
627 |
628 |
629 |
630 |
631 |
632 |
633 |
634 |
635 |
636 |
637 |
638 | # The PROTOCOLS section strings together previously-defined movers and filters to
639 | # construct an overall protocol. Our overall protocol is to initialize the structure
640 | # and apply suitable constraints, perform an initial closure of the macrocycle in which
641 | # an initial sequence is designed, then carry out a Monte Carlo search of the local
642 | # conformational space, redesigning the macrocycle sequence at each step. Final
643 | # relaxation and filtering to measure shape complementarity complete the protocol.
644 |
645 |
646 |
647 |
648 |
649 |
650 |
651 |
652 |
653 |
654 |
655 |
656 |
657 |
658 | #Snap O & H atoms at cutpoint back to ideal positions.
659 |
660 |
661 |
662 |
663 | # The OUTPUT section defines the scoring function that will be used to produce the final
664 | # score for the structure.
665 |
666 |
667 |
--------------------------------------------------------------------------------
/NDM1i-1_design_script/original/xml/design_8res_setup.xml:
--------------------------------------------------------------------------------
1 |
25 |
26 |
27 | # This script takes as input PDB structure 4EXS in which the L-captopril has been
28 | # converted to a D-cysteine, L-proline dipeptide stub. It then extends this stub,
29 | # prepending three glycine residues and appending three glycine residues. Finally, it
30 | # sets the omega torsion angles of all of these residues to 180 degrees.
31 | #
32 | # This script was tested against Rosetta weekly release 2016.46 (Git SHA1
33 | # 47669d9d2e9f659f4889dc89ee6305575dd87c2e). It is NOT RECOMMENDED if the newer
34 | # scripts for Rosetta 3.13 can be used instead, and is provided ONLY for scientific
35 | # reproducibility!
36 |
37 | # Scorefunctions are defined in this section. These are primarily energy functions,
38 | # though they can be modified or enhanced with additional scoring terms for particular
39 | # tasks.
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 | # Movers are declared in this section. These modify a structure in some way.
53 |
54 | # The PeptideStubMover appends or prepends residues to an existing structure.
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 | # The AtomTree mover is used to define the kinematic relationships in the structure,
65 | # and to indicate which sections will move and which will remain fixed when a bond is
66 | # rotated.
67 |
68 |
69 | # The SetTorsion mover sets mainchain torsions to user-defined values.
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 | # The DeclareBond mover is used to connect the first and last residues of the
82 | # newly-extended peptide with an amide bond. Currently, this bond geometry will be
83 | # badly distorted.
84 |
87 |
88 |
89 | # Previously-defined movers are listed here as a series of steps to perform to define a
90 | # protocol.
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 | # This section indicates the energy function that will be used to return a final score on
99 | # output.
100 |
101 |
102 |
--------------------------------------------------------------------------------
/NDM1i-3D_binding_mode_comparison_script/inputs/design.flags:
--------------------------------------------------------------------------------
1 | -in:file:s inputs/design_NDM1i_3D.pdb
2 | -in:file:fullatom
3 | -parser:protocol xml/minimize_and_score.xml
4 | -script_vars foldtree_file=inputs/foldtree_design.txt
5 |
--------------------------------------------------------------------------------
/NDM1i-3D_binding_mode_comparison_script/inputs/foldtree_design.txt:
--------------------------------------------------------------------------------
1 | FOLD_TREE
2 | EDGE 209 1 -1
3 | EDGE 209 229 -1
4 | EDGE 209 230 1
5 | EDGE 209 231 2
6 | EDGE 209 232 3
7 | JEDGE 231 237 4 ZN SG INTRA_RES_STUB
8 | EDGE 237 233 -1
9 | EDGE 237 240 -1
--------------------------------------------------------------------------------
/NDM1i-3D_binding_mode_comparison_script/inputs/foldtree_xtal.txt:
--------------------------------------------------------------------------------
1 | FOLD_TREE
2 | EDGE 209 1 -1
3 | EDGE 209 229 -1
4 | EDGE 209 230 1
5 | EDGE 209 231 2
6 | EDGE 209 232 3
7 | JEDGE 231 237 4 CD OE2 INTRA_RES_STUB
8 | EDGE 237 233 -1
9 | EDGE 237 240 -1
--------------------------------------------------------------------------------
/NDM1i-3D_binding_mode_comparison_script/inputs/xtal.flags:
--------------------------------------------------------------------------------
1 | -in:file:s inputs/xtal_NDM1i_3D_trimmed.pdb
2 | -in:file:fullatom
3 | -parser:protocol xml/minimize_and_score.xml
4 | -script_vars foldtree_file=inputs/foldtree_xtal.txt
5 |
--------------------------------------------------------------------------------
/NDM1i-3D_binding_mode_comparison_script/xml/minimize_and_score.xml:
--------------------------------------------------------------------------------
1 |
25 |
26 |
27 |
33 |
38 |
39 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
58 |
59 |
60 |
61 |
62 |
65 |
68 |
71 |
72 |
73 |
76 |
80 |
84 |
87 |
90 |
92 |
93 |
98 |
99 |
100 |
103 |
104 |
105 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
118 |
119 |
120 |
--------------------------------------------------------------------------------
/NDM1i-3_design_script/modernized/.gitignore:
--------------------------------------------------------------------------------
1 | *.pdb
2 | *.sc
3 |
--------------------------------------------------------------------------------
/NDM1i-3_design_script/modernized/inputs/foldtree1.txt:
--------------------------------------------------------------------------------
1 | FOLD_TREE EDGE 1 27 -1 EDGE 1 231 1 EDGE 231 28 -1 EDGE 182 232 2 EDGE 79 234 3 EDGE 167 233 4 EDGE 233 238 5 EDGE 238 235 -1 EDGE 238 242 -1
2 |
--------------------------------------------------------------------------------
/NDM1i-3_design_script/modernized/inputs/neg_phi.resfile:
--------------------------------------------------------------------------------
1 | PIKAA FAILYVWDERKSTNQHPX[AIB]X[A12]X[A91]X[ORN]X[DAB]X[DPP]X[NLU]X[NVL]X[A34]X[A68]X[A94]X[B30]X[B96]X[C27]X[B44]X[B67]X[B74]
2 | start
3 | 237 E PIKAA FAILYVWPX[AIB]X[A12]X[A91]X[NLU]X[NVL]X[A34]X[A68]X[A94]X[B30]X[B96]X[C27]X[B44]X[B67]X[B74]
4 | 240 E PIKAA FAILYVWPX[AIB]X[A12]X[A91]X[NLU]X[NVL]X[A34]X[A68]X[A94]X[B30]X[B96]X[C27]X[B44]X[B67]X[B74]
5 |
--------------------------------------------------------------------------------
/NDM1i-3_design_script/modernized/inputs/net_positive.charge:
--------------------------------------------------------------------------------
1 | DESIRED_CHARGE 1
2 | PENALTIES_CHARGE_RANGE -1 2
3 | PENALTIES 100 25 0 0
4 | BEFORE_FUNCTION QUADRATIC
5 | AFTER_FUNCTION CONSTANT
6 |
--------------------------------------------------------------------------------
/NDM1i-3_design_script/modernized/inputs/peptide.comp:
--------------------------------------------------------------------------------
1 | #At most, one (or possibly two) exotic NCAAs:
2 | PENALTY_DEFINITION
3 | TYPE A12 A91 NLU NVL A34 A68 A94 B30 B96 C27 B44 B67 B74 A69 B12
4 | DELTA_START -1
5 | DELTA_END 3
6 | PENALTIES 0 0 2 15 65
7 | ABSOLUTE 0
8 | BEFORE_FUNCTION CONSTANT
9 | AFTER_FUNCTION QUADRATIC
10 | END_PENALTY_DEFINITION
11 |
12 | #Exactly one ASP or GLU:
13 | #PENALTY_DEFINITION
14 | #TYPE ASP GLU
15 | #DELTA_START -1
16 | #DELTA_END 1
17 | #PENALTIES 100 0 0
18 | #ABSOLUTE 1
19 | #BEFORE_FUNCTION QUADRATIC
20 | #AFTER_FUNCTION CONSTANT
21 | #END_PENALTY_DEFINITION
22 |
23 | #At least 2 hydrophobic:
24 | PENALTY_DEFINITION
25 | PROPERITES HYDROPHOBIC
26 | DELTA_START -1
27 | DELTA_END 1
28 | PENALTIES 20 0 0
29 | ABSOLUTE 3
30 | BEFORE_FUNCTION QUADRATIC
31 | AFTER_FUNCTION CONSTANT
32 | END_PENALTY_DEFINITION
33 |
34 | #At least 3 proline:
35 | PENALTY_DEFINITION
36 | TYPE PRO DPR HYP
37 | DELTA_START -2
38 | DELTA_END 1
39 | PENALTIES 20 7 0 0
40 | ABSOLUTE 3
41 | BEFORE_FUNCTION QUADRATIC
42 | AFTER_FUNCTION CONSTANT
43 | END_PENALTY_DEFINITION
44 |
45 | #At least 4 proline or AIB:
46 | PENALTY_DEFINITION
47 | TYPE PRO DPR AIB HYP
48 | DELTA_START -2
49 | DELTA_END 1
50 | PENALTIES 20 7 0 0
51 | ABSOLUTE 4
52 | BEFORE_FUNCTION QUADRATIC
53 | AFTER_FUNCTION CONSTANT
54 | END_PENALTY_DEFINITION
55 |
56 | #At most 2 aromatic:
57 | PENALTY_DEFINITION
58 | PROPERTIES AROMATIC
59 | DELTA_START -1
60 | DELTA_END 1
61 | PENALTIES 0 0 20
62 | ABSOLUTE 2
63 | BEFORE_FUNCTION CONSTANT
64 | AFTER_FUNCTION QUADRATIC
65 | END_PENALTY_DEFINITION
66 |
67 | #At most 1 methionine:
68 | PENALTY_DEFINITION
69 | TYPE MET DME
70 | DELTA_START -1
71 | DELTA_END 1
72 | PENALTIES 0 0 50
73 | ABSOLUTE 1
74 | BEFORE_FUNCTION CONSTANT
75 | AFTER_FUNCTION QUADRATIC
76 | END_PENALTY_DEFINITION
77 |
78 | #At most 1 alanine:
79 | PENALTY_DEFINITION
80 | TYPE ALA DAL
81 | DELTA_START -1
82 | DELTA_END 1
83 | PENALTIES 0 0 50
84 | ABSOLUTE 1
85 | BEFORE_FUNCTION CONSTANT
86 | AFTER_FUNCTION QUADRATIC
87 | END_PENALTY_DEFINITION
88 |
89 | #At most 1 serine:
90 | PENALTY_DEFINITION
91 | TYPE SER DSE
92 | DELTA_START -1
93 | DELTA_END 1
94 | PENALTIES 0 0 50
95 | ABSOLUTE 1
96 | BEFORE_FUNCTION CONSTANT
97 | AFTER_FUNCTION QUADRATIC
98 | END_PENALTY_DEFINITION
99 |
--------------------------------------------------------------------------------
/NDM1i-3_design_script/modernized/inputs/peptide_buried.comp:
--------------------------------------------------------------------------------
1 | #Ramping penalty for any not hydrophobic
2 | PENALTY_DEFINITION
3 | PROPERITES HYDROPHOBIC
4 | DELTA_START -1
5 | DELTA_END 1
6 | PENALTIES 20 0 0
7 | FRACTION 1.0
8 | BEFORE_FUNCTION QUADRATIC
9 | AFTER_FUNCTION CONSTANT
10 | END_PENALTY_DEFINITION
11 |
--------------------------------------------------------------------------------
/NDM1i-3_design_script/modernized/inputs/peptide_surf.comp:
--------------------------------------------------------------------------------
1 | #Ramping penalty for any hydrophobic
2 | PENALTY_DEFINITION
3 | PROPERITES HYDROPHOBIC
4 | DELTA_START -1
5 | DELTA_END 1
6 | PENALTIES 0 0 20
7 | FRACTION 0
8 | BEFORE_FUNCTION CONSTANT
9 | AFTER_FUNCTION QUADRATIC
10 | END_PENALTY_DEFINITION
11 |
--------------------------------------------------------------------------------
/NDM1i-3_design_script/modernized/inputs/pos_phi.resfile:
--------------------------------------------------------------------------------
1 | PIKAA X[AIB]X[DPH]X[DAL]X[DIL]X[DLE]X[DTY]X[DVA]X[DTR]X[DAS]X[DGU]X[DAR]X[DLY]X[DSE]X[DTH]X[DAN]X[DGN]X[DHI]X[DPR]X[DA12]X[DA91]X[DORN]X[DDAB]X[DDPP]X[DNLU]X[DNVL]X[DA34]X[DA68]X[DA94]X[DB30]X[DB96]X[DC27]X[DB44]X[DB67]X[DB74]
2 | start
3 | 237 E PIKAA X[DPH]X[DAL]X[DIL]X[DLE]X[DTY]X[DVA]X[DTR]X[DPR]X[AIB]X[DA12]X[DA91]X[DNLU]X[DNVL]X[DA34]X[DA68]X[DA94]X[DB30]X[DB96]X[DC27]X[DB44]X[DB67]X[DB74]
4 | 240 E PIKAA X[DPH]X[DAL]X[DIL]X[DLE]X[DTY]X[DVA]X[DTR]X[DPR]X[AIB]X[DA12]X[DA91]X[DNLU]X[DNVL]X[DA34]X[DA68]X[DA94]X[DB30]X[DB96]X[DC27]X[DB44]X[DB67]X[DB74]
5 |
--------------------------------------------------------------------------------
/NDM1i-3_design_script/modernized/inputs/rosetta.flags:
--------------------------------------------------------------------------------
1 | # The number of designs to generate. On most computing clusters, this can be set to a high
2 | # number, and jobs can be permitted to end when their time limit is reached:
3 | -nstruct 1000
4 |
5 | # The XML file to pass to the RosettaScripts parser:
6 | -parser:protocol xml/NDM1i_3_design.xml
7 |
8 | # The input PDB file, interpreted as a full-atom model (as opposed to a centroid model):
9 | -in:file:s inputs/Moriarty_xtal_chainB_pep_opened.pdb
10 | -in:file:fullatom
11 |
12 | # Output should include CONECT records for all bonded atoms, to aid visualization in PyMOL:
13 | -write_all_connect_info
14 |
15 | # Since glycine Ramachandran tables used for scoring are based on statistics from the Protein
16 | # Data Bank, they are biased towards glycine residues in positive-phi regions of Ramachandran
17 | # space. When designing with D-amino acids, the following correction should always be
18 | # applied:
19 | -symmetric_gly_tables true
20 |
21 | # Do not exit with error status if some jobs fail (e.g. due to filters failing):
22 | -jd2:failed_job_exception false
23 |
24 | # The following line should be uncommented for production runs, to prevent writing of a large
25 | # output log:
26 | #-mute all
27 |
--------------------------------------------------------------------------------
/NDM1i-3_design_script/modernized/xml/NDM1i_3_design.xml:
--------------------------------------------------------------------------------
1 |
25 |
26 |
27 | # This script is used to design NDM1i-3 peptides, which include exotic non-canonical
28 | # amino acids in the palette of allowed amino acid types. It was tested with
29 | # the most recent version of Rosetta available (Git SHA1
30 | # 83d83e41283ef44a6ae652f9450c57dc680ec32d) built with GCC 9.3.0 on Centos Linux 7.
31 | #
32 | # For full scientific reproducibility, please refer to the legacy script provided
33 | # in Section 2.2.3.
34 |
35 | # Scoring functions are defined in this section:
36 |
37 | # The default enegy function for Rosetta:
38 |
39 |
40 | # A variant of the default energy function with constraint terms activated,
41 | # and the chainbreak term (which preserves amide bond geometry during
42 | # energy-minimization) upweighted.
43 |
44 |
45 |
46 |
47 |
48 | # A version of the energy function used for design. This activates a number
49 | # of design-centric guidance terms, including the voids_penalty term (which
50 | # penalizes holes or voids in cores or interfaces), the hbnet term (which
51 | # encourages hydrogen bond networks), the netcharge term (which allows control
52 | # over the net charge of the peptide), and the buried_unsatisfied_penalty term
53 | # (which adds a penalty for buried hydrogen bond donors and acceptors that
54 | # are not involved in a hydrogen bond):
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 | # A variation of the above energy function, used for scoring the structure when
71 | # selecting top structures from the generalized kinematic closure step.
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 | # This section defines residue selectors, which select sets of residues in a structure
86 | # based on user-defined rules.
87 |
88 | # Select the peptide and the hinge loop, all of which will be permitted to
89 | # move during energy minimization:
90 |
91 |
92 | # Select the hinge loop and the portion of the peptide that will be
93 | # weakly constrained to prevent major motions during energy minimization:
94 |
95 |
96 | # Select the peptide:
97 |
98 |
99 | # Select the target:
100 |
101 |
102 | # Select the positions in the peptide for which the amino acid identity
103 | # is not fixed:
104 |
105 |
106 | # Select positions that can be D-amino acids (positive-phi region of
107 | # Ramachandran space):
108 |
109 |
110 | # Select positions that can be L-amino acids (negative-phi region of
111 | # Ramachandran space):
112 |
113 |
114 | # Select designable positions that can be D-amino acids:
115 |
117 |
118 | # Select designable positions that can be L-amino acids:
119 |
121 |
122 | # Select positions for which the amino acid identity is fixed:
123 |
124 |
125 | # Select target positions that are close to the peptide in space. (Also
126 | # selects the peptide):
127 |
128 |
129 | # Select target positions that are far from the peptide in space:
130 |
131 |
132 | # Select target positions that are within 4.5 A of the peptide in space.
133 | # Also selects the peptide:
134 |
135 |
136 | # Select target positions that are more than 4.5 A from the peptide in
137 | # space:
138 |
139 |
140 | # Select positions for which the backbone is movable, or which are close to the
141 | # peptide:
142 |
143 |
144 | # Select positions which should receive upper cutpoint variant types (within the
145 | # macrocycle and the hinge loop:
146 |
147 |
148 | # Select positions which should receive lower cutpoint variant types (within the
149 | # macrocycle and the hinge loop:
150 |
151 |
152 | # Select positions that are buried:
153 |
155 |
156 | # Select positions that are exposed:
157 |
158 |
159 | # Select buried positions within the peptide:
160 |
161 |
162 | # Select exposed positions within the peptide:
163 |
164 |
165 |
166 | # Packer palettes define the set of amino acid types with which we are
167 | # designing, in the absence of any task operations. Task operations
168 | # can then prune allowed types away in on a position-specific basis:
169 |
170 | # This packer palette activates a set of non-canonical amino acids with exotic
171 | # side chains:
172 |
175 |
176 |
177 | # Task operations, which control the Rosetta packer, are defined here:
178 |
179 | # Only allow residues within 8 A of the peptide to repack or be designed:
180 |
181 |
182 |
183 |
184 | # Only allow residues within 4.5 A of the peptide to repack or be designed:
185 |
188 |
189 |
190 |
191 | # Restrict non-peptide positions to repacking; design only the peptide:
192 |
195 |
196 |
197 |
198 | # Include the input rotamer among those to be considered:
199 |
200 |
201 | # Set the allowed residue types (D-amino acids) at positive phi positions.
202 | # Note that this uses resfiles that have been updated for resfile syntax
203 | # compatible with newer versions of Rosetta:
204 |
206 |
207 | # Set the allowed residue types (L-amino acids) at negative phi positions.
208 | # See note above about the current resfile syntax and Rosetta versions:
209 |
211 |
212 | # Allow more finely-sampled rotamers:
213 |
214 |
215 |
216 | # Filters, which analyze structures and reject or accept them based on measured
217 | # properties, are defined here:
218 |
219 | # Measure the shape complementarity of the peptide to the binding pocket:
220 |
223 |
224 | # Measure the total volume of buried cavities. (Only used for measurement):
225 |
226 |
227 | # The following lines are used to count internal backbone hydrogen bonds
228 | # within the peptide. Note that the PeptideInternalHbondsFilter is much
229 | # more efficient than the legacy approach that was used in 2018:
230 |
233 |
234 | # Require at least 2 hydrogen bonds to residue 237:
235 |
238 |
239 | # Prohibit more than two hydrogen bonds to each acceptor:
240 |
243 |
246 |
247 |
248 | # Jump selectors are used to select rigid-body transforms in the fold tree:
249 |
250 | # Jump 1 is the rigid-body transform from the start of the NDM-1 target to the
251 | # end. The NDM-1 chain is split into two segments to allow the hinge loop to
252 | # move with both ends of the loop rooted to unmovable segments of the body of
253 | # the protein. To keep the body of the protein fixed, the rigid-body transform
254 | # from the first residue to the last must be fixed:
255 |
256 |
257 | # All other rigid-body transforms (to the zinc atoms, to the peptide) are
258 | # permitted to move during energy minimization:
259 |
260 |
261 |
262 | # Move map factories define which parts of a structure can move and which parts are
263 | # fixed during energy minimization:
264 |
265 | # Keep the structure fixed except for side chains near the peptide or hinge
266 | # loop, backbone of the peptide and hing loop, and rigid-body transforms
267 | # other than the transform relating the first and last residues of the
268 | # (split) NDM-1 chain:
269 |
270 |
271 |
272 |
273 |
274 |
275 |
276 | # Movers are defined here. They operate on a structure to alter it in some way:
277 |
278 | # This mover adds back the residue that was deleted in order to open up
279 | # the peptide to experiment with 9mers and 10mers. Here, we're simply
280 | # restoring the peptide length to an 8mer:
281 |
282 |
283 |
284 |
285 | # This converts position 235 to a glycine to allow unbiased conformational
286 | # sampling of conformations favoured by both L- and D-amino acids:
287 |
288 |
289 | # The DeclareBond mover is used both to indicate that there is a chemical
290 | # bond between the first and last residues (preventing the proximity of
291 | # the N- and C-termini from being interpreted as a clash), and also to
292 | # update the position of O and H atoms that are dependent on the N-to-C
293 | # amide bonds following energy minimization. This is less essential
294 | # since cutpoints had been updated by 2018.
295 |
296 |
297 | # Since the hinge loop is permitted to move as well, this mover allows the
298 | # positions of O and H atoms at the cutpoint in the HL to be updated, as
299 | # a precaution:
300 |
301 |
302 | # Manually introduce the proline->hydroxyproline mutation at position 7. This
303 | # position in the crystal structure has the potential to make a favourable
304 | # hydrogen bonding interaction with the target.
305 |
306 |
307 | # Add cutpoint variants in the hinge loop and in the peptide macrocycle:
308 |
310 |
312 |
313 |
314 |
315 |
316 |
317 | # Set up the fold tree:
318 |
319 |
320 | # Auto-detect metal-ligand interactions and set up suitable chemical bonds and
321 | # constraints to preserve metal geometry:
322 |
323 |
324 | # Add net charge constraints to the peptide macrocycle requiring a net
325 | # positive charge:
326 |
328 |
329 | # Add amino acid composition constraints to the peptide macrocycle as a whole,
330 | # the buried parts of the macrocycle, and the exposed parts of the macrocycle:
331 |
333 |
335 |
337 |
338 | # Carry out a round of design with energy-minimization:
339 |
343 |
344 | # Final relaxation (packing and energy-minimization), keeping amino acid
345 | # sequence fixed:
346 |
350 |
351 | # Weakly hold the hinge loop and the peptide in place (allowing small motions)
352 | # during energy minimization:
353 |
354 |
357 |
358 |
359 | # Sample small motions of the hinge loop, perturbing it slightly from its
360 | # current conformation while ensuring that the loop remains closed:
361 |
365 |
366 |
367 |
368 |
369 |
370 |
371 |
372 |
373 |
374 |
375 |
377 |
378 |
379 |
380 |
381 |
382 |
383 |
384 |
385 |
386 |
387 |
388 |
389 |
390 |
391 |
392 |
393 |
394 |
395 |
396 |
397 |
398 |
399 |
400 |
401 |
402 |
403 |
404 | # The series of steps performed for each round of design: carry out FastDesign,
405 | # update the O and H atoms on the macrocycle and the hinge loop, ensure that the
406 | # total hydrogen bond count is still over threshold and that residue 237 is
407 | # satisfied, and ensure that no hbond acceptor is oversaturated:
408 |
409 |
410 | # Update O and H atoms in peptide
411 |
412 |
413 |
414 |
415 |
416 |
417 | # The series of steps performed for each round of final relaxation. These are
418 | # similar to the design steps, but FastRelax replaces FastDesign (so that the
419 | # sequence does not change):
420 |
421 |
422 | # Update O and H atoms in peptide
423 |
424 |
425 |
426 |
427 |
428 | # The series of steps performed on each closed solution that the peptide
429 | # macrocycle generalized kinematic closure mover finds. Each conformation
430 | # is first subjected to some filtering steps. The hinge loop is then perturbed,
431 | # and three rounds of design, followed by three rounds of relaxation, are carried
432 | # out. Each round involves filtering steps that can abort the protocol and discard
433 | # the candidate GenKIC solution before the full computational expense has been
434 | # invested:
435 |
436 |
437 |
438 |
439 |
440 |
441 |
442 |
443 |
444 |
445 |
446 |
447 |
448 |
449 | # Generalized kinematic closure to close the peptide macrocycle. Only the upper
450 | # half of the peptide is permitted to move; the lower half preserves the
451 | # conformation from the NDM1i-1G crystal structure:
452 |
456 |
457 |
458 |
459 |
460 |
461 |
463 |
464 |
465 |
466 |
467 |
468 |
469 |
470 |
471 |
472 |
473 |
474 |
475 |
476 |
477 |
478 |
479 |
480 |
481 |
482 |
483 |
484 |
485 |
486 |
487 |
488 | # This section strings together previously-defined movers and filters
489 | # to define the overall protocol that will be applied:
490 |
491 |
492 |
493 |
494 |
495 |
496 |
497 |
498 |
499 |
500 |
501 |
502 |
503 |
504 |
505 |
506 |
507 |
508 | # The final structure is re-scored with the ref2015 energy function:
509 |
510 |
511 |
--------------------------------------------------------------------------------
/NDM1i-3_design_script/original/inputs/foldtree1.txt:
--------------------------------------------------------------------------------
1 | FOLD_TREE EDGE 1 27 -1 EDGE 1 231 1 EDGE 231 28 -1 EDGE 182 232 2 EDGE 79 234 3 EDGE 167 233 4 EDGE 233 238 5 EDGE 238 235 -1 EDGE 238 242 -1
2 |
--------------------------------------------------------------------------------
/NDM1i-3_design_script/original/inputs/neg_phi.resfile:
--------------------------------------------------------------------------------
1 | PIKAA FAILYVWDERKSTNQHP NC AIB NC A12 NC A91 NC ORN NC DAB NC DPP NC NLU NC NVL NC A34 NC A68 NC A94 NC B30 NC B96 NC C27 NC B44 NC B67 NC B74
2 | start
3 | 237 E PIKAA FAILYVWP NC AIB NC A12 NC A91 NC NLU NC NVL NC A34 NC A68 NC A94 NC B30 NC B96 NC C27 NC B44 NC B67 NC B74
4 | 240 E PIKAA FAILYVWP NC AIB NC A12 NC A91 NC NLU NC NVL NC A34 NC A68 NC A94 NC B30 NC B96 NC C27 NC B44 NC B67 NC B74
5 |
--------------------------------------------------------------------------------
/NDM1i-3_design_script/original/inputs/net_positive.charge:
--------------------------------------------------------------------------------
1 | DESIRED_CHARGE 1
2 | PENALTIES_CHARGE_RANGE -1 2
3 | PENALTIES 100 25 0 0
4 | BEFORE_FUNCTION QUADRATIC
5 | AFTER_FUNCTION CONSTANT
6 |
--------------------------------------------------------------------------------
/NDM1i-3_design_script/original/inputs/peptide.comp:
--------------------------------------------------------------------------------
1 | #At most, one (or possibly two) exotic NCAAs:
2 | PENALTY_DEFINITION
3 | TYPE A12 A91 NLU NVL A34 A68 A94 B30 B96 C27 B44 B67 B74 A69 B12
4 | DELTA_START -1
5 | DELTA_END 3
6 | PENALTIES 0 0 2 15 65
7 | ABSOLUTE 0
8 | BEFORE_FUNCTION CONSTANT
9 | AFTER_FUNCTION QUADRATIC
10 | END_PENALTY_DEFINITION
11 |
12 | #Exactly one ASP or GLU:
13 | #PENALTY_DEFINITION
14 | #TYPE ASP GLU
15 | #DELTA_START -1
16 | #DELTA_END 1
17 | #PENALTIES 100 0 0
18 | #ABSOLUTE 1
19 | #BEFORE_FUNCTION QUADRATIC
20 | #AFTER_FUNCTION CONSTANT
21 | #END_PENALTY_DEFINITION
22 |
23 | #At least 2 hydrophobic:
24 | PENALTY_DEFINITION
25 | PROPERITES HYDROPHOBIC
26 | DELTA_START -1
27 | DELTA_END 1
28 | PENALTIES 20 0 0
29 | ABSOLUTE 3
30 | BEFORE_FUNCTION QUADRATIC
31 | AFTER_FUNCTION CONSTANT
32 | END_PENALTY_DEFINITION
33 |
34 | #At least 3 proline:
35 | PENALTY_DEFINITION
36 | TYPE PRO DPR HYP
37 | DELTA_START -2
38 | DELTA_END 1
39 | PENALTIES 20 7 0 0
40 | ABSOLUTE 3
41 | BEFORE_FUNCTION QUADRATIC
42 | AFTER_FUNCTION CONSTANT
43 | END_PENALTY_DEFINITION
44 |
45 | #At least 4 proline or AIB:
46 | PENALTY_DEFINITION
47 | TYPE PRO DPR AIB HYP
48 | DELTA_START -2
49 | DELTA_END 1
50 | PENALTIES 20 7 0 0
51 | ABSOLUTE 4
52 | BEFORE_FUNCTION QUADRATIC
53 | AFTER_FUNCTION CONSTANT
54 | END_PENALTY_DEFINITION
55 |
56 | #At most 2 aromatic:
57 | PENALTY_DEFINITION
58 | PROPERTIES AROMATIC
59 | DELTA_START -1
60 | DELTA_END 1
61 | PENALTIES 0 0 20
62 | ABSOLUTE 2
63 | BEFORE_FUNCTION CONSTANT
64 | AFTER_FUNCTION QUADRATIC
65 | END_PENALTY_DEFINITION
66 |
67 | #At most 1 methionine:
68 | PENALTY_DEFINITION
69 | TYPE MET DME
70 | DELTA_START -1
71 | DELTA_END 1
72 | PENALTIES 0 0 50
73 | ABSOLUTE 1
74 | BEFORE_FUNCTION CONSTANT
75 | AFTER_FUNCTION QUADRATIC
76 | END_PENALTY_DEFINITION
77 |
78 | #At most 1 alanine:
79 | PENALTY_DEFINITION
80 | TYPE ALA DAL
81 | DELTA_START -1
82 | DELTA_END 1
83 | PENALTIES 0 0 50
84 | ABSOLUTE 1
85 | BEFORE_FUNCTION CONSTANT
86 | AFTER_FUNCTION QUADRATIC
87 | END_PENALTY_DEFINITION
88 |
89 | #At most 1 serine:
90 | PENALTY_DEFINITION
91 | TYPE SER DSE
92 | DELTA_START -1
93 | DELTA_END 1
94 | PENALTIES 0 0 50
95 | ABSOLUTE 1
96 | BEFORE_FUNCTION CONSTANT
97 | AFTER_FUNCTION QUADRATIC
98 | END_PENALTY_DEFINITION
99 |
--------------------------------------------------------------------------------
/NDM1i-3_design_script/original/inputs/peptide_buried.comp:
--------------------------------------------------------------------------------
1 | #Ramping penalty for any not hydrophobic
2 | PENALTY_DEFINITION
3 | PROPERITES HYDROPHOBIC
4 | DELTA_START -1
5 | DELTA_END 1
6 | PENALTIES 20 0 0
7 | FRACTION 1.0
8 | BEFORE_FUNCTION QUADRATIC
9 | AFTER_FUNCTION CONSTANT
10 | END_PENALTY_DEFINITION
11 |
--------------------------------------------------------------------------------
/NDM1i-3_design_script/original/inputs/peptide_surf.comp:
--------------------------------------------------------------------------------
1 | #Ramping penalty for any hydrophobic
2 | PENALTY_DEFINITION
3 | PROPERITES HYDROPHOBIC
4 | DELTA_START -1
5 | DELTA_END 1
6 | PENALTIES 0 0 20
7 | FRACTION 0
8 | BEFORE_FUNCTION CONSTANT
9 | AFTER_FUNCTION QUADRATIC
10 | END_PENALTY_DEFINITION
11 |
--------------------------------------------------------------------------------
/NDM1i-3_design_script/original/inputs/pos_phi.resfile:
--------------------------------------------------------------------------------
1 | EMPTY NC AIB NC DPH NC DAL NC DIL NC DLE NC DTY NC DVA NC DTR NC DAS NC DGU NC DAR NC DLY NC DSE NC DTH NC DAN NC DGN NC DHI NC DPR NC DA12 NC DA91 NC DORN NC DDAB NC DDPP NC DNLU NC DNVL NC DA34 NC DA68 NC DA94 NC DB30 NC DB96 NC DC27 NC DB44 NC DB67 NC DB74
2 | start
3 | 237 E EMPTY NC DPH NC DAL NC DIL NC DLE NC DTY NC DVA NC DTR NC DPR NC AIB NC DA12 NC DA91 NC DNLU NC DNVL NC DA34 NC DA68 NC DA94 NC DB30 NC DB96 NC DC27 NC DB44 NC DB67 NC DB74
4 | 240 E EMPTY NC DPH NC DAL NC DIL NC DLE NC DTY NC DVA NC DTR NC DPR NC AIB NC DA12 NC DA91 NC DNLU NC DNVL NC DA34 NC DA68 NC DA94 NC DB30 NC DB96 NC DC27 NC DB44 NC DB67 NC DB74
5 |
--------------------------------------------------------------------------------
/NDM1i-3_design_script/original/inputs/rosetta.flags:
--------------------------------------------------------------------------------
1 | # On most clusters with queueing systems, it is simplest to set the number of output
2 | # structures to a large number and to allow Rosetta to write structures until the job times
3 | # out:
4 | -nstruct 1000
5 |
6 | # The input RosettaScripts XML file:
7 | -parser:protocol xml/NDM1i_3_design_legacy.xml
8 |
9 | # The input PDB file (interpreted as an all-atom representation):
10 | -in:file:s inputs/Moriarty_xtal_chainB_pep_opened.pdb
11 | -in:file:fullatom
12 |
13 | # Output PDB files should include CONECT records for all bonds to aid visualization:
14 | -write_all_connect_info
15 |
16 | # Since glycine Ramachandran tables used for scoring are based on statistics from the Protein
17 | # Data Bank, they are biased towards glycine residues in positive-phi regions of Ramachandran
18 | # space. When designing with D-amino acids, the following correction should always be
19 | # applied:
20 | -symmetric_gly_tables true
21 |
22 | # Since some jobs are expected to fail due to filters that don’t pass, we do not want the
23 | # executable to exit with failure status if there are some failures:
24 | -jd2:failed_job_exception false
25 |
26 | # The following line should be uncommented for production runs, to prevent writing of a large
27 | # output log:
28 | #-mute all
29 |
--------------------------------------------------------------------------------
/NDM1i-3_design_script/original/xml/NDM1i_3_design_legacy.xml:
--------------------------------------------------------------------------------
1 |
25 |
26 |
27 | # This script is used to design NDM1i-3 peptides, which include exotic non-canonical
28 | # amino acids in the palette of allowed amino acid types. It was tested with
29 | # Rosetta weekly build 2018.19 (Git SHA1 44710f97b20e0d4310140acc1e62dc36a249f03f).
30 | #
31 | # Note that this script is provided for full scientific reproducibility. It is
32 | # recommended to sue the modernized script for the current Rosetta release unless
33 | # exact reproduction of the 2018 protocol, bugs and all, is desired
34 |
35 | # Scoring functions are defined in this section:
36 |
37 | # The default enegy function for Rosetta:
38 |
39 |
40 | # A variant of the default energy function with constraint terms activated,
41 | # and the chainbreak term (which preserves amide bond geometry during
42 | # energy-minimization) upweighted.
43 |
44 |
45 |
46 |
47 |
48 | # A version of the energy function used for design. This activates a number
49 | # of design-centric guidance terms, including the voids_penalty term (which
50 | # penalizes holes or voids in cores or interfaces), the hbnet term (which
51 | # encourages hydrogen bond networks), the netcharge term (which allows control
52 | # over the net charge of the peptide), and the buried_unsatisfied_penalty term
53 | # (which adds a penalty for buried hydrogen bond donors and acceptors that
54 | # are not involved in a hydrogen bond):
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 | # A variation of the above energy function, used for scoring the structure when
71 | # selecting top structures from the generalized kinematic closure step.
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 | # This section defines residue selectors, which select sets of residues in a structure
86 | # based on user-defined rules.
87 |
88 | # Select the peptide and the hinge loop, all of which will be permitted to
89 | # move during energy minimization:
90 |
91 |
92 | # Select the hinge loop and the portion of the peptide that will be
93 | # weakly constrained to prevent major motions during energy minimization:
94 |
95 |
96 | # Select the peptide:
97 |
98 |
99 | # Select the target:
100 |
101 |
102 | # Select the positions in the peptide for which the amino acid identity
103 | # is not fixed:
104 |
105 |
106 | # Select positions that can be D-amino acids (positive-phi region of
107 | # Ramachandran space):
108 |
109 |
110 | # Select positions that can be L-amino acids (negative-phi region of
111 | # Ramachandran space):
112 |
113 |
114 | # Select designable positions that can be D-amino acids:
115 |
117 |
118 | # Select designable positions that can be L-amino acids:
119 |
121 |
122 | # Select positions for which the amino acid identity is fixed:
123 |
124 |
125 | # Select target positions that are close to the peptide in space. (Also
126 | # selects the peptide):
127 |
128 |
129 | # Select target positions that are far from the peptide in space:
130 |
131 |
132 | # Select target positions that are within 4.5 A of the peptide in space.
133 | # Also selects the peptide:
134 |
135 |
136 | # Select target positions that are more than 4.5 A from the peptide in
137 | # space:
138 |
139 |
140 | # Select positions for which the backbone is movable, or which are close to the
141 | # peptide:
142 |
143 |
144 | # Select positions which should receive upper cutpoint variant types (within the
145 | # macrocycle and the hinge loop:
146 |
147 |
148 | # Select positions which should receive lower cutpoint variant types (within the
149 | # macrocycle and the hinge loop:
150 |
151 |
152 | # Select positions that are buried:
153 |
155 |
156 | # Select positions that are exposed:
157 |
158 |
159 | # Select buried positions within the peptide:
160 |
161 |
162 | # Select exposed positions within the peptide:
163 |
164 |
165 |
166 | # Task operations, which control the Rosetta packer, are defined here:
167 |
168 | # Only allow residues within 8 A of the peptide to repack or be designed:
169 |
170 |
171 |
172 |
173 | # Only allow residues within 4.5 A of the peptide to repack or be designed:
174 |
177 |
178 |
179 |
180 | # Restrict non-peptide positions to repacking; design only the peptide:
181 |
184 |
185 |
186 |
187 | # Include the input rotamer among those to be considered:
188 |
189 |
190 | # Set the allowed residue types (D-amino acids) at positive phi positions.
191 | # Note that this uses the outdated convention for non-canonicals, and will
192 | # fail for newer versions of Rosetta. The modernized script should be used
193 | # instead with newer Rosetta releases:
194 |
196 |
197 | # Set the allowed residue types (L-amino acids) at negative phi positions.
198 | # See note above about the legacy resfile syntax and Rosetta versions:
199 |
201 |
202 | # Allow more finely-sampled rotamers:
203 |
204 |
205 |
206 | # Filters, which analyze structures and reject or accept them based on measured
207 | # properties, are defined here:
208 |
209 | # Measure the shape complementarity of the peptide to the binding pocket:
210 |
213 |
214 | # Measure the total volume of buried cavities. (Only used for measurement):
215 |
216 |
217 | # The following lines are used to count internal backbone hydrogen bonds within
218 | # the peptide. They are a cumbersome and computationally inefficient way to do
219 | # this, and have been replaced with the PeptideInternalHbondsFilter and the
220 | # PeptideInternalHbondsMetric in newer versions of Rosetta. As configured, the
221 | # filters will reject any structure in which there are fewer than 2 internal
222 | # hydrogen bonds. (Note that each bond is counted twice, so the cutoff is 4).
223 |
226 |
229 |
232 |
235 |
238 |
241 |
244 |
247 |
248 |
249 |
250 |
251 |
252 |
253 |
254 |
255 |
256 |
257 |
258 | # Require at least 2 hydrogen bonds to residue 237:
259 |
262 |
263 | # Prohibit more than two hydrogen bonds to each acceptor:
264 |
267 |
270 |
271 |
272 | # Jump selectors are used to select rigid-body transforms in the fold tree:
273 |
274 | # Jump 1 is the rigid-body transform from the start of the NDM-1 target to the
275 | # end. The NDM-1 chain is split into two segments to allow the hinge loop to
276 | # move with both ends of the loop rooted to unmovable segments of the body of
277 | # the protein. To keep the body of the protein fixed, the rigid-body transform
278 | # from the first residue to the last must be fixed:
279 |
280 |
281 | # All other rigid-body transforms (to the zinc atoms, to the peptide) are
282 | # permitted to move during energy minimization:
283 |
284 |
285 |
286 | # Move map factories define which parts of a structure can move and which parts are
287 | # fixed during energy minimization:
288 |
289 | # Keep the structure fixed except for side chains near the peptide or hinge
290 | # loop, backbone of the peptide and hing loop, and rigid-body transforms
291 | # other than the transform relating the first and last residues of the
292 | # (split) NDM-1 chain:
293 |
294 |
295 |
296 |
297 |
298 |
299 |
300 | # Movers are defined here. They operate on a structure to alter it in some way:
301 |
302 | # This mover adds back the residue that was deleted in order to open up
303 | # the peptide to experiment with 9mers and 10mers. Here, we're simply
304 | # restoring the peptide length to an 8mer:
305 |
306 |
307 |
308 |
309 | # This converts position 235 to a glycine to allow unbiased conformational
310 | # sampling of conformations favoured by both L- and D-amino acids:
311 |
312 |
313 | # The DeclareBond mover is used both to indicate that there is a chemical
314 | # bond between the first and last residues (preventing the proximity of
315 | # the N- and C-termini from being interpreted as a clash), and also to
316 | # update the position of O and H atoms that are dependent on the N-to-C
317 | # amide bonds following energy minimization. This is less essential
318 | # since cutpoints had been updated by 2018.
319 |
320 |
321 | # Since the hinge loop is permitted to move as well, this mover allows the
322 | # positions of O and H atoms at the cutpoint in the HL to be updated, as
323 | # a precaution:
324 |
325 |
326 | # Manually introduce the proline->hydroxyproline mutation at position 7. This
327 | # position in the crystal structure has the potential to make a favourable
328 | # hydrogen bonding interaction with the target.
329 |
330 |
331 | # Add cutpoint variants in the hinge loop and in the peptide macrocycle:
332 |
334 |
336 |
337 |
338 |
339 |
340 |
341 | # Set up the fold tree:
342 |
343 |
344 | # Auto-detect metal-ligand interactions and set up suitable chemical bonds and
345 | # constraints to preserve metal geometry:
346 |
347 |
348 | # Add net charge constraints to the peptide macrocycle requiring a net
349 | # positive charge:
350 |
352 |
353 | # Add amino acid composition constraints to the peptide macrocycle as a whole,
354 | # the buried parts of the macrocycle, and the exposed parts of the macrocycle:
355 |
357 |
359 |
361 |
362 | # Carry out a round of design with energy-minimization:
363 |
367 |
368 | # Final relaxation (packing and energy-minimization), keeping amino acid
369 | # sequence fixed:
370 |
374 |
375 | # Weakly hold the hinge loop and the peptide in place (allowing small motions)
376 | # during energy minimization:
377 |
378 |
381 |
382 |
383 | # Sample small motions of the hinge loop, perturbing it slightly from its
384 | # current conformation while ensuring that the loop remains closed:
385 |
389 |
390 |
391 |
392 |
393 |
394 |
395 |
396 |
397 |
398 |
399 |
401 |
402 |
403 |
404 |
405 |
406 |
407 |
408 |
409 |
410 |
411 |
412 |
413 |
414 |
415 |
416 |
417 |
418 |
419 |
420 |
421 |
422 |
423 |
424 |
425 |
426 |
427 |
428 | # The series of steps performed for each round of design: carry out FastDesign,
429 | # update the O and H atoms on the macrocycle and the hinge loop, ensure that the
430 | # total hydrogen bond count is still over threshold and that residue 237 is
431 | # satisfied, and ensure that no hbond acceptor is oversaturated:
432 |
433 |
434 | # Update O and H atoms in peptide
435 |
436 |
437 |
438 |
439 |
440 |
441 | # The series of steps performed for each round of final relaxation. These are
442 | # similar to the design steps, but FastRelax replaces FastDesign (so that the
443 | # sequence does not change):
444 |
445 |
446 | # Update O and H atoms in peptide
447 |
448 |
449 |
450 |
451 |
452 | # The series of steps performed on each closed solution that the peptide
453 | # macrocycle generalized kinematic closure mover finds. Each conformation
454 | # is first subjected to some filtering steps. The hinge loop is then perturbed,
455 | # and three rounds of design, followed by three rounds of relaxation, are carried
456 | # out. Each round involves filtering steps that can abort the protocol and discard
457 | # the candidate GenKIC solution before the full computational expense has been
458 | # invested:
459 |
460 |
461 |
462 |
463 |
464 |
465 |
466 |
467 |
468 |
469 |
470 |
471 |
472 |
473 | # Generalized kinematic closure to close the peptide macrocycle. Only the upper
474 | # half of the peptide is permitted to move; the lower half preserves the
475 | # conformation from the NDM1i-1G crystal structure:
476 |
480 |
481 |
482 |
483 |
484 |
485 |
487 |
488 |
489 |
490 |
491 |
492 |
493 |
494 |
495 |
496 |
497 |
498 |
499 |
500 |
501 |
502 |
503 |
504 |
505 |
506 |
507 |
508 |
509 |
510 |
511 |
512 | # This section strings together previously-defined movers and filters
513 | # to define the overall protocol that will be applied:
514 |
515 |
516 |
517 |
518 |
519 |
520 |
521 |
522 |
523 |
524 |
525 |
526 |
527 |
528 |
529 |
530 |
531 |
532 | # The final structure is re-scored with the ref2015 energy function:
533 |
534 |
535 |
--------------------------------------------------------------------------------
/NDM1i-4_design_script/original/.gitignore:
--------------------------------------------------------------------------------
1 | *.pdb
2 | *.sc
3 |
--------------------------------------------------------------------------------
/NDM1i-4_design_script/original/inputs/design.comp:
--------------------------------------------------------------------------------
1 | # Since beta,beta-diphenyl-L-alanine is a very bulky amino acid residue, it can make many
2 | # favourable interactions, and is artificially favoured by the energy function. Here, we
3 | # penalize more than one residue of this type in a design:
4 | PENALTY_DEFINITION
5 | TYPE B96
6 | DELTA_START -1
7 | DELTA_END 1
8 | PENALTIES 0 5 25
9 | ABSOLUTE 1
10 | BEFORE_FUNCTION CONSTANT
11 | AFTER_FUNCTION QUADRATIC
12 | END_PENALTY_DEFINITION
13 |
14 | # At least two polar residues:
15 | PENALTY_DEFINITION
16 | PROPERTIES POLAR
17 | DELTA_START -1
18 | DELTA_END 1
19 | PENALTIES 50 0 0
20 | ABSOLUTE 2
21 | BEFORE_FUNCTION QUADRATIC
22 | AFTER_FUNCTION CONSTANT
23 | END_PENALTY_DEFINITION
24 |
25 | #At least one aromatic with absorption at 280 nm:
26 | PENALTY_DEFINITION
27 | PROPERTIES AROMATIC
28 | NOT_TYPE PHE DPH
29 | DELTA_START -1
30 | DELTA_END 1
31 | PENALTIES 50 0 0
32 | ABSOLUTE 1
33 | BEFORE_FUNCTION QUADRATIC
34 | AFTER_FUNCTION CONSTANT
35 | END_PENALTY_DEFINITION
36 |
37 | # At least two L- or D-proline residues:
38 | PENALTY_DEFINITION
39 | TYPE PRO DPR
40 | DELTA_START -1
41 | DELTA_END 1
42 | PENALTIES 50 0 0
43 | ABSOLUTE 2
44 | BEFORE_FUNCTION QUADRATIC
45 | AFTER_FUNCTION CONSTANT
46 | END_PENALTY_DEFINITION
47 |
48 | # At least three L-proline, D-proline, or AIB residues:
49 | PENALTY_DEFINITION
50 | TYPE PRO DPR AIB
51 | DELTA_START -1
52 | DELTA_END 1
53 | PENALTIES 50 0 0
54 | ABSOLUTE 3
55 | BEFORE_FUNCTION QUADRATIC
56 | AFTER_FUNCTION CONSTANT
57 | END_PENALTY_DEFINITION
58 |
59 | # At most one alanine or D-alanine:
60 | PENALTY_DEFINITION
61 | TYPE ALA DAL
62 | DELTA_START -1
63 | DELTA_END 1
64 | PENALTIES 0 0 10
65 | ABSOLUTE 1
66 | BEFORE_FUNCTION CONSTANT
67 | AFTER_FUNCTION QUADRATIC
68 | END_PENALTY_DEFINITION
69 |
--------------------------------------------------------------------------------
/NDM1i-4_design_script/original/inputs/foldtree1.txt:
--------------------------------------------------------------------------------
1 | FOLD_TREE
2 | EDGE 1 28 -1
3 | EDGE 23 35 1
4 | EDGE 35 29 -1
5 | EDGE 35 229 -1
6 | JEDGE 209 234 2 C OE1 INTRA_RES_STUB
7 | EDGE 234 230 -1
8 | EDGE 234 237 -1
9 | EDGE 209 238 3
10 | EDGE 209 239 4
11 | EDGE 209 240 5
12 | EDGE 209 241 6
13 | EDGE 209 242 7
14 | EDGE 209 243 8
15 | EDGE 209 244 9
16 | EDGE 209 245 10
17 | EDGE 209 246 11
18 | EDGE 209 247 12
19 | EDGE 209 248 13
20 | EDGE 209 249 14
21 | EDGE 209 250 15
22 | EDGE 209 251 16
23 |
--------------------------------------------------------------------------------
/NDM1i-4_design_script/original/inputs/rosetta.flags:
--------------------------------------------------------------------------------
1 | # On most clusters with queueing systems, it is simplest to set the number of output
2 | # structures to a large number and to allow Rosetta to write structures until the job times
3 | # out:
4 | -nstruct 1000
5 |
6 | # Certain versions of Rosetta between 2018 and 2020 had problems with name-clashes between
7 | # Rosetta noncanonical types and residue types from the wwPDB Chemical Components Dictionary.
8 | # Although this issue has been resolved, this flag was a workaround:
9 | -load_PDB_components false
10 |
11 | # Automatically detect bonds to metals and set up constraints to preserve metal coordination
12 | # geometry:
13 | -auto_setup_metals
14 |
15 | # Write out virtual atoms to help with debugging. These can be deleted in PyMOL by removing
16 | # atoms with element type X (“rm e. X”):
17 | -output_virtual true
18 |
19 | # Since we expect some jobs to fail due to filters that fail, we don’t want the executable
20 | # to return an error status if some jobs fail:
21 | -jd2:failed_job_exception false
22 |
23 | # Since glycine Ramachandran tables used for scoring are based on statistics from the Protein
24 | # Data Bank, they are biased towards glycine residues in positive-phi regions of Ramachandran
25 | # space. When designing with D-amino acids, the following correction should always be
26 | # applied:
27 | -symmetric_gly_tables true
28 |
29 | # The input file, interpreted as a full-atom (as opposed to centroid) model:
30 | -in:file:s inputs/NDM-1_P2_model_alt_conformation_trimmed.pdb
31 | -in:file:fullatom
32 |
33 | # For convenience, write CONECT records to the output PDB file for all bonded atoms:
34 | -write_all_connect_info
35 |
36 | # The XML file defining the protocol to run:
37 | -parser:protocol xml/NDM1i_4_design.xml
38 |
39 | # We do not want Rosetta to delete the water molecules in the input PDB file:
40 | -ignore_waters false
41 |
42 | # Uncomment the following to mute unneeded output for production runs, to reduce the size of
43 | # log files:
44 | #-mute all
45 |
--------------------------------------------------------------------------------
/NDM1i-4_design_script/original/xml/NDM1i_4_design.xml:
--------------------------------------------------------------------------------
1 |
25 |
26 |
27 | # This script was used to produce the NDM1i-4 peptides, using the NDM1i-3D crystal
28 | # structure as a starting point and designing with an expanded palette of amino
29 | # acid building-blocks. Note that there is no legacy version; this is the version
30 | # that was used.
31 |
32 | # Energy functions are defined here:
33 |
34 | # The default Rosetta ref2015 energy function:
35 |
36 |
37 | # The default energy function with the chainbreak term upweighted, used for
38 | # relaxing structures:
39 |
40 |
41 |
42 |
43 | # An energy function for the earlier rounds of design. This heavily penalizes buried
44 | # unsatisfied hydrogen bond donors and acceptors and buried voids, and gives a large
45 | # bonus for hydrogen bond networks. It also somewhat upweights backbone hydrogen
46 | # bond terms in order to encourage satisfaction of backbone hydrogen bond donors and
47 | # acceptors.
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 | # An energy function for the later rounds of design. This more lightly penalizes
66 | # buried unsatisfied hydrogen bond donors and acceptors and buried voids, and gives a
67 | # smaller bonus for hydrogen bond networks.
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 | # Residue selectors select subsets of a structure based on user-defined rules:
85 |
86 | # Select macrocycle residues at the foldtree cutpoint:
87 |
88 |
89 |
90 | # Select loop residues at the foldtree cutpoint:
91 |
92 |
93 |
94 | # Select the peptide:
95 |
96 |
97 | # Select the target:
98 |
99 |
100 | # Select residues in the positive-phi and negative-phi regions of
101 | # Ramachandran space:
102 |
103 |
104 |
105 | # Select peptide residues in the positive-phi and negative-phi regions of
106 | # Ramachandran space:
107 |
108 |
109 |
110 | # Select the hinge loop:
111 |
112 |
113 | # Select the peptide and the hinge loop:
114 |
115 |
116 | # Select residues near the peptide, including the peptide:
117 |
119 |
120 | # Select residues far from the peptide. This does not include the peptide:
121 |
122 |
123 | # Select the anchor glutamate:
124 |
125 |
126 | # Select the proline residue that we do not want to design:
127 |
128 |
129 |
130 | # Packer palettes define the set of amino acids with which we will be designing by
131 | # default. Task operations can prune this list in a position-specific manner:
132 |
133 | # Activate various non-canonical amino acids:
134 |
137 |
138 |
139 | # Task operations control the packer, which is used for rotamer optimization and sequence
140 | # design:
141 |
142 | # Allow additional task operations to be specified at the command-line:
143 |
144 |
145 | # Activate extra-fine sampling when building rotamers:
146 |
147 |
148 |
149 | # Allow design only at peptide positions:
150 |
151 |
152 |
153 |
154 | # Prohibit packing outside of the vicinity of the peptide:
155 |
158 |
159 |
160 |
161 | # Do not design with glycine (too flexible), cysteine (forms unwanted disulphides),
162 | # or methionine (risks oxidation):
163 |
166 |
167 | # Prohibit D-amino acids at negative phi positions, and L-amino acids at positive-phi
168 | # positions. (Note that we’re prohibiting rather than requiring, so as not to
169 | # exclude the achiral amino acid AIB).
170 |
173 |
176 |
177 | # Prevent the glutamate anchor residue from packing:
178 |
179 |
180 |
181 |
182 | # Prevent all design:
183 |
184 |
185 |
186 | # Move map factories define the moveable degrees of freedom during energy minimization:
187 |
188 | # This move map factory specifies that the only moveable degrees of freedom will be
189 | # the backbone of the peptide and hinge loop, and the side chains near the peptide:
190 |
191 |
192 |
193 |
194 |
195 |
196 | # Simple metrics measure properties of a structure and allow those measurements to be
197 | # stored in the pose and written out with the PDB file. Here, we use them to record
198 | # the peptide sequence to allow peptide structure prediction to be set up more easily:
199 |
200 |
203 |
204 |
205 | # We include an additional MOVERS block here to define a mover that will be used by the
206 | # Ddg filter:
207 |
208 | # A FastRelax mover for the Ddg filter:
209 |
214 |
215 |
216 | # Filters measure properties of structures and make pass/fail decisions based
217 | # on their measurements:
218 |
219 | # Measure shape complementarity of peptide to target:
220 |
224 |
225 | # Estimate delta-G of binding:
226 |
231 |
232 |
233 | # Movers modify a structure in some way:
234 |
235 | # Set up cyclization:
236 |
237 |
238 | # Update H and O atoms at the cutpoint in the hinge loop:
239 |
240 |
241 | # Add cutpoint variants:
242 |
245 |
248 |
251 |
254 |
255 | # Set up the fold tree:
256 |
257 |
258 | # Add a small perturbation to the anchor’s mainchain and side chain dihedral angles:
259 |
260 |
263 |
266 |
269 |
270 |
271 |
272 |
273 |
274 |
275 |
276 | # This GenKIC mover adds a small perturbation to the peptide conformation:
277 |
281 |
282 |
283 |
284 |
285 |
286 |
287 |
288 |
289 |
291 |
292 |
293 |
294 |
295 |
296 |
297 |
298 |
299 |
300 |
301 |
302 |
303 |
304 |
305 |
306 |
307 |
308 |
309 |
310 |
311 |
312 |
313 |
314 | # This GenKIC mover perturbs the hinge loop:
315 |
319 |
320 |
321 |
322 |
323 |
324 |
325 |
326 |
327 |
328 |
329 |
330 |
331 |
333 |
334 |
335 |
336 |
337 |
338 |
339 |
340 |
341 |
342 |
343 |
344 |
345 |
346 |
347 |
348 |
349 |
350 |
351 |
352 |
353 |
354 |
355 |
356 |
357 |
358 |
359 |
360 |
361 |
362 |
363 | # Add the amino acid composition constraints:
364 |
367 |
368 | # A first round of design, with strong penalties for buried unsatisfied
369 | # hydrogen bond donors and acceptors or buried voids:
370 |
375 |
376 | # A second round of design, with slightly weaker penalties for buried unsatisfied
377 | # hydrogen bond donors and acceptors or buried voids:
378 |
383 |
384 | # Store the amino acid sequence at the end for output in the PDB file:
385 |
386 |
387 |
388 | # Movers and filters that are defined above are listed here to define a protocol:
389 |
390 |
391 |
392 |
393 |
394 |
395 |
396 |
397 |
398 |
399 |
400 |
401 |
402 |
403 |
404 |
405 |
406 |
407 |
--------------------------------------------------------------------------------
/NDM1i_delta_G_binding_estimation_scripts/original/README.md:
--------------------------------------------------------------------------------
1 | Files for prediction should be placed in the pdbs/ directory, and listed in inputs/pdbs.list.
2 |
--------------------------------------------------------------------------------
/NDM1i_delta_G_binding_estimation_scripts/original/inputs/foldtree.txt:
--------------------------------------------------------------------------------
1 | FOLD_TREE
2 | EDGE 3 29 -1
3 | EDGE 3 1 1
4 | EDGE 3 2 2
5 | EDGE 20 40 3
6 | EDGE 40 30 -1
7 | EDGE 40 233 -1
8 | EDGE 150 237 4
9 | EDGE 237 234 -1
10 | EDGE 237 241 -1
--------------------------------------------------------------------------------
/NDM1i_delta_G_binding_estimation_scripts/original/inputs/pdbs.list:
--------------------------------------------------------------------------------
1 | pdbs/example1.pdb
2 | pdbs/example2.pdb
3 |
--------------------------------------------------------------------------------
/NDM1i_delta_G_binding_estimation_scripts/original/inputs/rosetta.flags:
--------------------------------------------------------------------------------
1 | # For each structure, carry out 20 replicates:
2 | -nstruct 20
3 |
4 | # A list of input files:
5 | -in:file:l inputs/pdbs.list
6 |
7 | # Input files will be treated as full-atom representations, not centroid representations.
8 | -in:file:fullatom
9 |
10 | # The XML file to run:
11 | -parser:protocol xml/ddgscript.xml
12 |
13 | # Automatically set up bonds to metal atoms:
14 | -auto_setup_metals
15 |
16 | # Write virtual atoms in the output file. This is useful for debugging:
17 | -output_virtual
18 |
19 | # The following line should be uncommented for production runs, to prevent writing of a large
20 | # output log:
21 | #-mute all
22 |
--------------------------------------------------------------------------------
/NDM1i_delta_G_binding_estimation_scripts/original/xml/ddgscript.xml:
--------------------------------------------------------------------------------
1 |
25 |
26 |
27 | # Given an input structure of a candidate inhibitor peptide bound to NDM-1, this
28 | # script estimates the delta-G of binding using the (poorly-named) ddG protocol.
29 | # It carries out relaxation of both bound and unbound structures, allowing small
30 | # motions of the hinge loop.
31 | #
32 | # This script was tested with the current version of Rosetta (Git SHA1
33 | # cb360c57ed4ba63d45678afba4bf6a39d8dd958d). It should be compatible with all Rosetta
34 | # versions after weekly release 2020.11.
35 |
36 | # Scoring functions are defined in this section:
37 |
38 | # The default Rosetta energy function, ref2015, with the metalbinding constraint
39 | # turned OFF explicitly. We will use this for scoring the bound and unbound states,
40 | # to ensure that the metal coordination is not artificially inflating the score.
41 |
42 |
43 |
44 | # The default energy function with the chainbreak term upweighted:
45 |
46 |
47 |
48 |
49 | # The default energy function with the chainbreak term upweighted and the metalbinding
50 | # constraint term explicitly turned OFF. See note above.
51 |
52 |
53 |
54 |
55 |
56 |
57 | # Residue selectors, used to configure modules that operate on a subset of a pose, are
58 | # declared here:
59 |
60 | # Select the peptide:
61 |
62 |
63 | # Select the flexible hinge loop:
64 |
65 |
66 | # Select the vicinity of the peptide (including the peptide):
67 |
69 |
70 | # Select residues that are not in the vicinity of the peptide. This selection
71 | # excludes the peptide:
72 |
73 |
74 | # Select a previously-stored selection of residues representing the interface between
75 | # peptide and target.
76 |
77 |
78 | # Select those residues that are not in the stored selection above.
79 |
80 |
81 | # Select the upper residue in the cutpoints in the peptide macrocycle and in the
82 | # hinge loop (to apply the cutpoint upper variant type):
83 |
84 |
85 | # Select the lower residue in the cutpoints in the peptide macrocycle and in the
86 | # hinge loop (to apply the cutpoint lower variant type):
87 |
88 |
89 |
90 | # Task operations, which control the Rosetta packer during rotamer optimization, are
91 | # defined here. Note that we do no design in this script, but still use the packer to
92 | # optimize rotamer conformation:
93 |
94 | # Prevent design everywhere:
95 |
96 |
97 | # Prevent repacking far from the peptide:
98 |
99 |
100 |
101 |
102 | # Ensure that the input rotamer is included in the set of rotamers considered during
103 | # rotamer optimization:
104 |
105 |
106 | # Enable finer discretization of rotamers:
107 |
108 |
109 |
110 | # Jump selectors select rigid-body transforms when configuring move map factories, which
111 | # control energy minimization steps:
112 |
113 | # Select the rigid-body degree of freedom connecting the target to the peptide:
114 |
115 |
116 |
117 | # Move map factories control energy minimization steps by defining which degrees of
118 | # freedom are movable and which are fixed:
119 |
120 | # The move map factory for the relaxation that is carried out on the bound complex.
121 | # Here, we allow only the side chains near the peptide, only the backbone of the
122 | # peptide and the hinge loop, and only the rigid-body transform from NDM-1 to peptide
123 | # to move during energy minimization:
124 |
125 |
126 |
127 |
128 |
129 |
130 |
131 | # The move map factory for the relaxation that is carried out on the separated
132 | # peptide and target. Here, we allow only the side chains that had been at the
133 | # interface, and only the backbone of the peptide and the hinge loop to move. All
134 | # rigid-body degrees of freedom are fixed during this relaxation:
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 | # Movers alter a structure in some way. Here we define a mover that will be used by
143 | # the Ddg filter, which repacks and energy-minimizes the separated peptide and target:
144 |
145 |
149 |
150 |
151 | # Filters are used to measure properties of a structure and to make pass/fail decisions.
152 | # Here, we define the Ddg filter that will be used to measure the energy of the bound and
153 | # separated structures, and to report the difference. This filter takes as input a
154 | # FastRelax mover, defined above, which is applied to the separated complex.
155 |
156 |
161 |
162 |
163 | # Here we define additional movers:
164 |
165 | # Connect the ends of the peptide to make an N-to-C cyclic macrocycle:
166 |
167 |
168 | # Set up the kinematic directed acyclic graph (DAG) for the structure:
169 |
170 |
171 | # Add cutpoint variant types to the residues flanking the cutpoints in the macrocycle
172 | # and in the hinge loop:
173 |
175 |
177 |
178 | # Identify interface residues and store this residue selection in the pose for later
179 | # retrieval after the complex is separated:
180 |
182 |
183 | # FastDesign with the RestrictToRepacking task operation does the same thing that
184 | # FastRelax would. It is used here for convenience for the step of relaxing the
185 | # bound complex, since it reports the residues that it is repacking (while FastRelax
186 | # is less verbose):
187 |
191 |
192 | # Remove constraints from the pose:
193 |
194 |
195 |
196 | # This section puts together previously-defined movers and filters to construct an
197 | # overall protocol:
198 |
199 |
200 |
201 |
202 |
203 |
204 |
205 |
206 |
207 |
208 |
209 | # At the end, the ref2015 energy function is used to score the output pose:
210 |
211 |
212 |
--------------------------------------------------------------------------------
/NDM1i_experimental_data_analysis_Python_script/fit_hill_equation.py:
--------------------------------------------------------------------------------
1 | # MIT License
2 |
3 | # Copyright (c) 2020 Vikram K. Mulligan, Center for Computational Biology,
4 | # Flatiron Institute.
5 |
6 | # Permission is hereby granted, free of charge, to any person obtaining a copy
7 | # of this software and associated documentation files (the "Software"), to deal
8 | # in the Software without restriction, including without limitation the rights
9 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | # copies of the Software, and to permit persons to whom the Software is
11 | # furnished to do so, subject to the following conditions:
12 |
13 | # The above copyright notice and this permission notice shall be included in all
14 | # copies or substantial portions of the Software.
15 |
16 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | # SOFTWARE.
23 |
24 |
25 | import numpy as np
26 | import matplotlib
27 | import matplotlib.pyplot as plt
28 | from mpl_toolkits.axes_grid1.inset_locator import inset_axes
29 | import sys
30 | from scipy.optimize import least_squares
31 | from scipy.optimize import curve_fit
32 |
33 | # Read binding data:
34 | def load_binding_data( filename ):
35 | concentrations = []
36 | activities = []
37 | activity_error = []
38 | n = -100
39 | y0 = -100
40 | yinf = -100
41 | IC50 = -100
42 | nerr = -100
43 | y0err = -100
44 | yinferr = -100
45 | IC50err = -100
46 | headerconc=-100
47 | headeravg=-100
48 | headererr=-100
49 | if filename != "xxx":
50 | with open(filename) as curfile:
51 | lines = curfile.readlines()
52 | print( "Read " + filename )
53 | indata=False
54 | finisheddata=False
55 | for line in lines:
56 | if finisheddata == False:
57 | if indata == False :
58 | #Assume first line is header.
59 | indata = True
60 | linesplit = line.split()
61 | for i in range(len(linesplit)) :
62 | if linesplit[i].startswith("[") :
63 | headerconc = i
64 | elif linesplit[i].startswith("Avg"):
65 | headeravg = i
66 | elif linesplit[i].startswith("StdErr") :
67 | headererr = i
68 | assert headerconc != -100
69 | assert headeravg != -100
70 | continue
71 | else:
72 | linesplit = line.split()
73 | if( len(linesplit) == 0 ) :
74 | indata = False
75 | finisheddata = True
76 | continue
77 | assert len(linesplit) > headerconc, "Could not parse \"" + line + "\". headerconc=" + str(headerconc)
78 | assert len(linesplit) > headeravg, "Could not parse \"" + line + "\". headeravg=" + str(headeravg)
79 | if headererr != -100 :
80 | assert len(linesplit) > headererr, "Could not parse \"" + line + "\". headererr=" + str(headererr)
81 | concentrations.append( float(linesplit[headerconc]) )
82 | activities.append( float(linesplit[headeravg]) )
83 | if headererr != -100 :
84 | activity_error.append( float(linesplit[headererr]) )
85 | else:
86 | linesplit = line.split()
87 | if len(linesplit) == 3:
88 | if( linesplit[0] == "n" ):
89 | n = int(linesplit[1])
90 | nerr = float( linesplit [2] )
91 | elif( linesplit[0] == "y0"):
92 | y0 = float(linesplit[1])
93 | y0err = float(linesplit[2])
94 | elif( linesplit[0] == "yinf"):
95 | yinf = float(linesplit[1])
96 | yinferr = float(linesplit[2])
97 | elif( linesplit[0] == "IC50"):
98 | IC50 = float(linesplit[1])
99 | IC50err = float(linesplit[2])
100 |
101 | return ( concentrations, activities, activity_error, (n, nerr), (y0, y0err), (yinf, yinferr), (IC50, IC50err) )
102 |
103 | # Assert that we've been passed four argument: a datafile to fit:
104 | assert len( sys.argv ) == 5, "Expected four arguments: a file to fit to the Hill equation, an estimated y0, an estimated yinf, and an estimated IC50."
105 |
106 | # Read the data:
107 | binding_data = load_binding_data( sys.argv[1] )
108 |
109 | # Ensure some tiny uncertainty in all points to avoid divide-by-zero errors during fitting:
110 | for i in range( len( binding_data[2] ) ) :
111 | if binding_data[2][i] < 0.001 :
112 | binding_data[2][i] = 0.01
113 |
114 | # Function to fit:
115 | hilleq = lambda x, y0, yinf, IC50 : ( y0 - yinf ) / ( 1 + (IC50/ x ) ) + yinf
116 |
117 | # Perform the fitting:
118 | IC50 = float( sys.argv[4] )
119 | IC50err = 0
120 | y0 = float( sys.argv[2] )
121 | y0err = 0
122 | yinf = float( sys.argv[3] )
123 | yinferr = 0
124 | n = 1
125 | nerr = 0
126 |
127 | x_data = np.array( binding_data[0] )
128 | y_data = np.array( binding_data[1] )
129 | y_err = np.array( binding_data[2] )
130 | print( x_data )
131 | print( y_data )
132 | print( y_err )
133 |
134 | best_fit_vals, covar = curve_fit(hilleq, x_data, y_data, p0=[y0,yinf,IC50], sigma=y_err, absolute_sigma=True )
135 | print( "best_fit_vals:", best_fit_vals )
136 | assert( len(best_fit_vals) == 3)
137 | y0 = best_fit_vals[0]
138 | yinf = best_fit_vals[1]
139 | IC50 = best_fit_vals[2]
140 |
141 | # Getting fit errors.
142 | uncertainty_vals = np.sqrt(np.diagonal(covar))
143 | print( "uncertainty_vals:", uncertainty_vals )
144 | assert( len(uncertainty_vals) == 3 )
145 | y0err = uncertainty_vals[0]
146 | yinferr = uncertainty_vals[1]
147 | IC50err = uncertainty_vals[2]
148 |
149 | print( "n\t" + str(n) + "\t" + str(nerr) )
150 | print( "y0\t" + str(y0) + "\t" + str(y0err) )
151 | print( "yinf\t" + str(yinf) + "\t" + str(yinferr) )
152 | print( "IC50\t" + str(IC50) + "\t" + str(IC50err) )
153 |
154 | # Plot the data and the fit:
155 | fig, ax = plt.subplots( nrows=1, ncols=1 )
156 | plotmarker = matplotlib.markers.MarkerStyle( marker="o", fillstyle="full" )
157 |
158 | ax.set_xlabel( "[peptide] (μM)" )
159 | ax.set_ylabel( "Normalized activity" )
160 | sc = ax.scatter( binding_data[0], binding_data[1], marker=plotmarker, edgecolors="none", s=10, c='b' )
161 | eb = ax.errorbar( binding_data[0], binding_data[1], yerr=binding_data[2], linestyle="None", elinewidth=0.5 )
162 | #Construct the best fit curve
163 | xprime = []
164 | interpolation_points = 50
165 | for j in range(len(binding_data[0]) - 1) :
166 | for k in range(interpolation_points) :
167 | xprime.append( float(k)/float(interpolation_points) * ( binding_data[0][j+1] - binding_data[0][j] ) + binding_data[0][j] )
168 | xprime.append( binding_data[0][len(binding_data[0])-1] )
169 | yprime = []
170 | for x in xprime :
171 | if( x == 0 ) :
172 | yprime.append( yinf )
173 | else :
174 | yprime.append( (y0-yinf)/( 1 + (IC50/x)**n ) + yinf )
175 | ax.plot( xprime, yprime, 'r-', linewidth=0.5 )
176 |
177 | # Calculate and plot residuals:
178 | resids = [ yinf - binding_data[1][0] ]
179 | for j in range(1, len(binding_data[0]) ) :
180 | resids.append( -((y0-yinf)/( 1 + (IC50/ binding_data[0][j] )**n ) + yinf) + binding_data[1][j] )
181 | ax2 = inset_axes( ax, width="40%", height="25%", loc=1 )
182 | insetplot = ax2.scatter( binding_data[0], resids, marker=plotmarker, edgecolors="none", s=2.0, c='b' )
183 | ebinsert = ax2.errorbar( binding_data[0], resids, yerr=binding_data[2], linestyle="None", elinewidth=0.5, c='b' )
184 | ax2.set_ylim( -0.1, 0.1 )
185 | ax2.axhline(0, c='red', linewidth=0.5)
186 |
187 | plt.show()
188 |
--------------------------------------------------------------------------------
/NDM1i_experimental_data_analysis_Python_script/sample_experimental_data/moriarty_peptide_inhibition_data.txt:
--------------------------------------------------------------------------------
1 | [Moriarty] Run1 Run2 Run3 Avg StdErr
2 | 0 1 1 1 1 0
3 | 0.3125 0.710108924 0.788502789 0.849865952 0.782825888 0.040444106
4 | 0.625 0.637875024 0.634920635 0.688784629 0.653860096 0.017483081
5 | 1.25 0.496846933 0.553839554 0.689901698 0.580196062 0.05726702
6 | 2.5 0.364800306 0.418060918 0.457327971 0.413396398 0.026812065
7 | 5 0.255685075 0.276061776 0.292448615 0.274731822 0.010633532
8 | 10 0.183451175 0.232303732 0.231680071 0.21581166 0.016181244
9 | 20 0.136250717 0.152080652 0.117068811 0.135133393 0.010122476
10 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Scripts for NDM-1 peptide macrocycle inhibitor design and analysis
2 | This repositiry includes the scripts used for Mulligan VK, Workman S, Sun T, Rettie S, Li X, Worrall LJ, Craven TW, King DT, Hosseinzadeh P, Watkins AM, Renfrew PD, Guffy S, Labonte JW, Moretti R, Bonneau R, Strynadka NCJ, and Baker D. (2021): Computationally-designed peptide macrocycle inhibitors of New Delhi metallo-beta-lactamase 1. _Proc. Natl. Acad. Sci USA_. In press.
3 |
4 | ## Licence
5 |
6 | These scripts are made available under the MIT licence. They are intended to be freely distributed, modified at will, and used in a royalty-free manner. For full details, see the LICENCE file. If you use these scripts, please cite the publication above.
7 |
8 | ## Contents
9 |
10 | ### Design RosettaScripts XML Scripts
11 |
12 | Modernized design scripts compatible with the latest version of Rosetta are located in the following sub-directories:
13 |
14 | * NDM1i-1_design_script/modernized/ -- Design script for NDM1i-1 designs, with syntax updated for the current version of Rosetta.
15 | * NDM1i-3_design_script/modernized/ -- Design script for NDM1i-3, with syntax updated for the current version of Rosetta.
16 | * NDM1i-4_design_script/original/ -- Design script used to produce NDM1i-4A through NDM1i-4G designs, which is already compatible with current versions of Rosetta.
17 |
18 | Legacy versions of design scripts are also provided:
19 |
20 | * NDM1i-1_design_script/original/ -- Design script used to produce NDM1i-1A through NDM1i-1G designs. This script is for legacy Rosetta weekly build 2016.46, and will not work properly with current Rosetta versions. It is intended only for exact reproduction of the protocol used with the version of the software that was used.
21 | * NDM1i-3_design_script/original/ -- Design script used to produce NDM1i-3A through NDM1i-3D designs. This script is for legacy Rosetta weekly build 2018.19, and will not work properly with current Rosetta versions. It is intended only for exact reproduction of the protocol used with the version of the software that was used.
22 |
23 | ### Analysis RosettaScripts XML Scripts and Commandline Inputs
24 |
25 | * The NDM1i-3D_biding_mode_comparison_script/ directory contains the protocol for computing the complex energy of the designed and experimentally-observed (inverted) binding modes of the NDM1i-3D peptide. These scripts are compatible with current versions of Rosetta.
26 | * The peptide_structure_prediction_example/ directory contains example inputs for running the **simple_cycpep_predict** application for a peptide sequence and structure to compute _PNear_.
27 |
28 | ### Analysis and Plotting Python Scripts
29 |
30 | The NDM1i_experimental_data_analysis_Python_script/ directory contains Python scripts used for fitting _IC50_ data to the Hill equation.
31 |
--------------------------------------------------------------------------------
/peptide_structure_prediction_example/compilescript.template.sh:
--------------------------------------------------------------------------------
1 | # This script should be run from your Rosetta/main/source/ directory. Replace with
2 | # the number of parallel processes to use for compilation (typically, the number of cores on the node on
3 | # which you are compiling). Rosetta takes several core-hours to compile from scratch, so splitting this
4 | # over many cores will speed things up considerably.
5 | ./scons.py -j mode=release extras=mpi,serialization simple_cycpep_predict
6 |
--------------------------------------------------------------------------------
/peptide_structure_prediction_example/inputs/NOTE.txt:
--------------------------------------------------------------------------------
1 | The sample structure and sequence here are peptide NDM1-1G. This peptide is pulled out of the design
2 | model and stored on its own as native.pdb (i.e. without the NDM-1 target).
3 |
--------------------------------------------------------------------------------
/peptide_structure_prediction_example/inputs/native.pdb:
--------------------------------------------------------------------------------
1 | ATOM 3394 N DAR D 234 -51.267 4.556 0.168 1.00 0.00 N
2 | ATOM 3395 CA DAR D 234 -51.149 5.688 1.080 1.00 0.00 C
3 | ATOM 3396 C DAR D 234 -50.236 6.764 0.507 1.00 0.00 C
4 | ATOM 3397 O DAR D 234 -50.018 7.803 1.129 1.00 0.00 O
5 | ATOM 3398 CB DAR D 234 -52.517 6.288 1.370 1.00 0.00 C
6 | ATOM 3399 CG DAR D 234 -53.474 5.369 2.111 1.00 0.00 C
7 | ATOM 3400 CD DAR D 234 -53.009 5.091 3.494 1.00 0.00 C
8 | ATOM 3401 NE DAR D 234 -53.953 4.265 4.229 1.00 0.00 N
9 | ATOM 3402 CZ DAR D 234 -53.946 2.918 4.238 1.00 0.00 C
10 | ATOM 3403 NH1 DAR D 234 -53.039 2.261 3.549 1.00 0.00 N
11 | ATOM 3404 NH2 DAR D 234 -54.850 2.257 4.940 1.00 0.00 N
12 | ATOM 3405 H DAR D 234 -51.539 4.723 -0.790 1.00 0.00 H
13 | ATOM 3406 HA DAR D 234 -50.720 5.333 2.018 1.00 0.00 H
14 | ATOM 3407 1HB DAR D 234 -52.993 6.574 0.433 1.00 0.00 H
15 | ATOM 3408 2HB DAR D 234 -52.398 7.192 1.967 1.00 0.00 H
16 | ATOM 3409 1HG DAR D 234 -53.554 4.420 1.580 1.00 0.00 H
17 | ATOM 3410 2HG DAR D 234 -54.458 5.837 2.168 1.00 0.00 H
18 | ATOM 3411 1HD DAR D 234 -52.887 6.031 4.032 1.00 0.00 H
19 | ATOM 3412 2HD DAR D 234 -52.054 4.567 3.459 1.00 0.00 H
20 | ATOM 3413 HE DAR D 234 -54.666 4.735 4.771 1.00 0.00 H
21 | ATOM 3414 1HH1 DAR D 234 -52.348 2.766 3.013 1.00 0.00 H
22 | ATOM 3415 2HH1 DAR D 234 -53.034 1.251 3.556 1.00 0.00 H
23 | ATOM 3416 1HH2 DAR D 234 -55.547 2.762 5.470 1.00 0.00 H
24 | ATOM 3417 2HH2 DAR D 234 -54.844 1.248 4.947 1.00 0.00 H
25 | ATOM 3418 N DAR D 235 -49.705 6.509 -0.685 1.00 0.00 N
26 | ATOM 3419 CA DAR D 235 -48.866 7.482 -1.374 1.00 0.00 C
27 | ATOM 3420 C DAR D 235 -47.523 7.647 -0.672 1.00 0.00 C
28 | ATOM 3421 O DAR D 235 -46.903 8.708 -0.740 1.00 0.00 O
29 | ATOM 3422 CB DAR D 235 -48.633 7.060 -2.817 1.00 0.00 C
30 | ATOM 3423 CG DAR D 235 -49.885 7.000 -3.677 1.00 0.00 C
31 | ATOM 3424 CD DAR D 235 -50.607 8.298 -3.687 1.00 0.00 C
32 | ATOM 3425 NE DAR D 235 -49.873 9.321 -4.415 1.00 0.00 N
33 | ATOM 3426 CZ DAR D 235 -50.013 10.647 -4.220 1.00 0.00 C
34 | ATOM 3427 NH1 DAR D 235 -50.860 11.094 -3.320 1.00 0.00 N
35 | ATOM 3428 NH2 DAR D 235 -49.298 11.498 -4.935 1.00 0.00 N
36 | ATOM 3429 H DAR D 235 -49.887 5.618 -1.124 1.00 0.00 H
37 | ATOM 3430 HA DAR D 235 -49.376 8.445 -1.351 1.00 0.00 H
38 | ATOM 3431 1HB DAR D 235 -48.171 6.074 -2.838 1.00 0.00 H
39 | ATOM 3432 2HB DAR D 235 -47.940 7.755 -3.292 1.00 0.00 H
40 | ATOM 3433 1HG DAR D 235 -50.558 6.236 -3.286 1.00 0.00 H
41 | ATOM 3434 2HG DAR D 235 -49.611 6.752 -4.703 1.00 0.00 H
42 | ATOM 3435 1HD DAR D 235 -50.749 8.643 -2.663 1.00 0.00 H
43 | ATOM 3436 2HD DAR D 235 -51.578 8.170 -4.164 1.00 0.00 H
44 | ATOM 3437 HE DAR D 235 -49.212 9.015 -5.116 1.00 0.00 H
45 | ATOM 3438 1HH1 DAR D 235 -51.406 10.443 -2.773 1.00 0.00 H
46 | ATOM 3439 2HH1 DAR D 235 -50.964 12.087 -3.174 1.00 0.00 H
47 | ATOM 3440 1HH2 DAR D 235 -48.646 11.154 -5.627 1.00 0.00 H
48 | ATOM 3441 2HH2 DAR D 235 -49.402 12.491 -4.789 1.00 0.00 H
49 | ATOM 3442 N LEU D 236 -47.079 6.591 0.001 1.00 0.00 N
50 | ATOM 3443 CA LEU D 236 -45.949 6.687 0.916 1.00 0.00 C
51 | ATOM 3444 C LEU D 236 -44.640 6.353 0.211 1.00 0.00 C
52 | ATOM 3445 O LEU D 236 -44.044 5.304 0.452 1.00 0.00 O
53 | ATOM 3446 CB LEU D 236 -46.150 5.743 2.108 1.00 0.00 C
54 | ATOM 3447 CG LEU D 236 -47.449 5.940 2.901 1.00 0.00 C
55 | ATOM 3448 CD1 LEU D 236 -47.550 4.874 3.983 1.00 0.00 C
56 | ATOM 3449 CD2 LEU D 236 -47.469 7.336 3.504 1.00 0.00 C
57 | ATOM 3450 H LEU D 236 -47.536 5.699 -0.125 1.00 0.00 H
58 | ATOM 3451 HA LEU D 236 -45.889 7.711 1.285 1.00 0.00 H
59 | ATOM 3452 1HB LEU D 236 -46.136 4.717 1.745 1.00 0.00 H
60 | ATOM 3453 2HB LEU D 236 -45.317 5.874 2.799 1.00 0.00 H
61 | ATOM 3454 HG LEU D 236 -48.303 5.820 2.234 1.00 0.00 H
62 | ATOM 3455 1HD1 LEU D 236 -48.473 5.014 4.546 1.00 0.00 H
63 | ATOM 3456 2HD1 LEU D 236 -47.552 3.886 3.523 1.00 0.00 H
64 | ATOM 3457 3HD1 LEU D 236 -46.698 4.958 4.657 1.00 0.00 H
65 | ATOM 3458 1HD2 LEU D 236 -48.392 7.476 4.067 1.00 0.00 H
66 | ATOM 3459 2HD2 LEU D 236 -46.615 7.457 4.172 1.00 0.00 H
67 | ATOM 3460 3HD2 LEU D 236 -47.413 8.078 2.707 1.00 0.00 H
68 | ATOM 3461 N DCS D 237 -44.198 7.253 -0.661 1.00 0.00 N
69 | ATOM 3462 CA DCS D 237 -42.936 7.078 -1.369 1.00 0.00 C
70 | ATOM 3463 C DCS D 237 -43.044 5.920 -2.340 1.00 0.00 C
71 | ATOM 3464 O DCS D 237 -43.774 5.992 -3.328 1.00 0.00 O
72 | ATOM 3465 CB DCS D 237 -42.553 8.347 -2.131 1.00 0.00 C
73 | ATOM 3466 SG DCS D 237 -40.981 8.229 -3.018 1.00 0.00 S
74 | ATOM 3467 H DCS D 237 -44.751 8.080 -0.838 1.00 0.00 H
75 | ATOM 3468 HA DCS D 237 -42.087 6.938 -0.665 1.00 0.00 H
76 | ATOM 3469 1HB DCS D 237 -42.485 9.183 -1.434 1.00 0.00 H
77 | ATOM 3470 2HB DCS D 237 -43.332 8.586 -2.854 1.00 0.00 H
78 | ATOM 3471 N PRO D 238 -42.330 4.806 -2.111 1.00 0.00 N
79 | ATOM 3472 CA PRO D 238 -42.362 3.682 -3.040 1.00 0.00 C
80 | ATOM 3473 C PRO D 238 -43.579 2.809 -2.784 1.00 0.00 C
81 | ATOM 3474 O PRO D 238 -43.862 1.884 -3.546 1.00 0.00 O
82 | ATOM 3475 CB PRO D 238 -41.057 2.939 -2.735 1.00 0.00 C
83 | ATOM 3476 CG PRO D 238 -40.853 3.144 -1.273 1.00 0.00 C
84 | ATOM 3477 CD PRO D 238 -41.331 4.550 -1.022 1.00 0.00 C
85 | ATOM 3478 HA PRO D 238 -42.327 4.061 -4.073 1.00 0.00 H
86 | ATOM 3479 1HB PRO D 238 -41.157 1.877 -3.007 1.00 0.00 H
87 | ATOM 3480 2HB PRO D 238 -40.239 3.351 -3.343 1.00 0.00 H
88 | ATOM 3481 1HG PRO D 238 -41.420 2.396 -0.701 1.00 0.00 H
89 | ATOM 3482 2HG PRO D 238 -39.792 3.005 -1.015 1.00 0.00 H
90 | ATOM 3483 1HD PRO D 238 -41.803 4.605 -0.030 1.00 0.00 H
91 | ATOM 3484 2HD PRO D 238 -40.480 5.244 -1.086 1.00 0.00 H
92 | ATOM 3485 N ILE D 239 -44.302 3.104 -1.709 1.00 0.00 N
93 | ATOM 3486 CA ILE D 239 -45.441 2.289 -1.304 1.00 0.00 C
94 | ATOM 3487 C ILE D 239 -46.748 2.874 -1.822 1.00 0.00 C
95 | ATOM 3488 O ILE D 239 -47.127 3.989 -1.461 1.00 0.00 O
96 | ATOM 3489 CB ILE D 239 -45.508 2.161 0.229 1.00 0.00 C
97 | ATOM 3490 CG1 ILE D 239 -44.198 1.585 0.774 1.00 0.00 C
98 | ATOM 3491 CG2 ILE D 239 -46.686 1.292 0.639 1.00 0.00 C
99 | ATOM 3492 CD1 ILE D 239 -43.830 0.242 0.187 1.00 0.00 C
100 | ATOM 3493 H ILE D 239 -44.055 3.913 -1.157 1.00 0.00 H
101 | ATOM 3494 HA ILE D 239 -45.322 1.293 -1.728 1.00 0.00 H
102 | ATOM 3495 HB ILE D 239 -45.626 3.149 0.672 1.00 0.00 H
103 | ATOM 3496 1HG1 ILE D 239 -43.384 2.280 0.573 1.00 0.00 H
104 | ATOM 3497 2HG1 ILE D 239 -44.272 1.474 1.856 1.00 0.00 H
105 | ATOM 3498 1HG2 ILE D 239 -46.718 1.211 1.725 1.00 0.00 H
106 | ATOM 3499 2HG2 ILE D 239 -47.612 1.741 0.282 1.00 0.00 H
107 | ATOM 3500 3HG2 ILE D 239 -46.574 0.298 0.205 1.00 0.00 H
108 | ATOM 3501 1HD1 ILE D 239 -42.891 -0.101 0.622 1.00 0.00 H
109 | ATOM 3502 2HD1 ILE D 239 -44.617 -0.480 0.408 1.00 0.00 H
110 | ATOM 3503 3HD1 ILE D 239 -43.716 0.336 -0.892 1.00 0.00 H
111 | ATOM 3504 N PRO D 240 -47.434 2.116 -2.671 1.00 0.00 N
112 | ATOM 3505 CA PRO D 240 -48.669 2.584 -3.290 1.00 0.00 C
113 | ATOM 3506 C PRO D 240 -49.684 3.013 -2.238 1.00 0.00 C
114 | ATOM 3507 O PRO D 240 -50.178 4.140 -2.261 1.00 0.00 O
115 | ATOM 3508 CB PRO D 240 -49.149 1.357 -4.072 1.00 0.00 C
116 | ATOM 3509 CG PRO D 240 -47.893 0.642 -4.437 1.00 0.00 C
117 | ATOM 3510 CD PRO D 240 -47.014 0.783 -3.223 1.00 0.00 C
118 | ATOM 3511 HA PRO D 240 -48.439 3.418 -3.970 1.00 0.00 H
119 | ATOM 3512 1HB PRO D 240 -49.818 0.750 -3.444 1.00 0.00 H
120 | ATOM 3513 2HB PRO D 240 -49.731 1.674 -4.950 1.00 0.00 H
121 | ATOM 3514 1HG PRO D 240 -48.111 -0.408 -4.682 1.00 0.00 H
122 | ATOM 3515 2HG PRO D 240 -47.448 1.092 -5.337 1.00 0.00 H
123 | ATOM 3516 1HD PRO D 240 -47.229 -0.033 -2.518 1.00 0.00 H
124 | ATOM 3517 2HD PRO D 240 -45.958 0.764 -3.530 1.00 0.00 H
125 | ATOM 3518 N GLU D 241 -49.992 2.106 -1.316 1.00 0.00 N
126 | ATOM 3519 CA GLU D 241 -51.191 2.227 -0.495 1.00 0.00 C
127 | ATOM 3520 C GLU D 241 -51.026 3.310 0.564 1.00 0.00 C
128 | ATOM 3521 O GLU D 241 -50.688 3.023 1.712 1.00 0.00 O
129 | ATOM 3522 CB GLU D 241 -51.515 0.889 0.175 1.00 0.00 C
130 | ATOM 3523 CG GLU D 241 -51.868 -0.230 -0.793 1.00 0.00 C
131 | ATOM 3524 CD GLU D 241 -52.296 -1.492 -0.098 1.00 0.00 C
132 | ATOM 3525 OE1 GLU D 241 -52.259 -1.525 1.109 1.00 0.00 O
133 | ATOM 3526 OE2 GLU D 241 -52.660 -2.425 -0.774 1.00 0.00 O
134 | ATOM 3527 H GLU D 241 -49.380 1.314 -1.180 1.00 0.00 H
135 | ATOM 3528 HA GLU D 241 -52.025 2.505 -1.140 1.00 0.00 H
136 | ATOM 3529 1HB GLU D 241 -50.659 0.562 0.767 1.00 0.00 H
137 | ATOM 3530 2HB GLU D 241 -52.354 1.019 0.858 1.00 0.00 H
138 | ATOM 3531 1HG GLU D 241 -52.678 0.106 -1.441 1.00 0.00 H
139 | ATOM 3532 2HG GLU D 241 -51.003 -0.441 -1.420 1.00 0.00 H
140 |
--------------------------------------------------------------------------------
/peptide_structure_prediction_example/inputs/rosetta.flags:
--------------------------------------------------------------------------------
1 | # For an 8mer macrocycle, 80,000 samples is perhaps two to four times the minimum needed:
2 | -nstruct 80000
3 |
4 | # The structure of the desired conformation, interpreted as an all-atom structure:
5 | -in:file:native inputs/native.pdb
6 | -in:file:fullatom
7 |
8 | # Automatically set up a master->slave process hierarchy in which all but one process will
9 | # be used to compute structures:
10 | -cyclic_peptide:MPI_auto_2level_distribution
11 |
12 | # Send 25 jobs to each slave at a time. (Overfrequent communication can create bottlenecks
13 | # as the master struggles to field all of the requests for jobs):
14 | -cyclic_peptide:MPI_batchsize_by_level 25
15 |
16 | # Write output structures to this file, in the Rosetta binary silent file format:
17 | -out:file:silent out.silent
18 |
19 | # The sequence file:
20 | -sequence_file inputs/seq.txt
21 |
22 | # Options configuring the kinematic closure step and relaxation steps:
23 | -genkic_closure_attempts 150
24 | -genkic_min_solution_count 1
25 | -min_genkic_hbonds 1
26 | -min_final_hbonds 1
27 | -fast_relax_rounds 3
28 |
29 | # Since glycine Ramachandran tables used for scoring are based on statistics from the Protein
30 | # Data Bank, they are biased towards glycine residues in positive-phi regions of Ramachandran
31 | # space. When designing with D-amino acids, the following correction should always be
32 | # applied:
33 | -symmetric_gly_tables true
34 |
35 | # In addition to computing the RMSD and PNear value to the conformation of native.pdb, this
36 | # option allows the application to compute the RMSD and PNear value to the lowest-energy
37 | # conformation sampled:
38 | -cyclic_peptide:compute_rmsd_to_lowest true
39 |
40 | # Write the lowest-energy 0.02% of structures to disk:
41 | -cyclic_peptide:MPI_output_fraction 0.0002
42 |
43 | # Discard samples with a Ramachandran score greater than 5.0 kcal/mol for any residue.
44 | -cyclic_peptide:rama_cutoff 5.0
45 |
46 | # Set the lambda parameter (in Angstroms) for computing PNear. This defines how much a
47 | # structure can deviate from the desired conformation and still be considered to be “near” it:
48 | -cyclic_peptide:MPI_pnear_lambda 1.5
49 |
50 | # Set the value of the Boltzmann temperature to physiological temperature. (37 degrees C or
51 | # 310 K corresponds to 0.62 kcal/mol):
52 | -cyclic_peptide:MPI_pnear_kbt 0.62
53 |
54 | # Discard high-energy structures:
55 | -cyclic_peptide:total_energy_cutoff 20.0
56 |
57 | # The following two lines ensure that only the summary of results is written to the
58 | # output log:
59 | -mute all
60 | -unmute protocols.cyclic_peptide_predict.SimpleCycpepPredictApplication_MPI protocols.cyclic_peptide_predict.SimpleCycpepPredictApplication_MPI_summary
61 |
--------------------------------------------------------------------------------
/peptide_structure_prediction_example/inputs/seq.txt:
--------------------------------------------------------------------------------
1 | DARG DARG LEU DCYS PRO ILE PRO GLU
2 |
--------------------------------------------------------------------------------
/peptide_structure_prediction_example/runscript.template.sh:
--------------------------------------------------------------------------------
1 | # Edit the script below and replace:
2 | # - with the number of processes to launch (typically the number of cores on your compute node(s)).
3 | # - with the path to your Rosetta installation.
4 | # - .linuxgccrelease with whatever is appropriate for your operating system, compiler, and compilation mode (e.g. .macosclangrelease).
5 | # Note that the nohup command and the ampersand will allow this app to run in the background, with output logs written to out.log and err.log.
6 | # The nohup command, ampersand, and output logs can be omitted for foreground runs with output to the terminal, but closing the terminal will
7 | # terminate execution in this case (whereas it won't with nohup).
8 | nohup mpirun -np /Rosetta/main/source/bin/simple_cycpep_predict.mpiserialization.linuxgccrelease @inputs/rosetta.flags >out.log 2>err.log &
9 |
--------------------------------------------------------------------------------