代码改变世界

rosetta constraints

2019-07-29 15:14  丨o聽乄雨o丨  阅读(819)  评论(0编辑  收藏  举报

通过设置constraints,可以实现一些键长键角以及二面角的限制:

AtomPair P1 289 OD1 19 HARMONIC 2.10 0.02

Angle O9 289  P1 289 OD1  19 CIRCULARHARMONIC 1.605703 0.02
Angle P1 289 OD1  19  CG  19 CIRCULARHARMONIC 2.268928 0.02

Dihedral O5 289  O9 289  P1 289 OD1 19 CIRCULARHARMONIC 3.141592 0.02
Dihedral P1 289 OD1  19  CG 19  CB  19 CIRCULARHARMONIC 3.403392 0.02
Dihedral O9 289  P1 289 OD1  19 CG  19 CIRCULARHARMONIC 6.143559 0.02

倒数第二列是弧度值,pai代表180度。

距离设置规则可以参考rosetta官网:

https://www.rosettacommons.org/docs/latest/rosetta_basics/file_types/constraint-file

在程序中引入constraints,可以使用mover或者直接在flags里面引入:

https://www.rosettacommons.org/docs/latest/scripting_documentation/RosettaScripts/Movers/movers_pages/ConstraintSetMover

 

附上自己写的做限制性对接的scripts,其中用到了constraints, cst等

<ROSETTASCRIPTS>This protocol will simply do low-resolution followed by high-resolution docking.
It will also report the binding energy (ddg) and buried-surface area (sasa) in the score file.
    <SCOREFXNS>
        <ScoreFunction name="ligand_soft_rep" weights="ligand_soft_rep">
        </ScoreFunction>
        <ScoreFunction name="hard_rep" weights="ligand">
        <Reweight scoretype="metalbinding_constraint" weight="1.0" />
        <Reweight scoretype="atom_pair_constraint" weight="0.333" />
        <Reweight scoretype="angle_constraint" weight="0.333" />
        <Reweight scoretype="dihedral_constraint" weight="0.333" />
        </ScoreFunction>
    </SCOREFXNS>

    <LIGAND_AREAS>
        <LigandArea name="docking_sidechain_X" chain="X" cutoff="6.0" add_nbr_radius="true" all_atom_mode="true" minimize_ligand="10"/>
        <LigandArea name="final_sidechain_X" chain="X" cutoff="6.0" add_nbr_radius="true" all_atom_mode="true"/>
        <LigandArea name="final_backbone_X" chain="X" cutoff="7.0" add_nbr_radius="false" all_atom_mode="true" Calpha_restraints="0.3"/>
    </LIGAND_AREAS>
    <INTERFACE_BUILDERS>
        <InterfaceBuilder name="side_chain_for_docking" ligand_areas="docking_sidechain_X"/>
        <InterfaceBuilder name="side_chain_for_final" ligand_areas="final_sidechain_X"/>
        <InterfaceBuilder name="backbone" ligand_areas="final_backbone_X" extension_window="3"/>
    </INTERFACE_BUILDERS>
    <MOVEMAP_BUILDERS>
        <MoveMapBuilder name="docking" sc_interface="side_chain_for_docking" minimize_water="true"/>
        <MoveMapBuilder name="final" sc_interface="side_chain_for_final" bb_interface="backbone" minimize_water="true"/>
    </MOVEMAP_BUILDERS>
    <SCORINGGRIDS ligand_chain="X" width="8">
        <ClassicGrid grid_name="classic" weight="1.0"/>
    </SCORINGGRIDS>
    <MOVERS>
    single movers_X
        <AddOrRemoveMatchCsts name="cstadd" cst_instruction="add_new"/> add catalytic constraints
        <SetupMetalsMover name="setup_metals" metal_resnums="19,21,232,284,286,289" remove_hydrogens="false" metals_detection_LJ_multiplier="1.0" metals_distance_constraint_multiplier="1.0" metals_angle_constraint_multiplier="1.0" />
        <ConstraintSetMover name="constraints_S6P" add_constraints="true" cst_file="inputs/constraints.S6P" />
        <Transform name="transform_X" chain="X" box_size="8.0" move_distance="0.2" angle="5" cycles="800" repeats="3" temperature="5"/>
        <AddOrRemoveMatchCsts name="cstrem" cst_instruction="remove" keep_covalent="1"/> remove constraints
        <HighResDocker name="high_res_docker" cycles="6" repack_every_Nth="3" scorefxn="ligand_soft_rep" movemap_builder="docking"/>
        <FinalMinimizer name="final" scorefxn="hard_rep" movemap_builder="final"/>
        <AddOrRemoveMatchCsts name="cstfinadd" cst_instruction="add_pregenerated"/>
        <InterfaceScoreCalculator name="add_scores" chains="X" scorefxn="hard_rep"/>
        
    compound movers
        <ParsedProtocol name="low_res_dock">
            <Add mover_name="cstadd"/>
            <Add mover_name="transform_X"/>
            <Add mover_name="cstrem"/>
        </ParsedProtocol>
        <ParsedProtocol name="high_res_dock">
            <Add mover_name="high_res_docker"/>
            <Add mover_name="constraints_S6P"/>
            <Add mover_name="final"/>
            <Add mover_name="cstfinadd"/>
        </ParsedProtocol>
    </MOVERS>
    <PROTOCOLS>
        <Add mover_name="low_res_dock"/>
        <Add mover_name="high_res_dock"/>
        <Add mover_name="add_scores"/>        
    </PROTOCOLS>
</ROSETTASCRIPTS>