The RosettaScripts interface is one of the most flexible ways to combine different protocols into a full design pipeline. It is perfectly suited for both programmers and non-programmers to generate complex design protocols.

More information on the use of this scripting language can be found in the open documentation and in its release publication:

Fleishman SJ, Leaver-Fay A, Corn JE, Strauch E-M, Khare SD, Koga N, et al. (2011) RosettaScripts: A Scripting Language Interface to the Rosetta Macromolecular Modeling Suite. PLoS ONE 6(6): e20161.

Most Movers, SimpleMetrics and Filters store their evaluation values as regular scores, which can be directly picked by the rstoolbox and properly selected, if needed, through the specified reading options.

Still, rstoolbox is also prepared to pick specially formatted data generated by particular elements:

  • DisplayPoseLabelsMover adds to the silent files the labels assigned to the residues of a design. This can be picked up through the labels option. Notice that, in order to store the labels into the silent file, the option write must be True:

    <DisplayPoseLabelsMover name="(&string;)" write="1" />
  • WriteSSEMover can append secondary structure identification (DSSP), secondary structure prediction (PSIPRED) and phi/psi angles to the silent file, which can be read with the structure, psipred and dihedrals options. This is the main mover called by the function get_sequence_and_structure(). The actual script that is executed can be found in baseline():

    In [1]: from rstoolbox.utils import baseline
       ...: print(baseline())
            <WriteSSEMover dssp="1" name="w" write_phipsi="true" />
            <MinMover name="m" bb="true" chi="true" tolerance=".1" />
            <CavityVolume name="cavity" confidence="0" />
            <PackStat name="pack" confidence="0" />
            <AverageDegree name="avdegree" confidence="0" />
            <Add mover="w" />
            <Add filter="cavity" />
            <Add filter="pack" />
            <Add filter="avdegree" />
  • ddgMover is one of the few that can generate per-residue scores. When such an option is active, the data can be retrieved and properly sorted with the scores_by_residue option. To enforce that behaviour in the mover, the per_residue_ddg option must be True:

    <ddG name="(&string)" per_residue_ddg="1" "/>


Are you using a different design platform that is not Rosetta?

Just add you parser to start taking advantage of rstoolbox in your own pipeline.