Tutorials‎ > ‎

Legacy PyRosetta Tutorials

PyRosetta workshops are NOW in Jupyter Notebook format AT https://rosettacommons.github.io/PyRosetta.notebooks/. The expanded set of Jupyter Notebook workshops can be used in a free Google Colaboratory environment or on a local machine. These workshops go step-by-step through the basics of PyRosetta, from an introduction to PyMOL, to accessing and manipulating protein structures in Rosetta, to development and design of simple AND ADVANCED protocols.

[PyRosetta Jupyter notebooks]

Below is the old and DEPRECATED PyRosetta tutorials which is no longer supported.

A variety of tutorials are provided here for your convenience. The main source of training for the use of PyRosetta is found in a set of workshops that go step-by-step through the basics of PyRosetta, from an introduction to PyMOL, to accessing and manipulating protein structures in Rosetta, to development and design of simple protocols. 

(Deprecated) PyRosetta Workshops

Some of the PyRosetta Jupyter Notebooks are based on the deprecated PDF versions below, which are still available for download. The entire 3rd edition - PyRosetta4 Update of the workbook is also available for purchase through Amazon. For the most up-to-date set of workshops, please go to the PyRosetta Notebooks GitHub page or public repository.

Cover of the 2nd edition of
The PyRosetta Interactive Platform for Protein Structure Prediction and Design:
A Set of Educational Module


The Preface to the workshops with information about the team that designed PyRosetta. 

Workshop #1: PyMOL

A brief introduction to PyMOL and its use as a tool for structural biology. PyMOL is the preferred visualization tool to accompany these Workshops and the sample scripts. See also the PyMOL_Mover Tutorial.

Workshop #2: PyRosetta

An introduction to PyRosetta as a tool for structural biology. This tutorial covers Pose objects, how to obtain and load PDB files, and how to probe PyRosetta for structural data. The sample script D010_Pose_structure.py accompanies this workshop.

Workshop #3: PyRosetta Scoring

An introduction to Rosetta scoring as a tool for modeling energetic characteristics of molecules. This tutorial covers ScoreFunction objects and several of the most important score terms (ScoreType objects). The sample script D020_Pose_scoring.py accompanies this workshop.

Workshop #4: PyRosetta Folding

An introduction to conformation space sampling with PyRosetta, specifically in the context of low-resolution (centroid) folding algorithms. This tutorial covers the centroid representation of molecules, general Monte Carlo algorithms, Movers, and the technique of fragment insertion. The sample script D060_Folding.py accompanies this workshop.

Workshop #5: PyRosetta Refinement

An introduction to Rosetta full-atom conformation space sampling. This tutorial covers many Mover classes, including MinMoverSmallMoverShearMoverRepeatMoverSequenceMover, and TrialMover and introduces the MonteCarlo object. The sample scripts D040_Movemap.py and D070_Refinement.py accompany this workshop.

Workshop #6: Packing & Design

An introduction to side-chain conformation sampling using rotamer libraries (termed packing) and PyRosetta's design capabilities. This tutorial covers the PackerTaskPackRotamersMover, and resfile syntax. The sample script D050_Packer_task.py accompanies this workshop. The tool script generate_resfile.py eases usage of PackerTask objects.

Workshop #7: Docking

An introduction to Rosetta docking using the DockingProtocol. This tutorial covers FoldTree objects, protein–protein docking, and the PyJobDistributor. The sample scripts D030_Fold_tree.py and D100_Docking.py accompany this workshop.

PyRosetta supports the validated Rosetta docking protocol and is useful for applications beyond protein–protein docking that are not covered in the this workshop. Please consult the sample scripts D110_DNA_interface.pyD120_Ligand_interface.py, and D090_Ala_scan.py for more information.

Workshop #8: Loop Modeling

An introduction to protein loop modeling using the Cyclic Coordinate Descent (CCD) and algorithm. This tutorial covers loop modeling FoldTrees and CCD and KIC loop closures. The sample scripts D030_Fold_tree.py and D080_Loop_modeling.py accompany this workshop.

Workshop #9: Custom Movers & Energy Methods

An introduction to utilizing Python's object-oriented features to create custum PyRosetta Movers and EnergyMethods that inherit from Rosetta parent classes. This tutorial is a new addition to the 2nd edition of the Workshops.

Appendix A: Command Reference

A brief command reference for PyRosetta commands. Currently, an enumeration of all the working objects and methods would take too much time. Please use the built-in help and tab-completion features of an interactive Python environment, such as IPython, to explore PyRosetta on your own. Also consult our documentation for additional suggestions and our FAQ.

Appendix B: Residue Parameter Files

A brief explanation of the .params file syntax used to store chemical information in Rosetta. If you are using ligands in PyRosetta, please consult the sample script D120_Ligand_interface.py and the tool scripts mutants.pymolfile2params.py, and load_ligand.py.

Appendix C: Cleaning pdb Files

Examples of various methods of preparing .pdb files for use in PyRosetta.

Appendix D: Links to Online Help

A list of helpful Internet sites.


A Coda concluding the PyRosetta Workbook.  

Coming to the Third Edition Soon

Workshop #10: Nucleic Acids

A tutorial planned for the 3rd edition of the Workshops.

Workshop #11: Ligands & Non-canonical Amino Acids

A tutorial planned for the 3rd edition of the Workshops.

Workshop #12: NMR Constraints

A tutorial planned for the 3rd edition of the Workshops.

Workshop #13: Carbohydrates

A tutorial planned for the 3rd edition of the Workshops.

Workshop #14: Membrane Proteins

A tutorial planned for the 3rd edition of the Workshops.

Other Printable Tutorials

RosettaCarbohydrate Tutorial/Demo

This document, written by Jason W. Labonte, uses IPython to demonstrate how to work with carbohydrates in PyRosetta.

Web Tutorials


A new feature beginning with PyRosetta 2.0 is the PyMOL_Mover, an object built specifically to transmit data directly to PyMOL for quick visualizations. Workshops #2 and #3 introduce a few PyMOL_Mover features; for further options, please use the PyMOL_Mover Tutorial.

Ligand Applications & PDB Files

The sample script D120_Ligand_interface.py outlines several of the objects available in PyRosetta for modeling protein–ligand interactions. Obtaining and reading ligands in PyRosetta can be difficult, so we have provided a tutorial to guide users through the process.

For DNA–protein applications, use the sample script D110_DNA_interface.py as a starting point. (You will not need to alter the chemical database as is necessary for using ligands

Tutorial Videos

Slide Presentation

You may also wish to view the slides to a presentation given at the 2012 RosettaCON, which covers some material not yet available in the workshops.

PyRosetta Installation Document

A document outlining the process required to get PyRosetta up and running on your machine.