A webserver to repair PDB files
Project description
Pras_Server is a library to repair PDB files, add missing heavy atoms and hydrogen atoms and assign secondary structure by amide-amide interactions of the backbone
You can use the server online at https://www.protein-science.com/ or on your local machine following the instructions given below
The library consists of:
Tools to generate different rotamers if present in a PDB file
Tools to replace missing heavy atoms or entire side-chain
Tools to add hydrogen atoms, including optimization of those with rotational freedom
Tools to assign secondary structure elements by amide-amide interactions of the backbone
Tools to draw 4 Ramachandran types (i.e., general, glycine, proline and pre-proline)
PRAS installation
pip install Pras_Server
Install dependencies
pip install numpy
pip install matplotlib
pip install setuptools
PRAS usage
Instructions vary slightly for windows and linux (you may want to process many PDB files at a time in linux)
For winddows, download a protein (e.g toxin II, 1aho.pdb) from any PDB website (e.g., https://www.rcsb.org)
Open a Python document (e.g., example.py) and copy 1aho.pdb to the directory where example.py is located
Copy and paste the following code in example.py and execute (you must have permission to write in this directory)
PRAS will replace the missing OD2 atom of Asp9, assign the secondary structure and draw 4 types of ramachandran plots
#computational time depends on what you do
import time
startTime = time.time()
#this function replaces missing heavy atoms and adds H-atoms. Note that PRAS will always
#replace all H-atoms.
from Pras_Server.PRAS import repairPDB
#this function replaces only missing heavy atoms.
#always use this function if you only need to replace heavy atoms
from Pras_Server.FixHeavyAtoms import fixheavyAtoms
#this function draws the 4 ramachandran types
from Pras_Server.RamaChandra import ramachandranTypes
#this function assigns the secondary structure elements
from Pras_Server.SecondaryStructure import assignStructure
#print(fixheavyAtoms.__doc__) to understand the arguments
fixheavyAtoms('1aho.pdb', "", "" ,"")
#out_no_h.pdb is the repaired PDB file written by PRAS.
#you must have write permission in this directory
assignStructure('out_no_h.pdb')
#out_no_h.pdb is the same as above
ramachandranTypes('out_no_h.pdb')
print ('The program took {0} second !'.format(time.time() - startTime))
For linux, do the same as above except for the example code where you should copy the code below (the annotation given above applies below):
import sys
if len(sys.argv) == 5:
import time
from Pras_Server.PRAS import repairPDB
from Pras_Server.FixHeavyAtoms import fixheavyAtoms
from Pras_Server.RamaChandra import ramachandranTypes
from Pras_Server.SecondaryStructure import assignStructure
startTime = time.time()
fixheavyAtoms(sys.argv[1],sys.argv[2],sys.argv[3],sys.argv[4])
assignStructure('out_no_h.pdb')
ramachandranTypes('out_no_h.pdb')
print ('The program took {0} second !'.format(time.time() - startTime))
else:
print("PRAS takes 4 compulsory arguments. Execute the code below on your shell prompt to learn more\n")
print("printf \"from Pras_Server.PRAS import repairPDB\\nprint(repairPDB.__doc__)\\n\\n()\" | python3\n")
Then, cd to the directory where example.py is located and enter the following argument on your shell prompt:
python3 example.py 1aho.pdb "" "" ""
Bear in mind that PRAS uses a particular name for the output file and will automatically remove the file during another run. To process multiple files at the same time, concatenate the file name with PRAS dafault name in the appropriate .py file in your installation folder. Alternatively you can download the whole PRAS source code at https://www.protein-science.com/ and modify the software as deemed fit before installation.
PRAS is being considered for publication and the link to the paper will be provided as a reference when published. In the meantime you can cite PRAS as:
O.S. Nnyigide, T.O. Nnyigide, S.G. Lee, K. Hyun. PRAS: A Web Server to Repair PDB Files, Add Missing Heavy Atoms and Hydrogen Atoms and Assign Secondary Structure by Amide Interactions. Submitted
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for Pras_Server-1.0.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d6d4a1cb7267ca890fc07c9dc938657e228ea3f6d582976d495fa6654e17add |
|
MD5 | 1340d6dbe4e4ba4873bc259528c1fe58 |
|
BLAKE2b-256 | 2f5fb80e7fe5acd4939d544d9d9a3dc18d026d434d78bd0af2e0c03583076dbb |