About PamdaLast updated: 2022-10-12

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.

Installation Last updated: 2022-10-12

Currently we only support linux platforms.

TL;DR

Tutorial for the hurried:

wget http://biodados.icb.ufmg.br/pamda/pamda
chmod +x pamda
./pamda -h

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

Documentation Last updated: 2022-11-22

Basic usage:

pamda -md <md_path> -str <str_path> <optional parameters>

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.

Change Log Last updated: 2022-11-22

v 2

anchor

v 2.1

 [2.1.1] - 2022-11-22
  • Changed RMSF to match formula.
  • Added RMSD standard deviation analysis for each residue.
  • Warnings now makes program wait a bit.
 [2.1.0] - 2022-10-12
  • Added Hydrogen Bonds and salt bridges to contacts analysis.
  • Added RMSD fit analysis for chains.
  • Added result html page for plots visualization.
  • Changed geom_smooth span to 0.2.
  • Now creates json with running parameters.

anchor

v 2.0

 [2.0.1] - 2022-09-11
  • Improved code readability.
  • Fixed atom indexes in dpair to match VMD.
  • Fixed path when logging from docker container.
 [2.0.1] - 2022-08-17
  • Finally supports gromacs md too!
  • Now supports an infinite number of chains! Woah that is a lot of chains.
  • Finally fixed get_chains function.
  • Added SASA analysis.

v 1

v 1.0

 [1.0.3] - 2022-08-06
  • Reverted get_chains function until we can fix it definitely.
 [1.0.2] - 2022-06-07
  • Fixed get_chains now for real.
 [1.0.1] - 2022-06-01
  • Fixed get_chains function.
 [1.0.0] - 2021-12-23
  • Containerized program!
  • Released as Docker manager executable.
  • Added pbc option to deal with periodic boundary conditions.
  • Removed Score analysis.
  • Added distances analysis.

v 0

v 0.0

 [0.0.0] - 2020-12-08
  • Initial Github release.

Contributing

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.

  1. Fork the repository and create your branch from master.
  2. If you've changed the functionality, also issue a documentation update.
  3. Issue the pull request! 🎉

Additional Info

License

Pamda is licensed under the GNU General Public License version 3 license.

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.

Pamda

This software was developed by Artotim as part of his master's degree graduation.