Ramachandran plotting tool
Project description
Ramachandran plotting tool
Draws a Ramachandran plot based on the input PDB file (e.g. 1MBN.pdb). Makes use of a Gaussian KDE (kernel density estimation) to plot the density of favoured torsion angles (φ and ψ).
Usage
RamachanDraw includes useful functions to effortlessly draw a Ramachandran plot.
Fetch the PDB file from the online repository
To draw a Ramachandran plot, we need a PDB file. You can use a local PDB file by specifying the path. Alternatively, RamachanDraw conveniently includes a function to automatically fetch and locally store the PDB file for the given PDB id.
Arguments
fetch(pdb_file)
pdb_file (str)
: PDB id corresponding to the PDB entry to be downloaded.Returns
: path to PDB file.
Extract φ and ψ angles
RamachanDraw extracts the φ and ψ angles from the PDB file by taking advantage of the Biopython module.
Additionally, aminoacid residues that were not drawn on the plot can be extract using the return_ignored
argument.
Arguments
phi_psi(pdb_file, return_ignored)
pdb_file (str)
: PDB id corresponding to the PDB entry to be downloaded.return_ignored (bool)
:True
returns a list of tuple with the format (aminoacid, (phi, psi))
Returns
: Dictionary with keys as aminoacid residues and values as (phi, psi) angle values.
Ramachandran plot
Makes use of the matplotlib module, using the Qt5Agg backend (PyQt5) to draw a highly customizable Ramachandran plot.
Arguments
plot(pdb_file, cmap='viridis', alpha=0.75, dpi=100, save=True, show=False, out='plot.png')
pdb_file (str)
: PDB id corresponding to the PDB entry to be downloaded.cmap (str)
: colormap to be used (from matplotlib) for the density of the favoured ("allowed") regions; default is viridis.alpha (float)
: sets the opacity of the colormap (value between 0-1); default is 0.75.dpi (int)
: resolution (dots per inch); default is 100.save (bool)
:True
: saves the plot locally; default is True.
show (bool)
:True
: shows the plot using the Qt5Agg backend; default is False.
out (str)
: filename to be used in case the plot is saved (i.e.save=True
); default is plot.png.Returns
: Ramachandran plot (can be saved locally).
Example
Herein you will find an example from the PDB id corresponding to the myoglobin entry - 1MBN - in the Protein Data Bank.
from RamachanDraw import fetch, phi_psi, plot
# PDB id to be downloaded
PDB_id = '1MBN'
# Drawing the Ramachandran plot
plot(fetch(PDB_id))
# Generating a dictionary to store the phi and psi angles
# And returning the ignored aminoacid residues
phi_psi_dict, ignored_res = phi_psi(fetch(PDB_id), return_ignored=True)
Contributing
Feedback and constructive criticism is welcome: a.dias.cirilo@umail.leidenuniv.nl.
License
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for RamachanDraw-0.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6410115fc7afb3c17f8a7e33b8a8a4c3c532d95f749be795075067dbacb4bb0a |
|
MD5 | 2bb1ec2988cc2a24e520bb327a5251ab |
|
BLAKE2b-256 | 52d922af39c8b42190144490ff7bc951569d7247f7b92f5fda37bb0856d5237f |