Member Site › Forums › Rosetta 3 › Rosetta 3 – General › Modeling circular permutation and domain insertion › Reply To: Modeling circular permutation and domain insertion
Just to clarify, PyRosetta and Rosetta are basically the same thing – PyRosetta is simply a version of the Rosetta library wrapped to be available to Python programs, as opposed to the native C++. RosettaScripts is an application in the C++ version of Rosetta which allows you to build custom protocols via XML files.
RosettaScripts works well if you can conceptualize your proceedure as a sequential application of the basic mover building blocks which are currently available in RosettaScripts (see http://www.rosettacommons.org/manuals/archive/rosetta3.2_user_guide/RosettaScripts.html for a list of available components in 3.2.1)
If you need something that’s not currently available in RosettaScripts, or your proceedure is more complicated than a simple sequential application (e.g. complex conditionals, complicated looping structures), then PyRosetta would be a better choice. (PyRosetta can handle the simple sequential protocols as well). You have access to almost all of the Rosetta library, but through a convenient, full-featured scripting language (Python).
A third option, if you’re especially hard-core or doing something that’s not possible with RosettaScripts or PyRosetta, is to write a new Rosetta executable in C++ (or modify an existing one) and compile it, linking in the Rosetta library. This gives you the most flexibility with Rosetta, but it’s also the most prone to frustration. I’d definitely recommend trying RosettaScripts/PyRosetta first.