You are here

Specifying resfile in rosetta scripts

5 posts / 0 new
Last post
Specifying resfile in rosetta scripts
#1

Hi, I want to design a protein interface by rosetta scripts with the positions I want to mutate stated in a resfile.
However, the output generated included mutations in other positions which were not stated in the resfile. 
I wonder if there is something wrong with my scripts.
Would you mind glancing through the following (.xml, flags, resfile and the command of running)?
Thank you very much for your help!!!

 1) design_script.xml

<ROSETTASCRIPTS>
    <SCOREFXNS>
    </SCOREFXNS>
    <FILTERS> 
    <Ddg name="ddg_binding" threshold="0" scorefxn="talaris2014" repeats="3" repack="1"/>
    DDG filter computes binding score for the complex
    (threshold=0 only allows complexes with negative binding score)
    (repeats=3 calculates binding score three times and returns average)
    (repack=1 repack complex in both bound and unbound states to calculate binding score)
    <Sasa name="sasa" threshold="800"/>
    SASA filter computes interface solvent-accessible surface area
    (threshold=800 only allows complexes with greater than 800 Å^2
    as per Janin et al., Quarterly Reviews of Biophysics, 2008)
  </FILTERS>
    <TASKOPERATIONS>
        <ProteinInterfaceDesign name="design" repack_chain1="1" repack_chain2="1" design_chain1="1" design_chain2="0" interface_distance_cutoff="8"/>
        Designs and repacks interface residues of chain 1 and repacks interface residues of chain 2
        <InitializeFromCommandline name="cmdline"/>
        Reads command line options
    </TASKOPERATIONS>
    <MOVERS>
        <Docking name="dock1" fullatom="1" local_refine="1"/>
        Runs local refinement stage of full atom docking
        <PackRotamersMover name="packrot" scorefxn="talaris2014" task_operations="design,cmdline"/>
        Runs protein interface design
        <MinMover name="min" scorefxn="talaris2014" chi="1" bb="1" type="dfpmin_armijo_nonmonotone" tolerance="0.01"/>
        Runs full atom side-chain and backbone minimization
    </MOVERS>
    <PROTOCOLS>
        Runs movers and filters in this order
        <Add mover_name="dock1"/>
        <Add mover_name="packrot"/>
        <Add mover_name="min"/>
        <Add filter_name="ddg_binding"/>
           <Add filter_name="sasa"/>
    </PROTOCOLS>

</ROSETTASCRIPTS>


2) flags

-database /home/xtal/rosetta3.8/rosetta_bin_linux_2017.08.59291_bundle/main/database
-s ./complex.pdb
-correct
-ex1
-ex2
-extrachi_cutoff 5
-ignore_unrecognized_res
-run:constant_seed
-nstruct 100
-packing:resfile try-resfile1.txt
-jd2:ntrials 10
-parser:protocol ./design_script.xml
-docking:no_filters


3) try-resfile1.txt

NATAA
USE_INPUT_SC
start
79 C ALLAA
80 C ALLAA
81 C ALLAA
82 C ALLAA
83 C ALLAA
84 C ALLAA
85 C ALLAA
86 C ALLAA

4) Command of running

# Program environments

ROSETTA_TOP=/home/xtal/rosetta3.8/rosetta_bin_linux_2017.08.59291_bundle/main/source/bin

# Program commands

/opt/openmpi/3.1.0/bin/mpirun $ROSETTA_TOP/rosetta_scripts.mpi.linuxgccrelease @flags


Your help is much appreciated!

Category: 
Post Situation: 
Mon, 2019-03-18 02:19
johnnytam100
Mon, 2019-03-18 13:12
ajasja

I have just tried it, and played with it for different movers, but didn't work (i.e. there were designs of unwanted positions).

I have a question though, if I specify a resfile using taskoperations and simultaneously use the taskoperation <ProteinInterfaceDesign name="design" repack_chain1="1" repack_chain2="1" design_chain1="1" design_chain2="0" interface_distance_cutoff="8"/>, will resfile override the design_chain annotation? It is because resfile also specifes which chain to design.

Tue, 2019-03-19 02:34
johnnytam100

It shouldn't. But you can use OperateOnResidueSubset with PreventRepackingRLT to prevent design of whatever you don't like. 

https://www.rosettacommons.org/docs/latest/scripting_documentation/RosettaScripts/TaskOperations/TaskOperations-RosettaScripts

Thu, 2019-03-21 09:36
ajasja

To clarify, in RosettaScripts, `-packing:resfile` is not one of the command line option which is read by InitializeFromCommandline. If you want the resfile to be observed by RosettaScripts movers, you need to use something like the ReadResfile task operation, and include that task operation in the list of task operations for that mover.

Regarding combining task operations (like specifying both a ReadResfile and ProteinInterfaceDesign task operation to a PackRotamersMover), task operations are restrictive. The common analogy is to imagine it as ice carving - you start with a big block of ice (being able to design to all amino acids at all positions) and then the task operations go through and carve out (turn off design) everything that doesn't fit with what they allow.

In your example, your resfile turns off design (NATAA) to everything that's not residue 79-86. When combined with the interface design, they stay turned off.  Additionally, if the ProteinInterfaceDesign operation thinks certain residues in that 79-86 set (say residues 79-81) aren't in the interface, you'll also turn those off, so the combination of the two operations will only permit design at 82-86.

It also works in a restrictive fashion for amino acid identities. If you combine a  PIKAA FYWH with a PIKAA LMFW (or their equivalents), the result will be the equivalent of PICKAA FW -- you only get the designs/movements that are permitted by all the task operations you apply.

Fri, 2019-03-29 09:30
rmoretti