ProDy 1.4 Series

1.4.9 (Nov 14, 2013)

Upcoming changes:

  • Support for Python 3.1 and NumPy 1.5 will be dropped, meaning no Windows installers will be built for these versions of them.

Improvements:

  • HierView can handle Residue instances that have same segment name, chain identifier, and resnum, if PDB file contains TER lines to terminate these residues. If these three identifiers are shared by multiple residues, indexing AtomGroup instances will return a list of residues. This behavior can be used as follows. Note that in v1.5, this will be the default behavior.
>>> pdb_lines = """
... ATOM      1  O   WAT A   1       4.694  -3.891  -0.592  1.00  1.00
... ATOM      2  H1  WAT A   1       5.096  -3.068  -0.190  1.00  1.00
... ATOM      3  H2  WAT A   1       5.420  -4.544  -0.808  1.00  1.00
... TER
... ATOM      4  O   WAT A   1     -30.035  19.116  -2.193  1.00  1.00
... ATOM      5  H1  WAT A   1     -30.959  18.736  -2.244  1.00  1.00
... ATOM      6  H2  WAT A   1     -29.993  19.960  -2.728  1.00  1.00
... TER
... ATOM      7  O   WAT A   1     -77.584 -21.524 -37.894  1.00  1.00
... ATOM      8  H1  WAT A   1     -77.226 -21.966 -38.717  1.00  1.00
... ATOM      9  H2  WAT A   1     -77.023 -20.726 -37.674  1.00  1.00
... TER"""
>>> from StringIO import StringIO
>>> atoms = parsePDBStream(StringIO(pdb_lines))
Current behavior:
>>> print(atoms.numResidues())
1
>>> atoms['A', 1]
<Residue: WAT 1 from Chain A from Unknown (9 atoms)>
To activate the new behavior (which will be the default behavior in v1.5):
>>> hv = atoms.getHierView(ter=True)
>>> print(hv.numResidues())
>>> hv['A', 1]
  • parsePDB() reads TER records in PDB files. Atoms and hetero atoms (hetatm) that are followed by a TER record are now flagged as pdbter.

Bugfixes:

1.4.8 (Nov 4, 2013)

New Features:

Improvements:

  • parsePDB() resizes data arrays to decrease memory usage.

Bugfixes:

  • Fixed memory leaks in MSA analysis functions.
  • Fixed potential problems with importing contributed libraries.

1.4.7 (Oct 29, 2013)

Improvements:

  • AtomGroup, Selection, and other Atomic classes are picklable.
  • Improved equality tests for AtomGroup. Two different instances are considered equal if they contain identical data and coordinate sets.

1.4.6 (Oct 16, 2013)

Bugfixes:

  • Selection problem with using resid is fixed (issue 160)
  • Fixed a memory leak in MSA parsers written in C. When dealing with large files, leak would cause a segmentation fault.
  • Fixed a memory leak in MSA parsers written in C. When dealing with large files, leak would cause a segmentation fault.
  • Fixed a reference counting problem in MSA parsers in C that would cause segmentation fault when reading files that uses the same label for multiple sequences.
  • Updated fetchPDBLigand() to use PDB for fetching XML files.
  • Revised handling of MSA file formats to avoid exceptions for unknown extensions.

1.4.5 (Sep 6, 2013)

New Features:

  • parsePDBHeader() function can parse space group information from header section specified as REMARK 290, e.g. parsePDBHeader('1mkp', 'space_group') or parsePDBHeader('1mkp')['space_group']
  • heavy selection flag is defined as an alias for noh.
  • matchChains() function can match non-hydrogen atoms using subset='heavy' keyword argument.
  • Added update_coords keyword argument to PCA.builCovariance(), so that average coordinates calculated internally can be stored in ensemble or trajectory objects used as input.

Improvements:

  • Unit tests can be run with Python 2.6 when unittest2 module is installed.

Bugfixes:

  • Fixed problems with reading compressed PDB files using Python 3.3.
  • Fixed a bug in parseSTRIDE() function that prevented reading files.
  • Improved parsing of biomolecular transformations.
  • Fixed memory allocation in C code used by parseMSA() (Python 2.6).
  • Fixed a potential name error in trajectory classes.
  • Fixed problems in handling compressed files when using Python 2.6 and 3.3.
  • Fixed a problem with indexing NMA instances in Python 3 series.

1.4.4 (July 22, 2013)

Improvements:

  • writeNMD() and parseNMD() write and read segment names. NMWiz is also improved to handle segment names. Improvements will be available in VMD v1.9.2.

Bugfixes:

  • A bug in saveAtoms() that would cause KeyError when bonds are set but fragments are not determined is fixed.
  • Import ProDy would fail when HOME is not set. Changed PackageSettings to handle this case graciously.

1.4.3 (June 14, 2013)

Changes:

Bugfixes:

1.4.2 (April 19, 2013)

Improvements:

Changes:

  • MSE is included in the definition of non-standard amino acids, i.e. nonstdaa.

Bugfixes:

  • Atom selection problems related to using all and none in composite selections, e.g. 'calpha and all', is fixed by defining these keywords as Atom Flags.
  • Fasta files with sequence labels using multiple pipe characters would cause C parser (and so parseMSA()) to fail. This issue is fixed by completely disregarding pipe characters.
  • Empty chain identifiers for PDB hits would cause a problem in parsing XML results file and blastPDB() would throw an exception. This case is handled by slicing the chain identifier string.
  • A problem in viewNMDinVMD() related to module imports is fixed.
  • A problem with handling weights in loadEnsemble() is fixed.

1.4.1 (Dec 16, 2012)

New Features:

Improvements:

  • refineMSA() function and evol refine application can perform MSA refinements by removing similar sequences.
  • writePDB() function takes beta and occupancy arguments to be outputted in corresponding columns.
  • MSA indexing and slicing are revised and improved.
  • parseMSA() is improved to handle indexing of sequences that have the same label in an MSA file, e.g. domains repeated in a protein.
  • prody anm, prody gnm, and prody pca applications can write heatmap files for visualization using NMWiz and Heatmapper plugins.
  • Several improvements made to handling sequence labels in Pfam MSA files. Files that contain sequence parts with same protein UniProt ID are handled delicately.

Changes:

  • ProDy will not emit a warning message when a wwPDB server is not set using wwPDBServer(), and use the default US server.
  • Indexing MSA returns Sequence instances.
  • Iterating over MSA and MSAFile yields Sequence instances.

Bugfixes:

  • Fixed a syntax problem that prevented running ProDy using Python 2.6.
  • Fixed NMA indexing problem that was introduced in v1.4.

Normal Mode Wizard

  • NMWiz can visualize heatmaps linked to structural view via Heatmapper. Clicking on the heatmap will highlight atom or residue pairs.
  • ProDy interface has the option to write and load cross-correlations.
  • NMWiz can determined whether a model is an extended model. For extended models plotting mobility has been improved. Only a single value per residue will be plotted, and clicking on the plot will highlight all of the residue atoms.

1.4 (Dec 2, 2012)

New Features:

Python 3 Support

  • ProDy has been refactored to support Python 3. Windows installers for Python 2.6, 2.7, 3.1, and 3.2 are available in Installation.
  • Unit tests are compatible with Python 2.7 and 3.2, and running them with other versions gives errors due to unavailability of some unittest features.

Sequence Analysis

Bugfix:

  • Fixed selection issues involving use of x or negative numbers.