Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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; that tool’s documentation contains more details.

Table of Contents

Quickstart

Command Line Examples

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

Code Block
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:

Code Block
languagepy
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

    with the residues starting at 1 and increasing monotonically (1,2,3,4,…).  Files downloaded from Cyrus Bench will be formatted in this way.  
    • CLI argument: --pdb-file input.pdb

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

    • Do not include nonprotein residues.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 and end – The index of the first and last loop residue (the first residue of the protein has an index of 1)

    • CLI Arguments: --loop-start 11 --loop-end 20

    • Python submit() argument: loop_start=11, loop_end=20

  • Optional – Number of Repeats.  The number of different loop conformations the loop modeling API will return.

    • CLI argument: --repeats 5

    • Python submit() argument: repeats=5

Command Line Examples

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

Code Block
cyrus submit loop-modeling input.pdb --loop-start 11 --loop-end 20 --repeats 10

Python Examples

Here is how you do something:

Code Block
languagepy
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)

...

  • --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

Info

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

...

Output File interpretation

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 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.