Day 1: Concept‎ > ‎

RosettaScripts

RosettaScripts is an XML interface to Rosetta Functions. RosettaScripts was designed to give someone with no programming experience ability to develop complex rosetta protocols.
RosettaScripts allows you to defined Score Functions, Task Operations (defines what the packer can/cannot do, also interacts w/ the Residue Selector), that are passed to Filters and Movers, which are then combined to form a Protocol! Finally, the output from the Protocol can be re-scored by a given Score Function.

Example: Prepare structure for Rosetta/Foldit!
  1. Download PDB structure:
    perl ~/tools/get_pdb.pl 4RGI A > 4RGI_A.pdb
  2. Prepare "flags" file:
    -in:file:s 4RGI_A.pdb
    -nstruct 20 # generate 20 structures
    -beta # enable latest score function
  3. Prepare RosettaScripts "xml" file
    <ROSETTASCRIPTS>
        <SCOREFXNS>
            <beta weights="beta.wts">
                <Reweight scoretype="coordinate_constraint" weight="1" />
            </beta>
        </SCOREFXNS>
        <TASKOPERATIONS>
            <IncludeCurrent name="use_input_sc" />
            <ExtraRotamersGeneric name="add_rot" ex1="1" ex2="1" />
        </TASKOPERATIONS>
        <FILTERS></FILTERS>
        <MOVERS>
            <VirtualRoot name="add_vrt" />

            <AtomCoordinateCstMover name="add_cst" />
            <FastRelax name="relax" scorefxn="beta" task_operations="use_input_sc,add_rot" />
        </MOVERS>
        <PROTOCOLS>
            <Add mover_name="add_vrt" />
            <Add mover_name="add_cst" />
            <Add mover_name="relax" />
        </PROTOCOLS>
        <OUTPUT scorefxn="beta" />
    </ROSETTASCRIPTS>
  4. Run RosettaScripts app:
    rosetta_scripts.default.linuxgccrelease @flags -parser:protocol xml