Skip to content

Latest commit

 

History

History
431 lines (313 loc) · 17.1 KB

v0.9_series.rst

File metadata and controls

431 lines (313 loc) · 17.1 KB

ProDy 0.9 Series

Changes:

Bugfixes:

New Features:

Improvements:

Changes:

Bugfixes:

  • Fixed a problem in :func:`.parsePDB` that caused loosing existing coordinate sets in an :class:`.AtomGroup` when passed as ag argument.
  • Fixed a problem with "same ... as ..." argument of :class:`.Select` that selected atoms when followed by an incorrect atom selection.
  • Fixed another problem with "same ... as ..." which result in selecting multiple chains when same chain identifier is found in multiple segments or multiple residues when same residue number is found in multiple segments.
  • Improved handling of negative integers in indexing :class:`.AtomGroup` instances.

New Features:

Improvements:

Changes:

Bugfixes:

Bug Fixes:

  • Fixed problems with reading and writing configuration files.
  • Fixed problem with importing nose for testing.

New Features:

Changes:

Warning

This release introduces numerous changes in method and function names all aiming to improve the interactive usage experience. All changes are listed below. Currently these functions and methods are present in both old and new names, so code using ProDy must not be affected. Old function names will be removed from version 1.0, which is expected to happen late in the first quarter of 2012.

Old function names are marked as deprecated, but ProDy will not issue any warnings until the end of 2011. In 2012, ProDy will automatically start issuing :class:`DeprecationWarning` upon calls using old names to remind the user of the name change.

For deprecated methods that are present in multiple classes, only the affected modules are listed for brevity.

Note

When modifying code using ProDy to adjust the name changes, turning on deprecation warnings may help locating all use cases of the deprecated names. See :meth:`.turnonDepracationWarnings` for this purpose.

Functions:

The following function name changes are mainly to reduce the length of the name in order to make them more suitable for interactive sessions:

Old name New name
:func:`applyBiomolecularTransformations` :func:`.buildBiomolecules`
:func:`assignSecondaryStructure` :func:`.assignSecstr`
:func:`scanPerturbationResponse` :func:`.calcPerturbResponse`
:func:`calcCrossCorrelations` :func:`.calcCrossCorr`
:func:`calcCumulativeOverlap` :func:`.calcCumulOverlap`
:func:`calcCovarianceOverlap` :func:`.calcCovOverlap`
:func:`showFractOfVariances` :func:`.showFractVars`
:func:`showCumFractOfVariances` :func:`.showCumulFractVars`
:func:`showCrossCorrelations` :func:`.showCrossCorr`
:func:`showCumulativeOverlap` :func:`.showCumulOverlap`
:func:`deform` :func:`.deformAtoms`
:func:`calcSumOfWeights` :func:`.calcOccupancies`
:func:`showSumOfWeights` :func:`.showOccupancies`
:func:`trimEnsemble` :func:`.trimPDBEnsemble`
:func:`getKeywordResidueNames` :func:`.getKeywordResnames`
:func:`setKeywordResidueNames` :func:`.setKeywordResnames`
:func:`getPairwiseAlignmentMethod` :func:`.getAlignmentMethod`
:func:`setPairwiseAlignmentMethod` :func:`.setAlignmentMethod`
:func:`getPairwiseMatchScore` :func:`.getMatchScore`
:func:`setPairwiseMatchScore` :func:`.setMatchScore`
:func:`getPairwiseMismatchScore` :func:`.getMismatchScore`
:func:`setPairwiseMismatchScore` :func:`.setMismatchScore`
:func:`getPairwiseGapOpeningPenalty` :func:`.getGapPenalty`
:func:`setPairwiseGapOpeningPenalty` :func:`.setGapPenalty`
:func:`getPairwiseGapExtensionPenalty` :func:`.getGapExtPenalty`
:func:`setPairwiseGapExtensionPenalty` :func:`.setGapExtPenalty`

Coordinate methods:

All :meth:`getCoordinates` and :meth:`setCoordinates` methods in :mod:`~prody.atomic` and :mod:`~prody.ensemble` classes are renamed as :meth:`getCoords` and :meth:`setCoords`, respectively.

getNumOf methods:

All method names starting with getNumOf now start with num. This change brings two advantages: method names (i) are considerably shorter, and (ii) do not suggest that there might also be corresponding set methods.

Old name New name Affected modules
:meth:`getNumOfAtoms` :meth:`numAtoms` :mod:`~prody.atomic`, :mod:`~prody.ensemble`, :mod:`.dynamics`
:meth:`getNumOfChains` :meth:`numChains` :mod:`~prody.atomic`
:meth:`getNumOfConfs` :meth:`numConfs` :mod:`~prody.ensemble`
:meth:`getNumOfCoordsets` :meth:`numCoordsets` :mod:`~prody.atomic`, :mod:`~prody.ensemble`
:meth:`getNumOfDegOfFreedom` :meth:`numDOF` :mod:`.dynamics`
:meth:`getNumOfFixed` :meth:`numFixed` :mod:`~prody.ensemble`
:meth:`getNumOfFrames` :meth:`numFrames` :mod:`~prody.ensemble`
:meth:`getNumOfResidues` :meth:`numResidues` :mod:`~prody.atomic`
:meth:`getNumOfMapped` :meth:`numMapped` :mod:`~prody.atomic`
:meth:`getNumOfModes` :meth:`numModes` :mod:`.dynamics`
:meth:`getNumOfSelected` :meth:`numSelected` :mod:`~prody.ensemble`
:meth:`getNumOfUnmapped` :meth:`numUnmapped` :mod:`~prody.atomic`

getName method:

:meth:`getName` methods are renamed as :meth:`getTitle` to avoid confusions that might arise from changes in :mod:`~prody.atomic` method names listed below. All classes in :mod:`~prody.atomic`, :mod:`~prody.ensemble`, and :mod:`~prody.dynamics` are affected from this change.

In line with this change, :func:`.parsePDB` and :func:`.parsePQR` name arguments are changed to title, but name argument will also work until release 1.0.

This name change conflicted with :meth:`.DCDFile.getTitle` method. The conflict is resolved in favor of the general :meth:`getTitle` method. An alternative method will be implemented to handle title strings in :file:`DCD` files.

get/set methods of atomic classes:

Names of get and set methods allowing access to atomic data are all shortened as follows:

Old name New name
:meth:`getAtomNames` :meth:`getNames`
:meth:`getAtomTypes` :meth:`getTypes`
:meth:`getAltLocIndicators` :meth:`getAltlocs`
:meth:`getAnisoTempFactors` :meth:`getAnisos`
:meth:`getAnisoStdDevs` :meth:`getAnistds`
:meth:`getChainIdentifiers` :meth:`getChains`
:meth:`getElementSymbols` :meth:`getElements`
:meth:`getHeteroFlags` :meth:`getHeteros`
:meth:`getInsertionCodes` :meth:`getIcodes`
:meth:`getResidueNames` :meth:`getResnames`
:meth:`getResidueNumbers` :meth:`getResnums`
:meth:`getSecondaryStrs` :meth:`getSecstrs`
:meth:`getSegmentNames` :meth:`getSegnames`
:meth:`getSerialNumbers` :meth:`getSerials`
:meth:`getTempFactors` :meth:`getBetas`

This change affects all :mod:`~prody.atomic` classes, :class:`.AtomGroup`, :class:`.Atom`, :class:`.Chain`, :class:`.Residue`, :class:`.Selection` and :class:`.AtomMap`.

Other changes in atomic methods:

Methods handling user data (which was previously called attribute) are renamed as follows:

Old name New name
:meth:`getAttribute` :meth:`getData`
:meth:`getAttrNames` :meth:`getDataLabels`
:meth:`getAttrType` :meth:`getDataType`
:meth:`delAttribute` :meth:`delData`
:meth:`isAttribute` :meth:`isData`
:meth:`setAttribute` :meth:`setData`

To be removed:

Finally, the following methods will be removed, but other suitable methods are overloaded to perform their action:

Scripts:

The way ProDy scripts work has changed. See :ref:`prody-apps` for details. Using older scripts will start issuing deprecation warnings in 2012.

Bug Fixes:

  • Bugs in :func:`.execDSSP` and :func:`.execSTRIDE` functions that caused exceptions when compressed files were passed is fixed.
  • A problem in scripts for PCA of DCD files is fixed.

Development of NMWiz is finalized and it will not be distributed in the ProDy installation package anymore. See :ref:`nmwiz` pages for instructions on installing it.