Molecular dynamics (MD) uses numerical integration to follow the motion of a molecular system over time. For proteins, an explicit-solvent simulation can show how a structure relaxes, whether a region remains compact, and which parts of the system are especially mobile. Protein MD can also be very useful to analyze chain–chain interactions, study binding between proteins and peptides or small molecules, or generally study the dynamic behavior of complex biomolecular assemblies.
Rowan's protein MD workflow starts from a protein structure and builds an explicit-solvent simulation system automatically. Before submission, Rowan can validate that the protein is compatible with the molecular mechanics forcefield and identify problems such as unsupported residues or clashing atoms.
The main simulation settings include:
Each trajectory is returned separately so that replicate behavior can be compared rather than reduced to a single average. Protein MD results include:
Trajectory files can also be saved and downloaded for analysis in other molecular-dynamics tools. Results can be viewed through Rowan's web application or retrieved through the API.
From the web application, upload or select a protein, choose Protein MD, review the system-compatibility check, and set the simulation parameters before submitting the job. A protein can also be supplied to the API as a Rowan protein UUID or a Protein object.
import rowan
# Set your API key or use the ROWAN_API_KEY environment variable
# rowan.api_key = "rowan-sk..."
folder = rowan.get_folder("examples")
protein = rowan.create_protein_from_pdb_id(
"crambin",
"1CRN",
project_uuid=rowan.default_project().uuid,
)
protein.prepare()
md_workflow = rowan.submit_protein_md_workflow(
protein=protein,
num_trajectories=1,
simulation_time_ns=1,
name="MD on crambin",
folder=folder,
)
print(f"View the workflow privately at: https://labs.rowansci.com/protein-md/{md_workflow.uuid}")
For a complete example, see Rowan's protein MD example on GitHub. For longer or more specialized simulations, review the available parameters in the API documentation.