Skip to content

Rosetta 3.15 - User Guide

Cluster: XLence (UNIMI Dipartimento di Scienze Farmacologiche e Biomolecolari) Date: October 12, 2025 Installation: /sw/rosetta/3.15_ARCH/ (ARCH = avx2 or avx512)


πŸ“¦ Version Information

Rosetta: 3.15 (stable release) PyRosetta: 3.15 (Python bindings included) Python: 3.12 (miniforge3/20250911) Compiler: GCC 13.2 with AVX/AVX512 optimizations

Architecture Detection

The module automatically detects your CPU and loads the appropriate version: - AVX2 build: Login node - Intel i9-12900 - AVX-512 build: Compute nodes (node1-5, ngs) - Intel Xeon W-2155


πŸš€ Loading the Module

# For C++ applications only
module load rosetta/3.15

# For PyRosetta (Python bindings)
module load miniforge3
module load rosetta/3.15

# Verify loaded version
echo $ROSETTA_ROOT
echo $ROSETTA_ARCH      # Shows: avx2 or avx512
echo $ROSETTA_DATABASE

The module will automatically display which architecture was detected.


πŸ’» Main Executables

Core Applications

Executable Description
rosetta_scripts General-purpose protocol executor (XML-based)
score Energy scoring of structures
relax Structure relaxation and refinement
minimize Energy minimization

Protein Design

Executable Description
fixbb Fixed backbone design
fast_design Sequence design with backbone flexibility
remodel Loop modeling and design
simple_cycpep_predict Cyclic peptide structure prediction

Docking & Interactions

Executable Description
docking_protocol Protein-protein docking
FlexPepDock Peptide-protein docking
antibody_H3 Antibody CDR-H3 loop modeling

Structure Prediction

Executable Description
AbinitioRelax Ab initio structure prediction
hybridize Template-based modeling
loopmodel Loop modeling and refinement

Analysis Tools

Executable Description
extract_pdbs Extract structures from silent files
score_jd2 Batch scoring of structures
InterfaceAnalyzer Protein interface analysis

🐍 PyRosetta (Python Interface)

PyRosetta provides a Python interface to all Rosetta functionality.

Loading PyRosetta

#!/usr/bin/env python3
import pyrosetta
pyrosetta.init()

# Load a pose
pose = pyrosetta.pose_from_pdb("input.pdb")

# Score the structure
scorefxn = pyrosetta.get_score_function()
score = scorefxn(pose)
print(f"Score: {score}")

Python Tools

Module Description
pyrosetta.rosetta Access to all C++ Rosetta objects
pyrosetta.toolbox High-level Python utilities
pyrosetta.teaching Educational tools and examples

πŸ“– Usage Examples

1. Structure Relaxation (CPU)

#!/bin/bash
#SBATCH --job-name=rosetta_relax
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=8
#SBATCH --time=24:00:00

module purge
module load rosetta/3.15

# Relax structure
relax.linuxgccrelease \
  -s input.pdb \
  -relax:constrain_relax_to_start_coords \
  -nstruct 10 \
  -out:suffix _relaxed

2. Protein Design with RosettaScripts

#!/bin/bash
#SBATCH --job-name=rosetta_design
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=16
#SBATCH --time=48:00:00

module purge
module load rosetta/3.15

# Run design protocol
rosetta_scripts.linuxgccrelease \
  -parser:protocol design_protocol.xml \
  -s input.pdb \
  -nstruct 100 \
  -out:prefix design_ \
  -out:path:all output/

Example XML protocol (design_protocol.xml):

<ROSETTASCRIPTS>
  <SCOREFXNS>
    <ScoreFunction name="ref15" weights="ref2015"/>
  </SCOREFXNS>
  <TASKOPERATIONS>
    <InitializeFromCommandline name="init"/>
    <RestrictToRepacking name="rtr"/>
  </TASKOPERATIONS>
  <MOVERS>
    <PackRotamersMover name="design" scorefxn="ref15" task_operations="init"/>
    <MinMover name="min" scorefxn="ref15" chi="true" bb="false"/>
  </MOVERS>
  <PROTOCOLS>
    <Add mover="design"/>
    <Add mover="min"/>
  </PROTOCOLS>
</ROSETTASCRIPTS>

3. PyRosetta Script (Python)

#!/bin/bash
#SBATCH --job-name=pyrosetta_job
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=4
#SBATCH --time=12:00:00

module purge
module load miniforge3
module load rosetta/3.15

python3 my_design_script.py

Example script (my_design_script.py):

#!/usr/bin/env python3
import pyrosetta
from pyrosetta import rosetta

# Initialize PyRosetta
pyrosetta.init("-mute all")

# Load structure
pose = pyrosetta.pose_from_pdb("input.pdb")

# Setup score function
scorefxn = pyrosetta.get_score_function()

# Design protocol
task_factory = rosetta.core.pack.task.TaskFactory()
task_factory.push_back(rosetta.core.pack.task.operation.InitializeFromCommandline())

pack_mover = rosetta.protocols.minimization_packing.PackRotamersMover()
pack_mover.task_factory(task_factory)
pack_mover.score_function(scorefxn)

# Run design
for i in range(10):
    test_pose = pose.clone()
    pack_mover.apply(test_pose)
    score = scorefxn(test_pose)
    test_pose.dump_pdb(f"design_{i:03d}.pdb")
    print(f"Design {i}: {score:.2f}")

4. Protein-Protein Docking

#!/bin/bash
#SBATCH --job-name=rosetta_dock
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=12
#SBATCH --time=48:00:00

module purge
module load rosetta/3.15

# Docking protocol
docking_protocol.linuxgccrelease \
  -s complex.pdb \
  -partners A_B \
  -dock_pert 3 8 \
  -nstruct 1000 \
  -out:path:all docking_output/

πŸ”§ Common Options

Input/Output

Option Description
-s <file> Input structure (PDB)
-l <listfile> List of input structures
-nstruct N Number of output structures
-out:suffix <suffix> Add suffix to output files
-out:prefix <prefix> Add prefix to output files
-out:path:all <dir> Output directory

Database

Option Description
-database <path> Rosetta database path (auto-set by module)

Scoring

Option Description
-score:weights <file> Score function weights file
-restore_pre_talaris_2013_behavior Use older score function

Performance

Option Description
-mute all Suppress most output
-constant_seed Use constant random seed (reproducibility)
-jran <seed> Set random seed

πŸ“š Documentation & Tutorials

Online Resources

  • Official Documentation: https://docs.rosettacommons.org/
  • RosettaScripts: https://www.rosettacommons.org/docs/latest/scripting_documentation/RosettaScripts/RosettaScripts
  • PyRosetta Tutorials: https://www.pyrosetta.org/documentation
  • Rosetta Forums: https://www.rosettacommons.org/forum

Local Examples

# Rosetta demo files
ls $ROSETTA_ROOT/demos/

# PyRosetta tutorials
ls $ROSETTA_ROOT/source/src/python/PyRosetta/src/

Common Workflows

  1. Protein Design
  2. Load structure β†’ Define designable positions β†’ Run FastDesign β†’ Analyze results

  3. Structure Prediction

  4. Generate fragments β†’ Run AbinitioRelax β†’ Cluster structures β†’ Select models

  5. Protein-Protein Docking

  6. Prepare complex β†’ Randomize orientation β†’ Run docking β†’ Score interface

  7. Loop Modeling

  8. Define loop region β†’ Generate fragments β†’ Build loops β†’ Refine

🐞 Troubleshooting

Common Issues

1. "Cannot find database"

# Database path should be set automatically
echo $ROSETTA_DATABASE

# If not set:
module unload rosetta/3.15
module load rosetta/3.15

2. "Segmentation fault" or crashes - Check if you're on correct node architecture - AVX512 binaries will crash on AVX2-only CPUs

echo $ROSETTA_ARCH  # Verify loaded architecture
grep avx /proc/cpuinfo | head -1  # Check CPU capabilities

3. PyRosetta import fails

# Ensure miniforge3 is loaded first
module load miniforge3
module load rosetta/3.15

# Verify PYTHONPATH
echo $PYTHONPATH | grep rosetta

4. "Cannot find input PDB"

# Use absolute paths or ensure working directory is correct
rosetta_scripts.linuxgccrelease -s $PWD/input.pdb ...

5. Out of memory

# Request more memory in SLURM
#SBATCH --mem=16G

# Or reduce number of parallel operations

πŸ’‘ Best Practices

Job Submission

  1. Always use batch scripts - Don't run large jobs interactively
  2. Request appropriate resources - Rosetta is CPU-intensive
  3. Use -nstruct wisely - Generate enough decoys for sampling
  4. Set random seeds for reproducibility with -constant_seed

Performance Tips

  1. Use AVX512 nodes for compute-intensive jobs (faster)
  2. Parallelize with -nstruct not MPI (unless protocol supports it)
  3. Use silent files for large-scale runs (more efficient than PDB)
  4. Profile first - Test with small -nstruct before full production

Data Management

  1. Silent files - More compact than individual PDBs bash # Extract structures from silent file extract_pdbs.linuxgccrelease -in:file:silent output.out -in:file:tags tag1 tag2

  2. Score files - Track energy terms bash # Rosetta creates score.sc automatically less score.sc

  3. Checkpoint your work - Long jobs may timeout bash # Use multiple short jobs instead of one very long job


# For molecular visualization
module load pymol

# For trajectory analysis (if applicable)
module load vmd

# For sequence analysis
module load blast

πŸ“ž Support

Local Admin: uliano.guerrini@unimi.it Rosetta Forums: https://www.rosettacommons.org/forum Bug Reports: https://github.com/RosettaCommons/rosetta/issues


πŸ“ Citation

If you use Rosetta in your research, please cite:

Leaver-Fay A, et al. (2011). ROSETTA3: an object-oriented software suite for the simulation and design of macromolecules. Methods Enzymol 487:545-574.

For PyRosetta:

Chaudhury S, et al. (2010). PyRosetta: a script-based interface for implementing molecular modeling algorithms using Rosetta. Bioinformatics 26(5):689-691.


Last Updated: October 12, 2025 Module Version: rosetta/3.15 Installation: /sw/rosetta/3.15_avx2 and /sw/rosetta/3.15_avx512