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

You can use following functions to manage PDB file resources:

The following functions can be used to handle local PDB files:

Blast search PDB

The following are for blast searching PDB content.

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.

Parse/write PDB files

Following ProDy functions are for parsing and writing .pdb files:

Since .pqr format is similar to .pdb format, following functions come as bonus features:

  • writePQR() - write atomic data to a file in .pqr format
  • parsePQR() - parse atomic data from files in .pqr format

See also

Atom data (coordinates, atom names, residue names, etc.) parsed from PDB/PSF/PQR/mmCIF files are stored in AtomGroup instances. See atomic module documentation for more details.

Parse mmCIF files

Following ProDy functions are for parsing .cif files:

See also

Atom data (coordinates, atom names, residue names, etc.) parsed from PDB/PSF/PQR/mmCIF files are stored in AtomGroup instances. See atomic module documentation for more details.

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:

PDB header data

Use the following to parse and access header data in PDB files:

  • parsePDBHeader() - parse header data from .pdb files
  • Chemical - store PDB chemical (heterogen) component data
  • Polymer - store PDB polymer (macromolecule) component data
  • DBRef - 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 files
  • calcHydrogenBonds() - compute hydrogen bonds in proteins
  • calcSaltBridges() - compute salt bridges in proteins
  • calcRepulsiveIonicBonding() - compute repulsive ionic bonding in proteins
  • calcPiStacking() - compute Pi-stacking interactions in proteins
  • calcPiCation() - compute Pi-cation interactions in proteins
  • calcHydrophobic() - compute hydrophobic interactions in proteins
  • calcProteinInteractions() - compute all above interaction types at once
  • showProteinInteractions_VMD() - return TCL file for visualization in VMD
  • calcHydrogenBondsDCD() - compute hydrogen bonds in a trajectory for proteins
  • calcSaltBridgesDCD() - ompute salt bridges in a trajectory for proteins
  • calcRepulsiveIonicBondingDCD() - compute repulsive ionic bonding in a trajectory for proteins
  • calcPiStackingDCD() - compute Pi-stacking interactions in a trajectory for proteins
  • calcPiCationDCD() - compute Pi-cation interactions in a trajectory for proteins
  • calcHydrophobicDCD() - compute hydrophobic interactions in a trajectory for proteins
  • calcStatisticsInteractions() - return statistical information for each interaction type
  • calcLigandInteractions() - compute all type of interactions between protein and ligand
  • listLigandInteractions() - return list of interactions between protein and ligand
  • showLigandInteraction_VMD() - return TCL file for visualization of interactions for VMD
  • Interactions - store inteactions for a single PDB structure
  • InteractionsDCD - 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 structures
  • matchAlign() - finds best matching chains and aligns structures
  • mapOntoChain() - 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:

Execute STRIDE

The following functions can be used to execute STRIDE structural analysis program and/or 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 files
  • EMDMAP - access structural data from .emd files
  • TRNET - 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.