ProDy 0.9 Series¶
0.9.4 (Feb 4, 2012)¶
Changes:
setAtomGroup()andgetAtomGroup()methods are renamed asEnsemble.setAtoms()andEnsemble.getAtoms().AtomGroupclass 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 ofAtomGroupandTrajectoryclasses.
Bugfixes:
- Bugfixes in
Bond.setACSIndex(),saveAtoms(), andHierView.getSegment().- Bugfixes in
GammaVariableCutoffandGammaStructureBasedclasses.- 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:
DBRefclass is implemented for storing references to sequence databases parsed from PDB header records.Methods for storing coordinate set labels in
AtomGroupinstances 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.OrderedDictand 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.
Segmentclass 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)
Chainslicing is implemented:p38 = parsePDB('1p38') chA = p38['A'] res_4to10 = chA[4:11] res_100toLAST = chA[100:]Some support for bonds is implemented to
AtomGroupclass. 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 allatomicclasses 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 aSelectionwhen they are built using one.
Changes:
ResiduemethodsgetNumber(),setNumber(),getName(),setName()methods are deprecated and will be removed in v1.0.ChainmethodsgetIdentifier()andsetIdentifier()methods are deprecated and will be removed in v1.0.Polymerattributeidentifieris renamed aschid.Chemicalattributeidentifieris 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 anAtomGroupwhen passed as ag argument.- Fixed a problem with
"same ... as ..."argument ofSelectthat 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
AtomGroupinstances.
0.9.2 (Jan 11, 2012)¶
New Features:
- prody catdcd command is implemented for concatenating and/or slicing
.dcdfiles. See prody catdcd for usage examples.DCDFilecan 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 acceptsAtomGroupor otherAtomicinstances 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:
DCDFileinstances, when closed, raise exception, similar to behavior offileobjects in Python.- Title of
AtomGroupinstances resulting from copying anAtomicinstances 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
argparsemodule. See ProDy Applications for details of changes.argparsemodule 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.pdbfiles.showProtein()is implemented to allow taking a quick look at protein structure.ChemicalandPolymerclasses 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
DeprecationWarningupon 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 inatomicandensembleclasses are renamed asgetCoords()andsetCoords(), respectively.
getNumOfmethods:All method names starting with
getNumOfnow start withnum. This change brings two advantages: method names (i) are considerably shorter, and (ii) do not suggest that there might also be correspondingsetmethods.
Old name New name Affected modules getNumOfAtoms()numAtoms()atomic,ensemble,dynamicsgetNumOfChains()numChains()atomicgetNumOfConfs()numConfs()ensemblegetNumOfCoordsets()numCoordsets()atomic,ensemblegetNumOfDegOfFreedom()numDOF()dynamicsgetNumOfFixed()numFixed()ensemblegetNumOfFrames()numFrames()ensemblegetNumOfResidues()numResidues()atomicgetNumOfMapped()numMapped()atomicgetNumOfModes()numModes()dynamicsgetNumOfSelected()numSelected()ensemblegetNumOfUnmapped()numUnmapped()atomic
getNamemethod:
getName()methods are renamed asgetTitle()to avoid confusions that might arise from changes inatomicmethod names listed below. All classes inatomic,ensemble, anddynamicsare 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 inDCDfiles.
get/setmethods of atomic classes:Names of
getandsetmethods 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
atomicclasses,AtomGroup,Atom,Chain,Residue,SelectionandAtomMap.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.