make_csts.sh input_example.pdb >example.cst
准备文件:refine.flags, refine.xml, example.cst(这个是上一步生成的)
refine.flags:
-use_input_sc
-extrachi_cutoff 5
-in:ignore_unrecognized_res
-chemical:exclude_patches LowerDNA UpperDNA Cterm_amidation SpecialRotamer VirtualBB ShoveBB VirtualDNAPhosphate VirtualNTerm CTermConnect sc_orbitals pro_hydroxylated_case1 pro_hydroxylated_case2 ser_phosphorylated thr_phosphorylated tyr_phosphorylated tyr_sulfated lys_dimethylated lys_monomethylated lys_trimethylated lys_acetylated glu_carboxylated cys_acetylated tyr_diiodinated N_acetylated C_methylamidated MethylatedProteinCterm
-linmem_ig 10
-ignore_zero_occupancy false
-s input_example.pdb # path to structure file
-out:path:pdb pdbs/
-out:path:score scores/
-parser:protocol refine.xml
-parser:script_vars res_to_fix=1A,2A,3A,4A # comma separated list of positions
-parser:script_vars cst_full_path=example.cst # path to Rosetta CST file of CA atoms
注意:(1)需要手动在此目录下创建两个文件夹(pdbs,scores)
(2)修改对应的xml,cst以及pdb名称。
refine.xml
<ROSETTASCRIPTS>
<SCOREFXNS>
<ScoreFunction name="ref_full" weights="ref2015" >
<Reweight scoretype="coordinate_constraint" weight="0.1" />
<Reweight scoretype="res_type_constraint" weight="0.1" />
</ScoreFunction>
<ScoreFunction name="soft_rep_full" weights="soft_rep" >
<Reweight scoretype="coordinate_constraint" weight="0.1" />
<Reweight scoretype="res_type_constraint" weight="0.1" />
</ScoreFunction>
<ScoreFunction name="ref_no_pssm" weights="ref2015" >
<Reweight scoretype="coordinate_constraint" weight="0.1" />
</ScoreFunction>
<ScoreFunction name="ref_pure" weights="ref2015"/>
</SCOREFXNS>
<RESIDUE_SELECTORS>
<Index name="ress_fix" resnums="%%res_to_fix%%"/>
</RESIDUE_SELECTORS>
<TASKOPERATIONS>
<InitializeFromCommandline name="init"/>
<RestrictToRepacking name="rtr"/>
<OperateOnResidueSubset name="fix_res" selector="ress_fix">
<PreventRepackingRLT/>
</OperateOnResidueSubset>
<OperateOnResidueSubset name="not_to_cst_sc">
<Not selector="ress_fix"/>
<PreventRepackingRLT/>
</OperateOnResidueSubset>
</TASKOPERATIONS>
<MOVERS>
<AtomCoordinateCstMover name="fix_res_sc_cst" coord_dev="0.5" bounded="false" sidechain="true" task_operations="not_to_cst_sc"/>
<PackRotamersMover name="soft_repack" scorefxn="soft_rep_full" task_operations="init,rtr,fix_res"/>
<PackRotamersMover name="hard_repack" scorefxn="ref_full" task_operations="init,rtr,fix_res"/>
<RotamerTrialsMinMover name="RTmin" scorefxn="ref_full" task_operations="init,rtr,fix_res"/>
<TaskAwareMinMover name="soft_min" scorefxn="soft_rep_full" chi="1" bb="1" jump="0" task_operations="init,fix_res"/>
<TaskAwareMinMover name="hard_min" scorefxn="ref_full" chi="1" bb="1" jump="0" task_operations="init,fix_res"/>
<ConstraintSetMover name="add_CA_cst" cst_file="%%cst_full_path%%"/>
<ParsedProtocol name="refinement_block">
<Add mover_name="soft_repack"/>
<Add mover_name="soft_min"/>
<Add mover_name="soft_repack"/>
<Add mover_name="hard_min"/>
<Add mover_name="hard_repack"/>
<Add mover_name="hard_min"/>
<Add mover_name="hard_repack"/>
<Add mover_name="RTmin"/>
<Add mover_name="RTmin"/>
<Add mover_name="hard_min"/>
</ParsedProtocol>
<LoopOver name="iter4" mover_name="refinement_block" iterations="4"/>
</MOVERS>
<FILTERS>
<ScoreType name="stability_score_full" scorefxn="ref_full" score_type="total_score" confidence="0" threshold="0"/>
<ScoreType name="stability_without_pssm" scorefxn="ref_no_pssm" score_type="total_score" confidence="0" threshold="0"/>
<ScoreType name="stability_pure" scorefxn="ref_pure" score_type="total_score" confidence="0" threshold="0"/>
<Rmsd name="rmsd" confidence="0"/>
<Time name="timer"/>
</FILTERS>
<PROTOCOLS>
<Add filter_name="timer"/>
<Add mover_name="add_CA_cst"/>
<Add mover_name="fix_res_sc_cst"/>
<Add mover_name="iter4"/>
<Add filter_name="stability_score_full"/>
<Add filter_name="stability_without_pssm"/>
<Add filter_name="stability_pure"/>
<Add filter_name="rmsd"/>
<Add filter_name="timer"/>
</PROTOCOLS>
<OUTPUT scorefxn="ref_full"/>
</ROSETTASCRIPTS>
接下来输入命令
/home/unbuntu/rosetta2019/main/source/bin/rosetta_scripts.default.linuxgccrelease -database /home/unbuntu/rosetta2019/main/database/ -in:file:s input_example.pdb -parser:protocol refine.xml -parser:script_vars res_to_fix=1A,2A,3A,4A -parser:script_vars pdb_reference=input_example.pdb -parser:script_vars cst_full_path=example.cst -parser:script_vars cst_value=0.4 @refine.flags -overwrite
pdbs文件夹里会生成一个input_example_0001.pdb文件,scores生成score.sc文件
<ROSETTASCRIPTS>
<SCOREFXNS>
<ScoreFunction name="talaris_full" weights="talaris2014">
<Reweight scoretype="coordinate_constraint" weight="%%cst_value%%"/>
<Reweight scoretype="res_type_constraint" weight="0.4"/>
</ScoreFunction>
<ScoreFunction name="soft_rep_full" weights="soft_rep">
<Reweight scoretype="coordinate_constraint" weight="%%cst_value%%"/>
<Reweight scoretype="res_type_constraint" weight="0.4"/>
</ScoreFunction>
<ScoreFunction name="tal_no_pssm" weights="talaris2014">
<Reweight scoretype="coordinate_constraint" weight="%%cst_value%%"/>
</ScoreFunction>
<ScoreFunction name="talaris_pure" weights="talaris2014"/>
</SCOREFXNS>
<TASKOPERATIONS>
<InitializeFromCommandline name="init"/>
<ReadResfile name="read_resfile" filename="%%in_resfile%%"/>
<RestrictToRepacking name="rtr"/>
<PreventResiduesFromRepacking name="fix_res" reference_pdb_id="%%pdb_reference%%" residues="%%res_to_fix%%"/>
<SeqprofConsensus name="pssm_cutoff" filename="%%pssm_full_path%%" min_aa_probability="0" convert_scores_to_probabilities="0" probability_larger_than_current="0" keep_native="1"/>
</TASKOPERATIONS>
<MOVERS>
<PackRotamersMover name="soft_design" scorefxn="soft_rep_full" task_operations="init,read_resfile,pssm_cutoff,fix_res"/>
<PackRotamersMover name="hard_design" scorefxn="talaris_full" task_operations="init,read_resfile,pssm_cutoff,fix_res"/>
<RotamerTrialsMinMover name="RTmin" scorefxn="talaris_full" task_operations="init,rtr,fix_res"/>
<MinMover name="soft_min" scorefxn="soft_rep_full" chi="1" bb="1" jump="0"/>
<MinMover name="hard_min" scorefxn="talaris_full" chi="1" bb="1" jump="0"/>
<ConstraintSetMover name="add_CA_cst" cst_file="%%cst_full_path%%"/>
<FavorSequenceProfile name="FSP" pssm="%%pssm_full_path%%" scaling="none" scorefxns="talaris_full" weight="1"/>
<ParsedProtocol name="design_block">
<Add mover_name="soft_design"/>
<Add mover_name="soft_min"/>
<Add mover_name="soft_design"/>
<Add mover_name="hard_min"/>
<Add mover_name="hard_design"/>
<Add mover_name="hard_min"/>
<Add mover_name="hard_design"/>
<Add mover_name="RTmin"/>
<Add mover_name="RTmin"/>
<Add mover_name="hard_min"/>
</ParsedProtocol>
<LoopOver iterations="4" mover_name="design_block" name="iter4"/>
</MOVERS>
<FILTERS>
<ScoreType confidence="0" name="stability_score_full" score_type="total_score" scorefxn="talaris_full" threshold="0"/>
<ScoreType confidence="0" name="stability_without_pssm" score_type="total_score" scorefxn="tal_no_pssm" threshold="0"/>
<ScoreType confidence="0" name="stability_pure" score_type="total_score" scorefxn="talaris_pure" threshold="0"/>
<Rmsd confidence="0" name="rmsd"/>
<Time name="timer"/>
</FILTERS>
<PROTOCOLS>
<Add filter_name="timer"/>
<Add mover_name="add_CA_cst"/>
<Add mover_name="FSP"/>
<Add mover_name="iter4"/>
<Add filter_name="stability_score_full"/>
<Add filter_name="stability_without_pssm"/>
<Add filter_name="stability_pure"/>
<Add filter_name="rmsd"/>
<Add filter_name="timer"/>
</PROTOCOLS>
</ROSETTASCRIPTS>
-ex1
-ex2
-use_input_sc
-extrachi_cutoff 5
-ignore_unrecognized_res
-use_occurrence_data
#-corrections::correct
#-corrections::score:no_his_his_pairE
-chemical:exclude_patches LowerDNA UpperDNA Cterm_amidation SpecialRotamer VirtualBB ShoveBB VirtualDNAPhosphate VirtualNTerm CTermConnect sc_orbitals pro_hydroxylated_case1 pro_hydroxylated_case2 ser_phosphorylated thr_phosphorylated tyr_phosphorylated tyr_sulfated lys_dimethylated lys_monomethylated lys_trimethylated lys_acetylated glu_carboxylated cys_acetylated tyr_diiodinated N_acetylated C_methylamidated MethylatedProteinCterm
#-output_virtual
-linmem_ig 10
-ignore_zero_occupancy false
#-out:path:pdb pdbs/
#-out:path:score scores/
-restore_talaris_behavior true
结束会生成input_example_0001_0001.pdb和score.sc文件
/home/unbuntu/rosetta2019/main/source/bin/rosetta_scripts.default.linuxgccrelease -database /home/unbuntu/rosetta2019/main/database/ -in:file:s pdbs/input_example_0001.pdb -parser:protocol design.xml -parser:script_vars in_resfile=resfiles -parser:script_vars res_to_fix=1A,2A,3A,4A -parser:script_vars pdb_reference=pdbs/input_example_0001.pdb -parser:script_vars cst_full_path=example.cst -parser:script_vars cst_value=0.4 -parser:script_vars pssm_full_path=example.pssm @flags -overwrite
其中relax_mover=min_all删除,一直报错:没有min_all换了whole_min也报错
<ROSETTASCRIPTS>
<SCOREFXNS>
<ScoreFunction name="scorefxn_full" weights="ref2015">
<Reweight scoretype="coordinate_constraint" weight="0.1"/>
<Reweight scoretype="res_type_constraint" weight="0.1"/>
</ScoreFunction>
</SCOREFXNS>
<RESIDUE_SELECTORS>
<Index name="ress_fix" resnums="%%res_to_fix%%"/>
</RESIDUE_SELECTORS>
<TASKOPERATIONS>
<InitializeFromCommandline name="init"/>
<DesignAround name="des_around" design_shell="0.1" resnums="%%current_res%%" repack_shell="8.0"/>
<SeqprofConsensus name="pssm_cutoff" filename="%%pssm_full_path%%" min_aa_probability="-2" probability_larger_than_current="0" convert_scores_to_probabilities="0" keep_native="1" debug="1" ignore_pose_profile_length_mismatch="0"/>
<OperateOnResidueSubset name="fix_res" selector="ress_fix">
<PreventRepackingRLT/>
</OperateOnResidueSubset>
<OperateOnResidueSubset name="not_to_cst_sc">
<Not selector="ress_fix"/>
<PreventRepackingRLT/>
</OperateOnResidueSubset>
</TASKOPERATIONS>
<FILTERS>
<ScoreType name="stability_score_full" scorefxn="scorefxn_full" score_type="total_score" threshold="0.0"/>
<Delta name="delta_score_full" filter="stability_score_full" upper="1" lower="0" range="0.5"/>
<FilterScan name="filter_scan" scorefxn="scorefxn_full" keep_native="1" task_operations="init,des_around,pssm_cutoff,fix_res" delta_filters="delta_score_full" delta="true" resfile_name="resfiles/res_%%current_res%%" report_all="1" delta_filter_thresholds="0.0,0.5,1.0,1.5,2.0,2.5,3.0,3.5,4.0,4.5,5.0,5.5,6.0" score_log_file="scores/res%%current_res%%_score_full.log" dump_pdb="1"/>
</FILTERS>
<MOVERS>
<AtomCoordinateCstMover name="fix_res_sc_cst" coord_dev="0.5" bounded="false" sidechain="true" task_operations="not_to_cst_sc"/>
<ConstraintSetMover name="add_CA_cst" cst_file="%%cst_full_path%%"/>
<FavorSequenceProfile name="FSP" scaling="none" weight="1" pssm="%%pssm_full_path%%" scorefxns="scorefxn_full" />
<MinMover name="whole_min" scorefxn="scorefxn_full" chi="1" bb="1" jump="0"/>
</MOVERS>
<PROTOCOLS>
<Add mover_name="add_CA_cst"/>
<Add mover_name="fix_res_sc_cst"/>
<Add mover_name="FSP"/>
<Add mover_name="whole_min"/>
<Add filter_name="filter_scan"/>
</PROTOCOLS>
<OUTPUT scorefxn="scorefxn_full"/>
</ROSETTASCRIPTS>
-use_input_sc
-extrachi_cutoff 5
-ignore_unrecognized_res
-chemical:exclude_patches LowerDNA UpperDNA Cterm_amidation SpecialRotamer VirtualBB ShoveBB VirtualDNAPhosphate VirtualNTerm CTermConnect sc_orbitals pro_hydroxylated_case1 pro_hydroxylated_case2 ser_phosphorylated thr_phosphorylated tyr_phosphorylated tyr_sulfated lys_dimethylated lys_monomethylated lys_trimethylated lys_acetylated glu_carboxylated cys_acetylated tyr_diiodinated N_acetylated C_methylamidated MethylatedProteinCterm
-linmem_ig 10
-ignore_zero_occupancy false
-s # path to structure file
-out:path:pdb filterpdbs
-out:path:score filterscores
-parser:protocol filterscan.xml
-parser:script_vars current_res=1-73A # a position to mutational ddG for
-parser:script_vars res_to_fix=1A,2A,3A,4A # comma separated list of positions
-parser:script_vars cst_full_path=example.cst # path to Rosetta CST file of CA atoms
-parser:script_vars pssm_full_path=example.pssm # path to pssm file
/home/unbuntu/rosetta2019/main/source/bin/rosetta_scripts.default.linuxgccrelease -database /home/unbuntu/rosetta2019/main/database/ -in:file:s input_example_0001.pdb -parser:protocol filterscan.xml -parser:script_vars res_to_fix=1A,2A,3A,4A -parser:script_vars pdb_reference=input_example_0001.pdb -parser:script_vars res_to_restrict=10A,11A,12A,13A,14A,15A,16A,17A,18A -parser:script_vars cst_full_path=example.cst -parser:script_vars cst_value=0.4 -parser:script_vars pssm_full_path=example.pssm -parser:script_vars scores_path=scores/ -parser:script_vars resfiles_path=resfiles/ @flags -parser:script_vars current_res=${i} -overwrite
创建两个文件夹filterscanpdbs和filterscanscores,生成的文件会放入对应文件夹。
运行命令:
/home/unbuntu/rosetta2019/main/source/bin/rosetta_scripts.default.linuxgccrelease -database /home/unbuntu/rosetta2019/main/database/ -in:file:s pdbs/input_example_0001.pdb -parser:protocol filterscan.xml -parser:script_vars res_to_fix=1A,2A,3A,4A -parser:script_vars pdb_reference=pdbs/input_example_0001.pdb -parser:script_vars res_to_restrict=10A,11A,12A,13A,14A,15A,16A,17A,18A -parser:script_vars cst_full_path=example.cst -parser:script_vars cst_value=0.4 -parser:script_vars pssm_full_path=example.pssm -parser:script_vars scores_path=scores/ -parser:script_vars resfiles_path=resfiles/ @filterscan.flags -parser:script_vars current_res=1-73A -overwrite
其中current_res=1-73A参数,不确定是不是填序列长度。
current_res=${i}
i - the residue number (this script is for a single residue. you need to run it for every residue)