You are here

Setting pivots points for GenKIC

1 post / 0 new
Setting pivots points for GenKIC
#1

Hi all,

I want to use GenKIC to generate macrocycles of a peptide bound to a receptor with the anchor design approach. Previously, I used simple_cycpep_predict, from the command line, to generate the candidates, but not bound to the receptor.

I was able to generate and relax a starting structure with the macrocycle bound to the receptor, and now I want to do a GenKIC and conformational exploration of the closed loop. As depicted in the attached picture, the cyclization is done between the Orn324 side chain and Pro328 C-terminal (Orn324@NE-Pro328@C bond, arrow). I have tried several atoms as pivots, but it hasn't worked. It only runs (kinda) if I do not include residue 325 in the loop, during the GenKIC setup, and use CA atoms of either residues 326, 327, and/or 328, but for every solution tried (up to 10000) says:

protocols.jd2.JobDistributor: [ WARNING ] solution_0010 reported failure 1 times and will no longer retry (permanent failure)

The XML code for the movers is the following:

<ROSETTASCRIPTS>
    <SCOREFXNS>
        [...]
    </SCOREFXNS>
	
    <RESIDUE_SELECTORS>
	[...]    
    </RESIDUE_SELECTORS>
	
    <TASKOPERATIONS>
        [...]
    </TASKOPERATIONS>
			
    <MOVERS>
        # Extending the stub. Adding residues to the anchor.
        <PeptideStubMover name="extend" >
            <Append resname="XXX" />
            <Append resname="XXX" />
            <Append resname="XXX" />
            <Append resname="PRO" />
        </PeptideStubMover>
        
        # Add variant of the ORN side chain conjugation to make an amide bond with the C-terminal backbone
        <ModifyVariantType name="modify_ORN_to_cycle" add_type="SIDECHAIN_CONJUGATION"
            residue_selector="peptide_branch_selection" />
            
        # Removing C-terminal variant of PRO-328 to conjugate it with the side NE atom of ORN-324
        <ModifyVariantType name="modify_PRO_to_cycle" remove_type="UPPER_TERMINUS_VARIANT"
            residue_selector="peptide_end_selection" />
     
        # This SetTorsion mover is used to initialize the torsions for the dihedral angles.
        <SetTorsion name="initialize_tors">
	    <Torsion residue="324" torsion_name="omega" angle="180.0" />
            <Torsion residue="325" torsion_name="omega" angle="180.0" />
            <Torsion residue="326" torsion_name="omega" angle="180.0" />
            <Torsion residue="327" torsion_name="omega" angle="180.0" />
            <Torsion residue="328" torsion_name="phi"   angle="180.0" />
        </SetTorsion>
        
        # This mover adds bond, angle, and torsion constraints between the ORN_324 and the PRO_328 for the closure of the peptide.
        <PeptideCyclizeMover name="connect_branch_and_termini" residue_selector="peptide_selection" >
	    <Bond res1="324" res2="328" atom1="NE" atom2="C" add_termini="false" />
	    <Distance res1="324" res2="328" atom1="NE" atom2="C" cst_func="HARMONIC 1.32865 0.01" />
	    <Angle res1="324" atom1="CD" res_center="324" atom_center="NE" res2="328" atom2="C" cst_func="HARMONIC 2.14675498 0.01" />
	    <Angle res1="324" atom1="NE" res_center="328" atom_center="C" res2="328" atom2="CA" cst_func="HARMONIC 2.14675498 0.01" />
	    <Torsion res1="324" res2="324" res3="328" res4="328" atom1="CD" atom2="NE" atom3="C" atom4="CA" cst_func="CIRCULARHARMONIC 3.141592654 0.005" />
	</PeptideCyclizeMover>
		
	# This mover adds a chemical bond between the ORN-NE and the PRO-C atoms closing the peptide.
        <DeclareBond name="update_connect" atom1="NE" res1="324" atom2="C" res2="328" add_termini="false"/>
        
        <PackRotamersMover name="repack" scorefxn="r15_soft"         task_operations="repack_peptide_loop,repack_receptor_interface,repack_peptide_and_interface,no_repack_far_from_interface" />
        
        <MinMover name="peptide_loop_bb_minimization" scorefxn="r15_cst" type="dfpmin" tolerance="0.001" bb="0" chi="0" >
            <MoveMap name="min1_mm">
		<ResidueSelector selector="loop_selection" chi="0" bb="1" />
            </MoveMap>
        </MinMover>

        <MinMover name="peptide_and_interface_minimization" scorefxn="r15_cst" type="dfpmin" tolerance="0.0001" bb="0" chi="0" max_iter="1000" >
            <MoveMap name="min4_mm">
		<ResidueSelector selector="peptide_and_interface" chi="1" bb="1" />
            </MoveMap>
        </MinMover>
        
        <FastRelax name="relax_interface" scorefxn="score_cst" ramp_down_constraints="false" repeats="1" 
			task_operations="use_input_rotamer,no_repack_far_from_interface">
	    <MoveMap name="relax_int">
                <ResidueSelector selector="peptide_and_interface" chi="1" bb="1" />
            </MoveMap>
        </FastRelax>
        
        <ParsedProtocol name="pre-genkic_steps">
            <Add mover="extend" />
	    <Add mover="modify_ORN_to_cycle" />
            <Add mover="modify_PRO_to_cycle" />
            <Add mover="initialize_tors" />
            <Add mover="connect_branch_and_termini" />
            <Add mover="peptide_loop_bb_minimization" />
            <Add mover="connect_branch_and_termini" />
            <Add mover="peptide_and_interface_minimization" />
            <Add mover="connect_branch_and_termini" />
            <Add mover="relax_interface" />
            <Add mover="update_connect" />
        </ParsedProtocol>
        
        <GeneralizedKIC name="genkic" closure_attempts="100" pre_selection_mover="pre-genkic_steps" stop_when_n_solutions_found="1" selector="lowest_energy_selector" selector_scorefunction="r15_highhbond_cst" >
            <AddResidue res_index="324"/>
	    <AddResidue res_index="328"/>
            <AddResidue res_index="327"/>
            <AddResidue res_index="326"/>
            <!--AddResidue res_index="325"/-->
            <SetPivots res1="324" res2="327" res3="326" atom1="CG" atom2="CA" atom3="CA"/>
            <CloseBond res1="324" atom1="NE" res2="328" atom2="C" bondlength="1.32" angle1="114" angle2="123" torsion="180"/>
            <AddPerturber effect="randomize_alpha_backbone_by_rama" >
                <AddResidue index="324"/>
		<!--AddResidue index="325"/-->
		<AddResidue index="326"/>
		<AddResidue index="327"/>
		<AddResidue index="328"/>
            </AddPerturber>
        </GeneralizedKIC>
        
    </MOVERS>
	
    <PROTOCOLS>
	<Add mover="pre-genkic_steps" />
	<Add mover="genkic" />
    </PROTOCOLS>
    <OUTPUT />
</ROSETTASCRIPTS>

 

I would really appreciate it if you help me to understand how to set the pivots in this particular case.

Best regards,

--Yasser

AttachmentSize
cycle.png274.7 KB
Post Situation: 
Tue, 2022-10-25 02:32
almeida85