PAMDA is a containerized software for Practical
Analysis of Molecular Dynamics.
Pamda was created to facilitate the study and analysis of molecular dynamics without
the need for programming. It has the advantage of being able to analyze very large dynamics,
which would not fit in memory for a traditional analysis.
Pamda is contained within a Docker container, and mostly uses VMD to perform the
analysis. Both are not provided by us and must be obtained and installed separately.
With Pamda you will be able to perform analysis of RMS, contacts between chains,
distances, SASA, BSA and energies. Currently it only supports Gromacs and NAMD
trajectories.
Download
Pamda was released as a docker manager executable that can be downloaded
here
or via direct link with the command:
wget http://biodados.icb.ufmg.br/pamda/pamda
Dependencies
anchor
Docker
Pamda executable will automatically manager the docker container, but you must download and
install
Docker software if you didn't already.
anchor
VMD
Pamda executes the analysis on top of VMD, and, since the authors at University of Illinois
thinks intellectual private property is funnier than making knowledge fully and easily
accessible to all mankind, you must agree to its license and download it separately.
The god news is that it is free and takes only a few minutes following their instructions
here.
Installation
Give downloaded file executable permissions with the command:
chmod +x pamda
Now you can test it with:
./pamda -h
Required Parameters
-md md_path
Path to molecular dynamics file. Currently only accepts dcd
and xtc dynamic types
-str str_path
Path to molecule structure file. Currently only accepts pdb,
psf and gro structure
types
Optional Parameters
-h, --help
Print help and exit program.
-o, --output output_path
Specify path to output folder. Creates folder if it not exists.
By default creates folder in the current directory named with base name.
-n, --name
STR
Specify base name to name output directory (only if not specified by output) and files.
By default uses same name as molecular dynamics file.
-f, --first INT
Frame number to start analysis.
-l, --last INT
Last frame to analyse.
-hgl, --highlight RESID RESID RESID...
List residues indexes separated by space to generate specific measures and highlight in plots
(when running with parameter -G).
You can also specify the chains using comma notation (i.e. 25:A)
-vmd, --vmd-exe vmd_path
Path to VMD executable.
Note
By default Pamda will look for VMD in user's path. Use this parameter only if it
can't find
the correct VMD executable file.
--guess-chains
Tries to automatically guess chains in input molecule.
Warning
This parameter was created to handle Gromacs outputs that transform the entire molecule
into a
single chain. However it should be avoided as it is not state of art and will only work
if residues numbers in different chains are also different. The best option is to
separate chains manually in the structure file before imputing it on the program.
--pbc
Remove periodic boundary conditions before running analysis.
Tip
Use this parameter if you are seeing large fluctuations in analysis results and set
periodic boundary conditions when running dynamics.
Warning
Only use this if you set periodic boundary conditions when running dynamic, otherwise
results will not be reliable.
Analysis
anchor
RMS
-R, --rms
Run root mean square deviation (RMSD) and fluctuation (RMSF) analysis.
Generates four csv files:
all_rmsd Contains RMSD per frame for the entire molecule;
fit RMSD and no fit RMSD per frame for each chain.
residue_rmsf Contains RMSF for each residue.
residue_rmsd Contains no fit RMSD per frame for each
residue individually.
residue_rmsd_sd Contains no fit RMSD standard deviation
for
each residue measured in the entire dynamic; and also RMSD standard deviation measured
separately for every third of the dynamics, representing the movement of each residue at the
beginning, in the middle and at the end of the simulation.
All measurements are in Ångström.
Tip
If you set residues with the --higlight parameter,
-G will also generate no fit RMSD plot for the selected
residues.
Note
RMSD fit is obtained by aligning each chain before measuring atom movement. Meaning that
if you have a chain that simply moved in relation to another, but it is still in the
same configuration, RMSD will be 0. RMSD no fit is obtained by aligning the entire
complex before measuring atom movement, meaning that, in the same situation, RMSD will
not be 0, representing the movement of one chain in relation to another. When there is
only one chain both RMSDs will be the same. You can read more about it
here.
After alignment both RMSD are calculated using
this equation. RMSF are calculated using
this equation.
anchor
Contacts
-C, --contacts
Run contacts analysis between chains. Molecule input must have two or more chains.
For each chain pair measures Non-bonded contacts,
Hydrogen Bonds and Salt Bridges.
For each chain pair and each contact type generates two csv files:
count
Counts the number of contacts of this type per frame.
map Contains complete information about the atom pair
forming a contact: index, resiude, chain. etc; the distance in Ångström between then and
which frame it occurs. For Hydrogen Bonds outputs the first atom is the donor and the second
is the receptor.
--contacts-cutoff FLOAT
Max distance in Ångström to consider a contact.
Default: 3.3
--contacts-hbond-angle FLOAT
Max angle to consider a hydrogen bond.
Default: 30º
--contacts-interval INT
Frame interval to analyse contacts.
If not specified program will decide on its own.
Warning
Salt Bridges shown are putative, not necessarily indicating the formation of a
contact of this type.
Salt Bridges can be formed with different geometry between two residues, what does not
mean more than one bridge are formed. Because of this only one bridge between each pair
of residues will be considered for counting purposes.
You can read more about Salt Bridges
here and
here.
anchor
Distances
-dpair, --dist-pair
INDEX INDEX
Accepts tow space separated indexes to measure distances in Ångström between them.
Use this parameter once for each desired pair.
Generates one csv files:
all_distances
Contains the distance per frame between each pair.
-dtype, --dist-type
TYPE
Type of index passed by -dpair, accepts atom or resid. When resid
is selected the distance will be calculated between the centers of mass of each residue.
Default: resid
Note
VMD starts atom idexing at 0, but pdb starts at 1. Meaning that atom index observed in
pdb
should be subtracted by one before inputting into the program.
anchor
SASA
-S, --sasa
Run solvent accessible surface area (SASA) and buried surface area (BSA) analysis.
Generates two csv files:
all_sasa
Contains SASA and BSA in Ångström per frame for the entire molecule and for each chain.
hgl_sasa
Only if --higlight parameter was used.
Contains SASA and BSA in Ångström per frame for each residue specified with the
--higlight parameter.
--sasa-radius FLOAT
Radius in Ångström used to calculate SASA
Default: 1.4
--sasa-interval INT
Frame interval to analyse SASA.
If not specified program will decide on its own.
anchor
Energies
-E, --energies
Only works with psf structure files.
Run energies analysis. Run interaction energies analysis for each chain pair if number of
chains is two or more.
Generates one csv files plus one for each chain pair:
all_energies Contains energies per frame for the entire
molecule. Energies measured are Bond, Angles, Dihedrals, Impropers, Electrostatic,
VdW, Conformational, Nonbond and Total.
interaction_energies Contains interaction energies per
frame between each chain pair. Energies measured are Electrostatic, VdW, Nonbond
and Total.
Graphs
-G, --graphs
Creates plots for each requested analysis. Plots are saved in folder
graphs inside output folder
as
png images.
Also generates html page results_viewer
inside graphs folder to allow a more user friendly
visualization
of
results.
You can help by fixing bugs, implementing new features, improving analysis,
keeping docs clean and up to date, in short, any contribution is always welcome.
We use GitHub,
so all code changes happen through pull requests.
- Fork the repository and create your branch from master.
- If you've changed the functionality, also issue a documentation update.
- Issue the pull request! 🎉
Disclaimer
This product comes with no warranty whatsoever.
This product is not an official VMD release or has any affiliation to it.
This software includes code developed by the Theoretical and Computational Biophysics Group in
the Beckman Institute for Advanced Science and Technology at the University of Illinois at
Urbana-Champaign.
Third party licenses not obtained by the user are provided with its software.