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 handleResidue
instances that have same segment name, chain identifier, and resnum, if PDB file containsTER
lines to terminate these residues. If these three identifiers are shared by multiple residues, indexingAtomGroup
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()
readsTER
records in PDB files. Atoms and hetero atoms (hetatm) that are followed by aTER
record are now flagged as pdbter.
Bugfixes:
- Fixed memory leaks in
uniqueSequences()
andbuildSeqidMatrix()
.
1.4.8 (Nov 4, 2013)¶
New Features:
- New analysis functions
buildOMESMatrix()
andbuildSCAMatrix()
are implemented.- New
AtomGroup.numBytes()
method returns an estimate of memory usage.- New
countBytes()
utility function is added for counting bytes used by NumPy arrays.
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.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 asREMARK 290
, e.g.parsePDBHeader('1mkp', 'space_group')
orparsePDBHeader('1mkp')['space_group']
- heavy selection flag is defined as an alias for noh.
matchChains()
function can match non-hydrogen atoms usingsubset='heavy'
keyword argument.- Added
update_coords
keyword argument toPCA.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()
andparseNMD()
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 causeKeyError
when bonds are set but fragments are not determined is fixed.- Import ProDy would fail when
HOME
is not set. ChangedPackageSettings
to handle this case graciously.
1.4.3 (June 14, 2013)¶
Changes:
getVMDpath()
andsetVMDpath()
functions are deprecated for removal, usepathVMD()
instead.- Increased
blastPDB()
timeout to 60 seconds.extendModel()
andextendMode()
functions have a new option for normalizing extended mode(s).sampleModes()
andtraverseMode()
automatically normalizes input modes.
Bugfixes:
- A bug in
applyTransformation()
is fixed. The function would interpret some external transformation matrices incorrectly.- A bug in
fetchPDBLigand()
function is fixed.
1.4.2 (April 19, 2013)¶
Improvements:
fetchPDB()
andfetchPDBfromMirror()
functions can handle partial PDB mirrors. SeepathPDBMirror()
for setting a mirror path.
Changes:
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:
buildSeqidMatrix()
anduniqueSequences()
functions are implemented for comparing sequences in anMSA
object.showHeatmap()
,parseHeatmap()
, andwriteHeatmap()
functions are implemented to support VMD plugin Heat Mapper file format.Sequence
is implemented to handle individual sequence records and point to sequences inMSA
instances.- evol occupancy application is implemented for refined MSA quality checking purposes.
mergeMSA()
function and evol merge application are implemented for merging Pfam MSA to study multi-domain proteins.
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:
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
- New applications Evol Applications are available.
searchPfam()
andfetchPfamMSA()
functions are implemented for searching and retrieving Pfam data. See MSA Files for usage examples.MSAFile
class,parseMSA()
andwriteMSA()
functions are implemented for reading and writing multiple sequence alignments. See MSA Files for usage examples.MSA
class has been implemented for storing and manipulating MSAs in memory.calcShannonEntropy()
,buildMutinfoMatrix()
, andcalcMSAOccupancy()
functions are implemented implemented for MSA analysis. See Evolution Analysis for usage examples.showShannonEntropy()
,showMutinfoMatrix()
, andshowMSAOccupancy()
functions are implemented implemented for MSA analysis. See Evolution Analysis for usage examples.applyMutinfoCorr()
andapplyMutinfoNorm()
functions are implemented for applying normalization and corrections to mutual information matrices.calcRankorder()
function is implemented for identifying highly correlated/co-evolving pairs of residues.
Bugfix:
- Fixed selection issues involving use of
x
or negative numbers.