PyRosetta is a Python-based interface to the Rosetta molecular modeling suite. It enables a user to create custom molecular modeling algorithms with Rosetta sampling and scoring functions using Python scripting. PyRosetta is designed to make the sophisticated Rosetta molecular modeling suite accessible to a broader audience of scientists in the life sciences.



Our goal is to enable users to define an algorithm to specifically address a given biomolecular modeling need, and then easily implement that algorithm as a PyRosetta script on a Mac or Linux computer. Users will be able to draw upon objects and functions used in most of the standard algorithms used in Rosetta that is published in scientific literature, such as docking, design, and loop modelling.

PyRosetta design

PyRosetta is a package containing the Python-bindings of the Rosetta v3.0 source code, along with a number of functions that help interface the Rosetta objects with Python for easy scripting.


Users can implement new algorithms or edit existing ones by writing Python scripts using the appropriate Rosetta objects and functions. The use of Python scripts allows the user to freely upload, download, edit, and share their algorithms with the PyRosetta and molecular modeling community through this website. Tutorials and a user's manual are also available.

PyRosetta was created at Johns Hopkins University by Jeffrey J. Gray, Sergey Lyskov, and the PyRosetta Team. Its development is supported by:

 NSF Grant 0846324.

NIH grant R01-GM73151.