Skip to main content

PySteMoDA

Project description

User Interface

Overview

The Steered Molecular Dynamics (SMD) method was developed to mimic Atomic Force Microscopy (AFM) pulling experiments, where external forces are applied to probe biomolecules in addition to their intrinsic forces defined in classical MD simulations. SMD simulations have been widely used to explore the mechanics of biomolecular processes such as unbinding and unfolding at the single-molecule level. Here, we present smdanalysis, a Python3 user-friendly package that helps users to analyze their data efficiently.

Usage

Note that it is recomanded to create a virtual environment for each software package. A virtual environment manages python requirements and versions and it is very useful if you are working on or want to use different parallel packages/projects.

-To create a virtual anaconda environment containing the software package, use the yml file:

conda env create -f env.yml

At the end of the session:

you might want to deactivate the environment:

conda deactivate

In case you want to delete the environment:

conda remove -n yourenvname --all

To install/run the software on your local machine :

git clone https://gitlab.com/fm4b_lab/smdanalysis.git

Once you clone the package. Run on the terminal the following: cd smdanalysis

**What librairies does the package require:

Below details:

  • SciPy: 'find_peaks' function from Scipy.signal package is used for peak detection, it can take 8 optional parameters, most important one for our study is prominence.
  • Numpy : library is used to empower users to connect their data with the large and rapidly growing ecosystem of data science tools available more broadly in the community.
  • ProDy is an open source python package for protein structural dynamics analysis. It is used in software to compute extensions between C-alpha atoms of different residues.
  • Matplotlib: is used for data visualization.
  • Pandas provide extremely streamlined forms of data representation. This helps to analyze and understand data better. Pandas was developed to mainly handle large datasets efficiently. It helps to save a lot of time by importing and exporting large amounts of data very fast.
  • Tkinter is used for graphical user interface, It provides a robust and platform independent windowing toolkit.

Needed files

Please note that this software package supports DCD files of NAMD 2.1 and later.

To be able to run the software and perform the analysis make sure you have three files:

  • The log file of SMD simulation: this files contains all the information concerning the simulation such as: the velocity, the timesteps, the (x, y, z) coordinates of the direction of pulling...etc.

  • The DCD file of trajectory: This file contains all the atoms positions in Angstrom at each time step. The coordinates of each atom within a given time step are stored in this file and called frames.

  • The PDB file of structure: This fle store the information that describes the 3D structure of biomelecules, the are downloadable from the PDB (Protein Data Bank).

Usage

To start the Graphical User Interface. Run on the terminal the following command:

python3 main.py

Once the interface appears, upload the log file of Steered Molecular Dynamics (SMD) simulation. You will see the force-distance curve on the interface as soon as the file has loaded.

Force-Distance analysis

A force-distance curve represents the forces applied to the biomolecule vs tip-sample distance.

The screenshot shows a typical data analysis in the SMD software interface. The plot at the left shows a force-distance curve. On the right are the main controls.

force-distance

You have the possibility to export the curve in .png or .pdf format. You can also export the data in a .csv file.

On the left of the interface are the energy parameters. You can select the parameter of your interest and plot the curve by pressing the plot energy parameter button.

Peak detection

In the force-distance profiles recorded in SMD simulaions, in case of protein unbiding or unfolding of single or multidomain complexes, a sudden drop in the force profile will be observed. These peak like drops in the force profile gives us unfolding or unbiding forces.

In the screenshot, you can see the detected peaks on the curve on the left. On the right, you can use the default values (knots and prominence).

The algorithm used for smoothing is Natural Cubic Spline also referred to as Numerical Interpolation. It is a piece-wise third-order polynomial that is twice continuously differentiable. It fits all the data points and is appropriate for large datasets. First, the dataset is segmented, the number of these segmentation points is referred to as knots. After that, an interpolant is calculated between each two knots. In the interface, a default value of knots is suggested. After setting a knots value, make sure you press plot force vs time to see the smoothed curve.

To detect only significant peaks that correspond to unfolding/unbiding, a parameter called prominence is used. The prominence of a peak measures the minimum height necessary to get down from the summit to any heigher baseline. It measures how much a peak stands out from the other peaks.

Once the Detect peaks button is pressed, a table containing all the detected peaks appears just below the control parameters. You can save the peaks for further analysis.

peak detection

You have the possibility to export data. An example of the exported .csv file is available in the Ouputs

Extension

Extension analysis can be performed on the third tab, entitled extension . Start by uploading the PDB file of structure. End-to-end coordinates will appear. Then, upload the DCD file of trajectory. The extension will be computed automatically from end-to-end and the extension VS force curve will appear. You can modify the coordinates and compute the extension between the start and end residues of each domain. The screenshot shows the extension of residues of each domain vs time curve on the left, all the control parameters are on the right.

extension vs time

Peak detection from the extension

Computing and plotting the dereivative of the extension is very useful to detect the increase in the original extension-time graph. This approach has been implemented to refine and automatize the determination of which domain unfolds at which force peak. Detected peaks can be selected by the user and superposed on the force-time curve.

Start by plotting the derivative of extension. You can smooth the data using the Gaussian filter, you will need to enter the size of the window.

extension derivative

You can give the number of peaks you want to detect or a height threshold then press the Detect peaks button. The peaks will appear in the table on the right.

You can click on the peaks of your ineterst and save them or plot them on the force vs time curve. If you want to check your list press the Check list of peaks button. If you want to modify/delete some peaks click on the same button before modifying/deleting the peaks.

The screenshot shows the force-time curve after selecting the peaks from the table.

extension

Loading Rates

After selecting and saving the peaks from the previous analysis. You can calculate the loading rates at each peak. The loading rates are obtained by fitting a linear line to the force-time data.

The sreenshot shows an example of slopes (loading rates) plotting at a distance of 1 nm.

slopes

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

PySteMoDA-0.1.0.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

PySteMoDA-0.1.0-py3-none-any.whl (4.6 kB view details)

Uploaded Python 3

File details

Details for the file PySteMoDA-0.1.0.tar.gz.

File metadata

  • Download URL: PySteMoDA-0.1.0.tar.gz
  • Upload date:
  • Size: 4.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.8.10

File hashes

Hashes for PySteMoDA-0.1.0.tar.gz
Algorithm Hash digest
SHA256 dd84dc0df6066e77bcfb20f32d51ed4e9ac3d12da418f773577c89711c10467b
MD5 bbeab37a726524542cae75dc852811a9
BLAKE2b-256 d2f22e056d307e20bc309c80f1b696119fb950122c2b209487728c7f64820b44

See more details on using hashes here.

File details

Details for the file PySteMoDA-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: PySteMoDA-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 4.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.8.10

File hashes

Hashes for PySteMoDA-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9e5f742987985342492b018fa7466d9803c8fd336b988a68e776c5a77dbc6473
MD5 31ee070a0bd8ebfbec5fff79298e7670
BLAKE2b-256 497b353f438e2ece978f1a1c9ddb6f66a8959eaf64532e316f6360f3b48e82b6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page