Hi all,
I want to generate cyclic peptides in a binding site employing the anchor design approach similar to https://www.nature.com/articles/s41467-021-23609-8 and https://www.pnas.org/doi/suppl/10.1073/pnas.2012800118. I need to do the closure by amidation between two side chains (K/E) or side chain/C-terminal.
I am using an XML script from the first paper and adapting it for my problem. Below is a section of the script where I define the atoms for the closure:
<RESIDUE_SELECTORS>
<!--selecting the chains-->
<Chain name="receptor" chains="A"/>
<Chain name="peptide" chains="B"/>
<!--selecting the peptide anchor-->
<Index name="anchor" resnums="320-324"/>
<And name="peptide_anchor" selectors="peptide,anchor"/>
<!--selecting the anchor residue and the peptide extensions -->
<Index name="peptide_extension" resnums="325-328"/>
<!--selecting the new cyclic peptide -->
<Index name="cyclic_peptide" resnums="320-328"/>
<!--select interface of chainB close within 8.0 A of chainA-->
<Neighborhood name="interface_chA" selector="peptide" distance="8.0"/>
<Neighborhood name="interface_chB" selector="receptor" distance="8.0"/>
<And name="AB_interface" selectors="interface_chA,interface_chB"/>
</RESIDUE_SELECTORS>
(...)
(...)
(...)
<MOVERS>
<!--Extending the stub. Adding residues to the anchor-->
<PeptideStubMover name="peptide_extension" reset="0">
<!--Append resname="ORN" repeat="1"/-->
<Append resname="GLY" repeat="1"/>
<Append resname="GLY" repeat="1"/>
<Append resname="GLY" repeat="1"/>
<Append resname="PRO" repeat="1"/> # This is a residue to play with: PRO,DPRO
</PeptideStubMover>
<!--Setting Torsions of newly generated residues to omega 180-->
<SetTorsion name="set_torsion" foldtree_root="4">
<Torsion residue="326,327,328" torsion_name="omega" angle="180"/>
</SetTorsion>
<!--Adds the required constraints to bond introduced to keep it close-->
<PeptideCyclizeMover name="cyclize" residue_selector="peptide_extension"/>
<!--Parsed protocol that can be used for pre_selection in the genKIC-->
<!--Currently number of hydrogen bonds and score-->
<ParsedProtocol name="preselection_pp">
<Add filter="total_hbonds"/>
<Add filter="score_low"/>
</ParsedProtocol>
<!--Relax pre KIC-->
<FastRelax name="relax" scorefxn="beta_cst" repeats="3" ramp_down_constraints="false">
<MoveMap name="no_relax_peptide_anchor">
<Chain number="1" chi="0" bb="0"/> # Stop the minimization. Takes too long
<Span begin="326" end="328" chi="0" bb="0"/>
</MoveMap>
</FastRelax>
<!--GenKIC. Added the custom rama table so that it doesn't bias the pose to just L-aas as we saw the presence of Ds enhance foldability. The preselection mover is basically a count of h-bonds to backbone at this stage (no-designs yet) to increase rigidity and chance of folding-->
<GeneralizedKIC name="genkic" closure_attempts="10" stop_when_n_solutions_found="1" selector="lowest_energy_selector" selector_scorefunction="high_hbond" pre_selection_mover="preselection_pp">
<AddResidue res_index="325"/>
<AddResidue res_index="326"/>
<AddResidue res_index="327"/>
<AddResidue res_index="328"/>
<CloseBond res1="328" atom1="C" res2="324" atom2="NE" bondlength="1.32" angle1="114" angle2="123" torsion="180"/>
<SetPivots res1="325" res2="326" res3="327" atom1="CA" atom2="CA" atom3="CA"/>
<AddPerturber effect="randomize_alpha_backbone_by_rama" custom_rama_table="flat_symm_dl_aa_ramatable">
<AddResidue index="325"/>
<AddResidue index="326"/>
<AddResidue index="327"/>
<AddResidue index="328"/>
</AddPerturber>
<AddFilter type="loop_bump_check"/>
</GeneralizedKIC>
(...)
(...)
(...)
</MOVERS>
The closure bond is defined by:
<CloseBond res1="328" atom1="C" res2="324" atom2="NE" bondlength="1.32" angle1="114" angle2="123" torsion="180"/>
However, I get this error with the Anchors:
File: src/protocols/generalized_kinematic_closure/GeneralizedKIC.cc:1316
[ ERROR ] UtilityExitException
ERROR: Unable to auto-assign a lower anchor for the loop to be closed. Check that the first residue is connected to something that isn't in the loop to be closed and isn't a tail residue.
The command line is:
rosetta_scripts.linuxgccrelease -parser:protocol KIC.xml -in:file:s relax_receptor-peptide-anchor.pdb -nstruct 10 -out:file:silent test.silent -jd2:failed_job_exception false -chemical:include_patches LYS:SidechainConjugation -extra_res_fa sidechain_conjugation/LYX.params
Any help will be much appreciated.
Best