Loop Modeling

The Loop Modeling API runs the Rosetta Next Generation KIC loop modeling protocol.  This API is useful for modeling loops of between 5 and 17 residues.  This tool is suitable for resampling the conformations of existing loops (See Notes for limitations).  It is the same underlying tool as our Loop Rebuild Action in Bench.

Quickstart

Command Line Examples

Create 20 models of the loop between residue indices 11 and 20:

cyrus engine submit loop-modeling input.pdb --loop-start 11 --loop-end 20 --repeats 20

Python Examples

Create 10 models of the loop between residue indices 11 and 20:

from engine.loop_modeling.client import LoopModelingClient client = LoopModelingClient() job_id = client.submit(pdb_path="input.pdb", loop_start=11, loop_end=20, repeats=10)

Inputs

  • --pdb-file (str)

    • Input PDB file – a cleaned and/or relaxed PDB file

    • CLI argument: --pdb-file input.pdb

    • Python submit() argument: pdb-file=”input.pdb”

    • Do not include multimodel (NMR-sourced) PDBs.  

    • Cyrus strongly recommends using the Prepare or Relax tool in Cyrus Bench to preprocess models before uploading to this API.  This will provide a more stable scoring baseline and will make interpreting results easier.

  • --loop-start (int32)

    • Loop starting position (index of first loop residue)

  • --loop-end (int32)

    • Loop ending position (index of last loop residue

Options

  • --repeats (int32)

    • The number of different loop conformations to return

    • default = 10

Outputs

  • models (directory)

    • PDB files with remodeled loops.  The models will be in the form input_####.pdb, where #### is an index (0001, increasing).  

  • score.sc

    • A Rosetta score file containing the scores of the returned PDBs with remodeled loops

Notes

Output File interpretation

Results can be downloaded if and only if a job has succeeded – DONE state, see the list command below.  If no viable arrangements are identified, the job will have failed (status FAILED) and attempting to download its results will give an error message stating that there are no models.

The model numbering is irrelevant to quality. 

Model quality can be assessed via scores.  Broad documentation on interpreting scores can be found here.  The score.sc file is a space-delimited data table, padded for easier reading.  It can be parsed with pandas dataframes, excel, or your tool of choice.  In the score.sc file, pay particular attention to the total_score column.  The total_score is Rosetta’s overall grade for a model.  The total_score should have a negative value for good models, although this will depend enormously on the quality of the input model. 

Limitations

  • This tool is only meant for remodeling existing loops.  For modeling loops with missing residues, or that start in a broken (backbone discontiguous) state, we recommend using the AI Folding API or our single-chain HM tool to make an initial model and follow up with this tool.  If you are interested specifically in the problem of replacing missing, empty, or broken loops; or changing the length of a loop in an existing model, contact us for a quote on an API tool with that functionality.

  • The lower loop length limitation is a function of the underlying algorithm.  KIC loop closure has a minimum of 3 residues because, using their phi and psi angles, it sets up a 6 degree of freedom system of equations to solve to close the loop (sampling remaining torsions randomly or by other configurable methods).  We have set the minimum here at 5 because performance below that range is uneven.

  • The upper loop length limitation of 17 is a function of both algorithm quality and computational efficiency.  This tool is benchmarked to perform well on 12 residue loops.  As loops get longer sampling is less efficient and the tool will perform less well.  If you are interested in longer loops, contact us and we can quote you on a version of the tool that will perform better for longer loops.