ProDy 0.9 Series¶
0.9.4 (Feb 4, 2012)¶
Changes:
setAtomGroup()
andgetAtomGroup()
methods are renamed asEnsemble.setAtoms()
andEnsemble.getAtoms()
.AtomGroup
class trajectory methods, i.e.AtomGroup.setTrajectory()
,AtomGroup.getTrajectory()
,AtomGroup.nextFrame()
,AtomGroup.nextFrame()
, andAtomGroup.gotoFrame()
methods are deprecated. Version 1.0 will feature a better integration ofAtomGroup
andTrajectory
classes.
Bugfixes:
- Bugfixes in
Bond.setACSIndex()
,saveAtoms()
, andHierView.getSegment()
.- Bugfixes in
GammaVariableCutoff
andGammaStructureBased
classes.- Bugfix in
calcCrossCorr()
function.- Bugfixes in
Ensemble.getWeights()
,showOccupancies()
,DCDFile.flush()
.- Bugfixes in ProDy commands prody blast, prody fetch, and prody pca.
- Bugfix in
calcCenter()
function.
0.9.3 (Feb 1, 2012)¶
New Features:
DBRef
class is implemented for storing references to sequence databases parsed from PDB header records.Methods for storing coordinate set labels in
AtomGroup
instances are implemented:getACSLabel()
, andgetACSLabel()
.
calcCenter()
andmoveAtoms()
functions are implemented for dealing with coordinate translation.Hierarchical view,
HierView
, is completely redesigned. PDB files that contain non-empty segment name column (or when such information is parsed from a PSF file), new design delicately handles this information to identify distinct chains and residues. This prevents merging distinct chains in different segments but with same identifiers and residues in those with same numbers. New design is also using ordered dictionariescollections.OrderedDict
and lists so that chain and residue iterations yield them in the order they are parsed from file. These improvements also bring modest improvements in speed.
Segment
class is implemented for handling segments of atoms defined in molecular dynamics simulations setup, using psfgen for example.Context manager methods are added to trajectory classes. A trajectory file can be opened as follows:
with Trajectory('mdm2.dcd') as traj: for frame in traj: calcGyradius(frame)
Chain
slicing is implemented:p38 = parsePDB('1p38') chA = p38['A'] res_4to10 = chA[4:11] res_100toLAST = chA[100:]Some support for bonds is implemented to
AtomGroup
class. Bonds can be set usingsetBonds()
method. All bonds must be set at once.iterBonds()
oriterBonds()
methods can be used to iterate over bonds in an AtomGroup or an Atom.
parsePSF()
parses bond information and sets to the atom group.
Selection.update()
method is implemented, which may be useful to update a distance based selection after coordinate changes.
buildKDTree()
anditerNeighbors()
methods are implemented for facilitating identification of pairs of atoms that are proximal.
iterAtoms()
method is implemented to allatomic
classes to provide uniformity for atom iterations.
calcAngle()
,calcDihedral()
,calcPhi()
,calcPsi()
, andcalcOmega()
methods are implemented.
Improvements:
Chain.getSelstr()
andResidue.getSelstr()
methods are improved to include the selection string of aSelection
when they are built using one.
Changes:
Residue
methodsgetNumber()
,setNumber()
,getName()
,setName()
methods are deprecated and will be removed in v1.0.Chain
methodsgetIdentifier()
andsetIdentifier()
methods are deprecated and will be removed in v1.0.Polymer
attributeidentifier
is renamed aschid
.Chemical
attributeidentifier
is renamed asresname
.getACSI()
andsetACSI()
are renamed asgetACSIndex()
andsetACSIndex()
, respectively.calcRadiusOfGyration()
is deprecated and will be removed in v1.0. UsecalcGyradius()
instead.
Bugfixes:
- Fixed a problem in
parsePDB()
that caused loosing existing coordinate sets in anAtomGroup
when passed as ag argument.- Fixed a problem with
"same ... as ..."
argument ofSelect
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
AtomGroup
instances.
0.9.2 (Jan 11, 2012)¶
New Features:
- prody catdcd command is implemented for concatenating and/or slicing
.dcd
files. See prody catdcd for usage examples.DCDFile
can be opened in write or append mode, and coordinate sets can be added usingwrite()
method.getReservedWords()
can be used to get a list of words that cannot be used to label user data.confProDy()
function is added for configuring ProDy.- ProDy can optionally backup existing files with
.BAK
(or another) extension instead of overwriting them. This behavior can be activated usingconfProDy()
function.
Improvements:
writeDCD()
file acceptsAtomGroup
or otherAtomic
instances as trajectory argument.- prody align command can be used to align multiple PDB structures.
- prody pca command allows atom selections for DCD files that are accompanied with a PDB or PSF file.
Changes:
DCDFile
instances, when closed, raise exception, similar to behavior offile
objects in Python.- Title of
AtomGroup
instances resulting from copying anAtomic
instances does not start with ‘Copy of’.changeVerbosity()
andgetVerbosityLevel()
are renamed assetVerbosity()
andgetVerbosity()
, respectively. Old names will be removed in v1.0.- ProDy applications (commands) module is rewritten to use new
argparse
module. See ProDy Applications for details of changes.argparse
module is added to the package for Python versions 2.6 and older.
Bugfixes:
- Fixed problems in
loadAtoms()
andsaveAtoms()
functions.- Bugfixes in
parseDCD()
andwriteDCD()
functions for Windows compatability.
0.9.1 (Nov 9, 2011)¶
Bug Fixes:
- Fixed problems with reading and writing configuration files.
- Fixed problem with importing nose for testing.
0.9 (Nov 8, 2011)¶
New Features:
- PDBML and mmCIF files can be retrieved using
fetchPDB()
function.getPDBLocalFolder()
andsetPDBLocalFolder()
functions are implemented for local PDB folder management.parsePDBHeader()
is implemented for convenient parsing of header data from.pdb
files.showProtein()
is implemented to allow taking a quick look at protein structure.Chemical
andPolymer
classes are implemented for storing chemical and polymer component data parsed from PDB header records.
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
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
turnonDeprecationWarnings()
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 applyBiomolecularTransformations()
buildBiomolecules()
assignSecondaryStructure()
assignSecstr()
scanPerturbationResponse()
calcPerturbResponse()
calcCrossCorrelations()
calcCrossCorr()
calcCumulativeOverlap()
calcCumulOverlap()
calcCovarianceOverlap()
calcCovOverlap()
showFractOfVariances()
showFractVars()
showCumFractOfVariances()
showCumulFractVars()
showCrossCorrelations()
showCrossCorr()
showCumulativeOverlap()
showCumulOverlap()
deform()
deformAtoms()
calcSumOfWeights()
calcOccupancies()
showSumOfWeights()
showOccupancies()
trimEnsemble()
trimPDBEnsemble()
getKeywordResidueNames()
getKeywordResnames()
setKeywordResidueNames()
setKeywordResnames()
getPairwiseAlignmentMethod()
getAlignmentMethod()
setPairwiseAlignmentMethod()
setAlignmentMethod()
getPairwiseMatchScore()
getMatchScore()
setPairwiseMatchScore()
setMatchScore()
getPairwiseMismatchScore()
getMismatchScore()
setPairwiseMismatchScore()
setMismatchScore()
getPairwiseGapOpeningPenalty()
getGapPenalty()
setPairwiseGapOpeningPenalty()
setGapPenalty()
getPairwiseGapExtensionPenalty()
getGapExtPenalty()
setPairwiseGapExtensionPenalty()
setGapExtPenalty()
Coordinate methods:
All
getCoordinates()
andsetCoordinates()
methods inatomic
andensemble
classes are renamed asgetCoords()
andsetCoords()
, respectively.
getNumOf
methods:All method names starting with
getNumOf
now start withnum
. This change brings two advantages: method names (i) are considerably shorter, and (ii) do not suggest that there might also be correspondingset
methods.
Old name New name Affected modules getNumOfAtoms()
numAtoms()
atomic
,ensemble
,dynamics
getNumOfChains()
numChains()
atomic
getNumOfConfs()
numConfs()
ensemble
getNumOfCoordsets()
numCoordsets()
atomic
,ensemble
getNumOfDegOfFreedom()
numDOF()
dynamics
getNumOfFixed()
numFixed()
ensemble
getNumOfFrames()
numFrames()
ensemble
getNumOfResidues()
numResidues()
atomic
getNumOfMapped()
numMapped()
atomic
getNumOfModes()
numModes()
dynamics
getNumOfSelected()
numSelected()
ensemble
getNumOfUnmapped()
numUnmapped()
atomic
getName
method:
getName()
methods are renamed asgetTitle()
to avoid confusions that might arise from changes inatomic
method names listed below. All classes inatomic
,ensemble
, anddynamics
are affected from this change.In line with this change,
parsePDB()
andparsePQR()
name arguments are changed to title, but name argument will also work until release 1.0.This name change conflicted with
DCDFile.getTitle()
method. The conflict is resolved in favor of the generalgetTitle()
method. An alternative method will be implemented to handle title strings inDCD
files.
get/set
methods of atomic classes:Names of
get
andset
methods allowing access to atomic data are all shortened as follows:
Old name New name getAtomNames()
getNames()
getAtomTypes()
getTypes()
getAltLocIndicators()
getAltlocs()
getAnisoTempFactors()
getAnisos()
getAnisoStdDevs()
getAnistds()
getChainIdentifiers()
getChains()
getElementSymbols()
getElements()
getHeteroFlags()
getHeteros()
getInsertionCodes()
getIcodes()
getResidueNames()
getResnames()
getResidueNumbers()
getResnums()
getSecondaryStrs()
getSecstrs()
getSegmentNames()
getSegnames()
getSerialNumbers()
getSerials()
getTempFactors()
getBetas()
This change affects all
atomic
classes,AtomGroup
,Atom
,Chain
,Residue
,Selection
andAtomMap
.Other changes in atomic methods:
getSelectionString()
renamed asgetSelstr()
Methods handling user data (which was previously called attribute) are renamed as follows:
Old name New name getAttribute()
getData()
getAttrNames()
getDataLabels()
getAttrType()
getDataType()
delAttribute()
delData()
isAttribute()
isData()
setAttribute()
setData()
To be removed:
Finally, the following methods will be removed, but other suitable methods are overloaded to perform their action:
- removed
AtomGroup.getBySerialRange()
, overloadedAtomGroup.getBySerial()
- removed
getProteinResidueNames()
, overloadedgetKeywordResnames()
- removed
setProteinResidueNames()
, overloadedsetKeywordResnames()
Scripts:
The way ProDy scripts work has changed. See ProDy Applications for details. Using older scripts will start issuing deprecation warnings in 2012.
Bug Fixes:
- Bugs in
execDSSP()
andexecSTRIDE()
functions that caused exceptions when compressed files were passed is fixed.- A problem in scripts for PCA of DCD files is fixed.
Normal Mode Wizard¶
Development of NMWiz is finalized and it will not be distributed in the ProDy installation package anymore. See Normal Mode Wizard pages for instructions on installing it.