Protein Structure¶
This module defines classes and functions to fetch, parse, and write structural data files, execute structural analysis programs, and to access and search structural databases, e.g. ProteinDataBank.
PDB resources¶
fetchPDB()
- retrieve PDB filesfetchPDBviaFTP()
- download PDB/PDBML/mmCIF filesfetchPDBviaHTTP()
- download PDB files
You can use following functions to manage PDB file resources:
pathPDBFolder()
- local folder for storing PDB filespathPDBMirror()
- local PDB mirror pathwwPDBServer()
- set wwPDB FTP/HTTP server for downloads
The following functions can be used to handle local PDB files:
findPDBFiles()
- return a dictionary containing files in a pathiterPDBFilenames()
- yield file names in a path or local PDB mirror
Blast search PDB¶
The following are for blast searching PDB content.
blastPDB()
- blast search NCBI PDB databasePDBBlastRecord
- store/evaluate NCBI PDB blast search results
PDB clusters biopolymer chains using blast weekly. These clusters can be retrieved using the following functions. Using cluster data is as good as blast searching PDB most of the time and incredibly faster always.
listPDBCluster()
- get list of identifiers in a PDB sequence clusterloadPDBClusters()
- load PDB clusters into memoryfetchPDBClusters()
- retrieve PDB sequence cluster data from wwPDB
Parse/write PDB files¶
Following ProDy functions are for parsing and writing .pdb
files:
parsePDB()
- parse.pdb
formated fileparsePDBStream()
- parse.pdb
formated streamwritePDB()
- write.pdb
formatted filewritePDBStream()
write.pdb
formated stream
Since .pqr
format is similar to .pdb
format, following
functions come as bonus features:
writePQR()
- write atomic data to a file in.pqr
formatparsePQR()
- parse atomic data from files in.pqr
format
Parse mmCIF files¶
Following ProDy functions are for parsing .cif
files:
parseMMCIF()
- parse.cif
formated fileparseMMCIFStream()
- parse.cif
formated stream
Quick visualization¶
showProtein()
function can be used to take a quick look at protein
structures.
Edit structures¶
The following functions allow editing structures using structural data from PDB header records:
assignSecstr()
- add secondary structure data from header to atomsbuildBiomolecules()
- build biomolecule from header records
PDB header data¶
Use the following to parse and access header data in PDB files:
parsePDBHeader()
- parse header data from.pdb
filesChemical
- store PDB chemical (heterogen) component dataPolymer
- store PDB polymer (macromolecule) component dataDBRef
- store polymer sequence database reference records
Analyze interactions and stability with InSty and find water bridges with WatFinder¶
Use the following to analyze interactions within protein structure or between protein and ligand structure in single PDB file or in trajectory:
addHydrogens()
- add missing hydrogens to.pdb
filescalcHydrogenBonds()
- compute hydrogen bonds in proteinscalcSaltBridges()
- compute salt bridges in proteinscalcRepulsiveIonicBonding()
- compute repulsive ionic bonding in proteinscalcPiStacking()
- compute Pi-stacking interactions in proteinscalcPiCation()
- compute Pi-cation interactions in proteinscalcHydrophobic()
- compute hydrophobic interactions in proteinscalcProteinInteractions()
- compute all above interaction types at onceshowProteinInteractions_VMD()
- return TCL file for visualization in VMDcalcHydrogenBondsDCD()
- compute hydrogen bonds in a trajectory for proteinscalcSaltBridgesDCD()
- ompute salt bridges in a trajectory for proteinscalcRepulsiveIonicBondingDCD()
- compute repulsive ionic bonding in a trajectory for proteinscalcPiStackingDCD()
- compute Pi-stacking interactions in a trajectory for proteinscalcPiCationDCD()
- compute Pi-cation interactions in a trajectory for proteinscalcHydrophobicDCD()
- compute hydrophobic interactions in a trajectory for proteinscalcStatisticsInteractions()
- return statistical information for each interaction typecalcLigandInteractions()
- compute all type of interactions between protein and ligandlistLigandInteractions()
- return list of interactions between protein and ligandshowLigandInteraction_VMD()
- return TCL file for visualization of interactions for VMDInteractions
- store inteactions for a single PDB structureInteractionsDCD
- store interactions for a trajectory
Compare/align chains¶
The following functions can be used to match, align, and map polypeptide chains:
matchChains()
- finds matching chains in two protein structuresmatchAlign()
- finds best matching chains and aligns structuresmapOntoChain()
- maps chains in a structure onto a reference chain
The following functions can be used to adjust alignment parameters:
Execute DSSP¶
The following functions can be used to execute DSSP structural analysis program and/or parse results:
execDSSP()
- execute dsspperformDSSP()
- execute dssp and parse resultsparseDSSP()
- parse structural data from dssp output
Execute STRIDE¶
The following functions can be used to execute STRIDE structural analysis program and/or parse results:
execSTRIDE()
- execute strideparseSTRIDE()
- parse structural data from stride outputperformSTRIDE()
- execute stride and parse results
Handle EMD Map Files and Build Pseudoatoms into them¶
Use the following to parse and access header data in EMD files:
parseEMD()
- parse structural data from.emd
filesEMDMAP
- access structural data from.emd
filesTRNET
- fit pseudoatoms to EM density maps using the TRN algorithm
Add missing atoms including hydrogens¶
Use the following to add missing atoms
addMissingAtoms()
- add missing atoms with separately installed OpenBabel or PDBFixer
Missing residues can also be added if a PDB or mmCIF file with SEQRES entries is provided.