├── 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 | --------------------------------------------------------------------------------