ProDy 0.8 Series

0.8.3 (Oct 16, 2011)

New Features:

  • Functions to read and write PQR files: parsePQR() and writePQR().
  • Added PDBEnsemble.getIdentifiers() method that returns identifiers of all conformations in the ensemble.
  • ProDy tests are incorporated to the package installer. If you are using Python version 2.7, you can run the tests by calling prody.test().

Improvements:

  • blastPDB() function and PDBBlastRecord class are rewritten to use faster and more compact code.
  • New PackageLogger function is implemented to unify logging and reporting task progression.
  • Improvements in PDB ensemble support functions, e.g. trimPDBEnsemble(), are made.
  • Improvements in ensemble concatenations are made.

Bug Fixes:

  • Bugfixes in PDBEnsemble() slicing operation. This may have affected users when slicing a PDB ensemble for plotting projections in color for different forms of the protein.

0.8.2 (Oct 14, 2011)

New Features:

  • fetchPDBClusters(), loadPDBClusters(), and getPDBCluster() functions are implemented for handling PDB sequence cluster data. These functions can be used instead of blastPDB() function for fast access to structures of the same protein (at 95% sequence identity level) or similar proteins.
  • Perturbation response scanning method described in [CA09] is implemented as scanPerturbationResponse() based on the code provided by Ying Liu.

Changes:

  • fetchPDBLigand() returns the URL of the XML file in the ligand data dictionary.
  • Name of the ProDy configuration file in user home directory is renamed as .prodyrc (used to be .prody).
  • applyBiomolecularTransformations() and assignSecondaryStructure() functions raise ValueError when the function fails to perform its action due to missing data in header dictionary.
  • fetchPDB() decompresses PDB files found in the working directory when user asks for decompressed files.
  • parsePDB() appends chain and subset arguments to AtomGroup() name.
  • chain argument is added to PDBBlastRecord.getHits().

Improvements:

  • Atom selection class Select is completely redesigned to prevent breaking of the parser when evaluating invalid selection strings.
  • Improved type checking in parsePDB() function.

Bug Fixes:

  • Bugfixes in parseDSSP(): one emerged problems in lines indicating chain breaks, another did not parse bridge-partners correctly. Both fixes are contributed by Kian Ho.
  • Bugfix in parsePDB() function. When only header is desired (header=True, model=0), would return a tuple containing an empty atom group and the header.

Developmental:

  • Unit tests for proteins and select modules are developed.

0.8.1 (Sep 16, 2011)

New Features:

  • fetchLigandData() is implemented for fetching ligand data from Ligand Expo.
  • parsePSF() function is implemented for parsing X-PLOR format PSF files.

Changes:

  • __slots__ is used in AtomGroup and Atomic classes. This change prevents user from assigning new variables to instances of all classes derived from the base Atomic.
  • pyparsing is updated to version 1.5.6.

Bug Fixes:

  • A bug in AtomGroup.copy() method is fixed. When AtomGroup instance itself is copied, deep copies of data arrays were not made.
  • A bug in Select class raising exceptions when negative residue number values are present is fixed.
  • Another bug in Select class misinterpreting same residue as ... statement when specific chains are involved is fixed.
  • A bug in AtomGroup.addCoordset() method duplicating coordinates when no coordinate sets are present in the instance is fixed.

Normal Mode Wizard

Changes:

  • Version number in main window is iterated.
  • Mode graphics material is stored for individual modes.
  • Mode scaling factor is printed when active mode or RMSD is changed.
  • All selections are deleted to avoid memory leaks.

0.8 (Aug 24, 2011)

Note

After installing v0.8, you may need to make a small change in your existing scripts. If you are using Ensemble class for analyzing PDB structures, rename it as PDBEnsemble. See the other changes that may affect your work below and the class documentation for more information.

New Features:

  • DCDFile is implemented for handling DCD files.
  • Trajectory is implemented for handling multiple trajectory files.
  • writeDCD() is implemented for writing DCD files.
  • Trajectory Analysis example to illustrate usage of new classes for handling DCD files. Essential Dynamics Analysis example is updated to use new ProDy classes.
  • PCA supports Trajectory and DCDFile instances.
  • Ensemble and PDBEnsemble classes can be associated with AtomGroup instances. This allows selecting and evaluating coordinates of subset of atoms. See setAtomGroup(), select(), getAtomGroup(), and getSelection() methods.
  • execDSSP(), parseDSSP(), and performDSSP() functions are implemented for executing and parsing DSSP calculations.
  • execSTRIDE(), parseSTRIDE(), and performSTRIDE() functions are implemented for executing and parsing DSSP calculations.
  • parsePDB() function parses atom serial numbers. Atoms can be retrieved from an AtomGroup instance by their serial numbers using getBySerial() and getBySerialRange() methods.
  • calcADPs() function can be used to calculate anisotropic displacement parameters for atoms with anisotropic temperature factor data.
  • getRMSFs() is implemented for calculating root mean square fluctuations.
  • AtomGroup and Mode or Vector additions are supported. This adds a new coordinate set to the AtomGroup instance.
  • getAttrNames() is implemented for listing user set attribute names.

Improvements:

Changes:

  • Ensemble does not store conformation names. Instead, newly implemented PDBEnsemble class stores identifiers for individual conformations (PDB IDs). This class should be used in cases where source of individual conformations is important.
  • calcProjection(), showProjection(), and showCrossProjection() function calculate/display root mean square deviations, by default.
  • Oxidized cysteine residue abbreviation CSO is added to the definition of protein keyword.
  • getMSF() method is renamed as getMSFs().
  • parseDCD() function returns Ensemble instances.

Bug Fixes:

  • A bug in select module causing exceptions when regular expressions are used is fixed.
  • Another bug in select module raising exception when “(not ..,” is passed is fixed.
  • Various bugfixes in ensemble module.
  • Problem in prody fetch that occurred when a file is found in a local mirror is fixed.
  • Bugfix in AtomPointer.copy() method.

Normal Mode Wizard

New Features:

  • NMWiz can be used to compare two structures by calculating and depicting structural changes.
  • Arrow graphics is scaled based on a user specified RMSD value.

Improvements:

  • NMWiz writes DCD format trajectories for PCA using ProDy. This provides significant speed up in cases where IO rate is the bottleneck.

Changes:

  • Help is provided in a text window to provide a cleaner GUI.
[CA09]Atilgan C, Atilgan AR. Perturbation-response scanning reveals ligand entry-exit mechanisms of ferric binding protein. PLoS Comput. Biol. 2009 5:e1000544.