PyRosetta uses Python scripting to enable users to create their own custom molecular modeling algorithms using Rosetta sampling methods and score functions.
Here is an example script that models peptide folding using a simple Monte Carlo algorithm that spontaneously folds an extended polyalanine chain into a helical structure using a energy function that only contains hydrogen-bonding and steric repulsion terms.
Here is an example of a more complex script that carries out multi-scale protein-protein docking. It starts from a user-inputted starting structure, and samples the local docking configurations through local perturbations. The energy function identifies the correct docked configuration.