Documentation
Getting Started
Installation and start-up
- If not already installed, download and install Chimera. Sophia has been tested with Chimera v1.8 and higher. ChimeraX, the next generation of Chimera, is not currently supported.
- Go to the Sophia home page. Click download button.
- Unzip Sophia.
- Launch Chimera
-
Click
File
and thenOpen…
. -
Navigate to the Sophia directory and select
launch_sophia.py
. - Click the Sophia icon. It should appear in the toolbar on the left side of the main Chimera window. (Note: in the screenshot below, we’ve already loaded a system of argon atoms; your window will be empty initially).
Visualization Presets
Sophia comes with several visual style presets, but in order to use them, you must first tell Chimera where to find them:
-
In Chimera, click
Presets
and thenAdd Custom Presets…
. - In the Preferences window that appears, click the “Add…” button.
-
Navigate to the Sophia directory and select the
CustomPresets
subdirectory. - In the Prefences window, click the “Save” button and then the “Close” button.
-
Now, if you click
Presets
in Chimera, there should be several new entries to choose from:Custom 1 (SophiaLicorice)
andCustom 2 (SophiaVDW)
.
Basic Concepts
Simulation
In Sophia, a Simulation is made up of three things:
- Universe (what to simulate)
- Recipe (how to simulate it)
- Trajectory (the result of carrying out the Recipe)
Universe
The Universe is the physical system being simulated. It includes the atoms and molecules in the system, as well as the force field (energy function) that describes their interactions.
Recipe
The Recipe is the set of instructions for carrying out the simulation. We refer to each step of the Recipe as an Ingredient. Here's what a sample Recipe might look like:
- Run Molecular Dynamics for 10000 steps, heating from T=1K to T=100K.
- Run Molecular Dynamics for 10000 steps, hold T at 100K.
- Minimize using Steepest Descent for 1000 steps.
(But, actual recipes are not this verbose. They are represented in JSON format, instead of plain English.)
Trajectories and epochs
The Trajectory is the output obtained by carrying out the Recipe on the Universe. We refer to each segment of the trajectory as an Epoch. Each Epoch corresponds to an Ingredient in the Recipe.
User Interface
Main Window
The Main Window
allows you to start new simulations, as well as load and save them. This window also reports the status of Sophia.
- New Simulation: Clears any existing data and initializes Sophia.
-
Load Simulation: Load a previously saved simulation. You must select the
.sophia
file that was created when you saved. -
Save Simulation: Save the current simulation. When prompted, navigate to the directory where you would like to save your simulation. Enter a name for the simulation. Sophia saves several files together, but each one will contain the name you specify as a prefix. To load later, you will need to select the
your_prefix.sophia
file. - Quit Sophia: Clear existing data and close all Sophia windows, returning the user to Chimera.
Universe Window
The Universe Window
is used when creating a new simulation. The input fields are:
- PDB File: click the button and then select a PDB file.
- Force Field: choose from LennardJones, Amber94, Amber99, or GAFF (Generalized Amber Force Field). LennardJones is mainly used for simple atomic simulations, like a box of argon atoms. Amber94 and Amber99 are used for peptides, proteins, and nucleic acids. GAFF is used for small molecule simulations, such as ethane or butane.
-
FF Mod File: the FF Mod File will modify the default force field parameters. It is optional. Click the button and then select a .frcmod file (for Amber or GAFF simulations) or a .mod file (for LennardJones simulations).
Format of .mod files -------------------- Ar, 4.8, 0.3 (atom name), (well depth (kJ/mol)), (R_min (nanometers)) Format of .frcmod files ----------------------- bond modification format: (atom names) (force constant) (equilibrium bond length (angstroms)) example: c3-c3 635.8 1.5400 dihedral modification format: (atom names) (divide barrier by this quantity) (0.5 * energy barrier (kcal/mol)) (phase shift angle (degrees)) (periodicity) example: hc-c3-c3-hc 1 0.00 0.0 3. van der Waals modification format: (atom name) (vdw radius (angstroms)) (well depth (kcal/mol)) example: c3 1.3000 0.1000
The .frcmod format is described in more detail in the Amber documentation. - Box Length: the length of the periodic bounding box. Atoms that pass through the edge will reappear on the other side of the box. Setting this value to zero or negative values will instead create a Universe with no bounding box, i.e. atoms can drift away to infinite separation. Currently, the only available options are: periodic boundary or no boundary.
- Non-bond Cutoff: non-bonded interactions (electrostatic and van der Waals) will not be computed for pairs of atoms separated by greater than this distance.
- Load Universe: after configuring the fields above, click this button to load the Universe.
- Reset Universe: refresh Universe to original state. Any changes since loading the Universe will be wiped out, including any recipe or trajectory data (so use with caution!).
Recipe Window
The Recipe Window
has two panels:
-
Recipe Panel
- This panel lists the Ingredients of the simulation.
- You can save/load recipes using the buttons at the top of the panel.
-
The buttons at the bottom of the panel allow you to:
- Move an existing ingredient up or down in the recipe.
- Initialize a new ingredient.
- Clone an existing ingredient.
- Delete an existing ingredient.
-
When running a simulation, the status of each Ingredient will change from
Initialized
toRunning
and then finally toDone
. When an Ingredient isDone
, it can no longer be deleted. It becomes a permanent part of the history of the simulation.
-
Ingredients Panel
-
When you select an Ingredient in the
Recipe Panel
, the parameters that correspond to that ingredient will appear in theIngredients Panel
. -
Use the
Ingredients Panel
to change the parameter values of the currently select Ingredient. - To change the algorithm of an Ingredient, click on the desired tab (MD for Molecular Dynamics or EM for Energy Minimization).
-
When you select an Ingredient in the
The Ingredients Panel
has four tabs:
-
MD (Molecular Dynamics)
- Num Steps: the number of MD steps to run
-
Output Interval: record energy and coordinates after every
Output Interval
number of steps - Time Step: number of femtoseconds per step
- Initialize Velocities: assign random initial velocities in the x, xy, or xyz dimensions
- Thermostat: adjust temperature by rescaling velocities or adding a Nose thermostat; must use rescaling to raise or lower temperature – use Nose to maintain constant T
- Initial Temperature: starting temperature in Kelvins
-
Final Temperature: ending temperature in Kelvins; velocities will be linearly rescaled over the course of
Num Steps
fromInitial Temperature
toFinal Temperature
(but only ifThermostat
is set toRescale
) -
Rescale Interval: rescale velocities after every
Rescale Interval
number of steps (but only ifThermostat
is set toRescale
) -
Nose Thermostat Relaxation Time: the relaxation time of the thermostat coordinate (only used if
Thermostat
is set toNose
) -
Barostat: used to enable Andersen barostat to regulate pressure in NPT simulations (requires
Box Length > 0
) -
Pressure: pressure of the simulation, enforced by Andersen barostat if
Barostat
is set toAndersen
-
Andersen Barostat Relaxation Time: the relaxation time of the barostat coordinate (only use if
Barostat
is set toAndersen
) -
Remove Translation Interval: subtract the total velocity of the system from each atomic velocity after every
Remove Translation Interval
number of steps -
Remove Rotation Interval: adjusts the atomic velocities such that the total angular momentum is zero after every
Remove Translation Interval
number of steps
-
EM (Energy Minimization)
- Algorithm: SD (Steepest Descent) or CG (Conjugate Gradient)
- Num Steps: the number of EM steps to run; might stop terminate early if convergence criterion is satisfied
-
Output Interval: record energy and coordinates after every
Output Interval
number of steps - Initial Step Size: length scale of first trial move; the step size will be dynamically adjusted as the minimization continues
-
Convergence: halt minimization before
Num Steps
are complete if successive steps change the gradient by less than this amount (the field is asking for the exponent)
-
MC (Monte Carlo)
- Num Steps: the number of MC steps to run
-
Output Interval: record energy and coordinates after every
Output Interval
number of steps - Initial Step Size: length scale of first trial move; the step size will be dynamically adjusted as the minimization continues
- Initial Temperature: starting temperature in Kelvins
-
Final Temperature: ending temperature in Kelvins; velocities will be linearly rescaled over the course of
Num Steps
fromInitial Temperature
toFinal Temperature
-
LD (Langevin Dynamics)
- Num Steps: the number of MD steps to run
-
Output Interval: record energy and coordinates after every
Output Interval
number of steps - Time Step: number of femtoseconds per step
- Initialize Velocities: assign random initial velocities in the x, xy, or xyz dimensions
- Friction: when this parameter is 0, the simulation will behave like molecular dynamics; when this parameter is large, the simulation will behave like brownian dynamics
- Thermostat: adjust temperature by rescaling velocities or adding a Nose thermostat; must use rescaling to raise or lower temperature – use Nose to maintain constant T
- Initial Temperature: starting temperature in Kelvins
-
Final Temperature: ending temperature in Kelvins; velocities will be linearly rescaled over the course of
Num Steps
fromInitial Temperature
toFinal Temperature
(but only ifThermostat
is set toRescale
) -
Rescale Interval: rescale velocities after every
Rescale Interval
number of steps (but only ifThermostat
is set toRescale
) -
Nose Thermostat Relaxation Time: the relaxation time of the thermostat coordinate (only used if
Thermostat
is set toNose
) -
Barostat: used to enable Andersen barostat to regulate pressure in NPT simulations (requires
Box Length > 0
) -
Pressure: pressure of the simulation, enforced by Andersen barostat if
Barostat
is set toAndersen
-
Andersen Barostat Relaxation Time: the relaxation time of the barostat coordinate (only use if
Barostat
is set toAndersen
) -
Remove Translation Interval: subtract the total velocity of the system from each atomic velocity after every
Remove Translation Interval
number of steps -
Remove Rotation Interval: adjusts the atomic velocities such that the total angular momentum is zero after every
Remove Translation Interval
number of steps
Trajectory Window
Use the Trajectory Window
to navigate between the frames and epochs of a simulation. Note: the frames and epochs are 0-indexed, so “0 of 1” means there are two epochs: epoch 0 and epoch 1.
Energy Plot Window
The Energy Plot Window
shows the potential, kinetic, and total (potential + kinetic) energies from the currently loaded simulation. The dark vertical line marks the frame that you are currently viewing. The light gray vertical lines mark epoch boundaries. Clicking on the Previous Epoch
and Next Epoch
buttons in the Trajectory Window
will jump to the nearest epoch boundary in the reverse or forward direction, respectively. The icons along the bottom row of the plot allow you to zoom in/out and save the plot to a png file. From left to right, the icons are:
- Home icon: jump to original view
- Back icon: jump to previous view
- Forward icon: jump to next view
- Arrows icon: translate point of view
- Magnifying glass icon: highlight a region and zoom in
- Square with green arrows icon: adjust aspect ratio of plot
- Disk icon: save plot to .png
Note: when playing a trajectory, plot animations will only function properly in the original view. If you zoom in, the animations will not render correctly. You can always return to the original view by clicking the Home icon.
Structural Measurements
After running a simulation, click on the “Structure Measurements…” button in the Trajectory Viewer window. That pulls up a Chimera dialog that lets you define distances and angles that you want to measure. Control-shift click on each atom of interest and then click “Create” in the Chimera dialog to define a distance or an angle.
After you’ve defined your selections, click the check boxes in Sophia’s Trajectory Viewer window to plot your selected (pseudo)bonds or angles/torsions. When you save a simulation, any distances or angles that have been defined will automatically be saved to file (epoch00_bonds.csv, epoch01_bonds.csv, etc.)
Examples
Running an argon simulation
-
With Chimera open and Sophia loaded, click
New Simulation
in theMain Window
. TheUniverse Window
will appear. -
Click
Load PDB File
. Navigate to the Sophia directory and then to thePDB
subdirectory. Select eitherargon.pdb
orargon2.pdb
. -
Set
Force Field
toLennard Jones
, and then clickLoad Universe
. -
If you’ve loaded Sophia’s visual presets, you can click
Presets
and select theSophiaVDW
preset for a useful van der Waals representation of the argon atoms. -
In the
Recipe Window
, clickNew
to create a new Ingredient. When you clickNew
, the algorithm of the new ingredient will match the tab that is currently selected in theIngredients Panel
. -
To modify the parameters of the new ingredient, first select the ingredient by clicking on it in the
Recipe Panel
. Then, use theIngredients Panel
to change the parameters. Click on a different tab in theIngredients Panel
will change the algorithm of the selected ingredient. -
An alternative to the previous two steps would be to load a saved recipe, rather than creating a new one. To do so, you would click
Load Recipe
and select a recipe from theRecipes
directory, included with Sophia. -
You can duplicate existing ingredients by selecting them in the
Recipe Panel
and clicking theClone
button. Likewise, theDelete
button will remove the selected ingredient. -
When you’ve finished building/loading the simulation recipe, click
Run All Ingredients
. Alternatively, you can click theRun Next Ingredient
button, and the simulation will stop and wait for your input after one ingredient has been completed. -
When the simulation is complete, the trajectory will be loaded for viewing. Use the
Trajectory Viewer
window to play the movie or advance by frame or by epoch. -
To save the simulation, click
Save Simulation…
in theMain Window
. Navigate to the directory where you would like to save your simulation. Enter a name for the simulation. Sophia saves several files together, but each one will contain the name you specify as a prefix. -
You may return to Chimera by clicking
Quit Sophia
. -
It's also possible to add more ingredients and click
Run All Ingredients
again to add more epochs to the trajectory. Note: clicking Run won’t redo the ingredients you’ve already completed; it will only run ingredients that are not yet done.
Running an alanine simulation
Follow the argon procedure except for two changes:
-
In step 2, load
bALA1.pdb
. -
In step 3, select
Amber94
orAmber99
as the force field. -
For better viewing, click
Presets
in the Chimera window and selectSophiaLicorice
. You should see a representation similar to this: