Releases: MDAnalysis/mdanalysis
Release 2.10.0 of MDAnalysis and MDAnalysisTests
Overview
This is a minor release of MDAnalysis.
This release supports NumPy 2.0+ and offers backwards compatibility through to NumPy 1.26.0
Supported Python versions:
- 3.11, 3.12, 3.13, 3.14
Major features & changes
See the CHANGELOG and our release blog post for more details.
- Support for
dtin XTC and TRR trajectories (PR #4908) - New parallelization support for the following analyses:
- Enable the selection of distance library backend in RDF analyses (PPR #5038)
- Improve the speed of the GROMOS11 reader (PR #5080)
- Improvements and refactoring of the RDKit inferring code (PR #4305)
- Support for position and velocity reading from TPR files (PR #4873)
- Support for non-linear time averaged MSD (PR #5066)
- Support for interactive MD stream reading using the IMDReader (PR #4923)
- Performance improvements to
InterRDF_s(PR #5073)
New Contributors
- @namiroues made their first contribution in #4941
- @lexi-x made their first contribution in #4987
- @BHM-Bob made their first contribution in #4961
- @yuyuan871111 made their first contribution in #5001
- @jpkrowe made their first contribution in #4995
- @TRY-ER made their first contribution in #5000
- @Abdulrahman-PROG made their first contribution in #4951
- @pbuslaev made their first contribution in #4908
- @tulga-rdn made their first contribution in #5007
- @Gareth-elliott made their first contribution in #5038
- @schuhmc made their first contribution in #5080
- @gitsirsha made their first contribution in #5066
- @Pradyumn-cloud made their first contribution in #5096
- @amruthesht made their first contribution in #4923
- @gitzhangch made their first contribution in #5073
- @raulloiscuns made their first contribution in #5053
Release 2.9.0 of MDAnalysis
Release 2.9.0 of MDAnalysis
This is a minor release of MDAnalysis.
This release supports NumPy 2.0+ and offers backwards compatibility through to NumPy 1.23.2
Supported Python versions:
- 3.10, 3.11, 3.12, 3.13
Major features & changes
See the CHANGELOG and our release blog post for more details.
- Support for Gromacs v2024.4 and v2025 TPR files.
- A new "water" keyword for selecting water residues.
fastenersdependency has been switch tofilelock.- Support for distopia 0.4.0 as an optional distance library backend.
- Parallel analysis support for
MDAnalysis.analysis.nucleicacids,MDAnalysis.analysis.contacts, andMDAnalysis.analysis.density. - XYZ writer can now write positions up to a user-supplied precision via the
precisionkeyword argument. MDAnalysis.analysis.hole2,MDAnalysis.analysis.psa, andMDAnalysis.analysis.waterdynamics, are now only available via optional dependencies (the mdahole2, pathsimanalysis, and waterdynamics mdakits). By default these will not be installed, you will need to install them separately if you wish to use them. Please note that in v3.0 theses modules will be removed completely from the MDAnalysis core library and you will need to use the mdakits directly.
New Contributors
- @ChiahsinChu made their first contribution in #4771
- @tanishy7777 made their first contribution in #4831
- @jauy123 made their first contribution in #4917
Release 2.8.0 of MDAnalysis
Release 2.8.0 of MDAnalysis
This a minor release of MDAnalysis.
As of this release MDAnalysis is packaged under a LGPLv3+ license, and all code contributions are provided under the LGPLv2.1+ license.
This release supports NumPy 2.0+ and offers backwards compatibility through to NumPy 1.23.2
Supported Python versions:
- 3.10, 3.11, 3.12, 3.13
Major features
See the CHANGELOG and our release blog post for more details.
- The MDAnalysis package license has changed from GPLv3+ to LGPLv3+ and all code contributions are now under LGPLv2.1+
- MDAnalysis now has a brand new guesser API (PR #3753). See the DefaultGuesser class for more information. Please note that default guessing of types and masses will change in MDAnalysis v3.0.
- DSSP analysis
analysis.DSSPmodule for protein secondary structure assignment, based on pydssp was added. - An iterative average structure method was added to
analysis.alignbased on DOI 10.1021/acs.jpcb.7b11988. - The TPR reader has been updated to support Gromacs 2024.
- The AnalysisBase class was enhanced through the introduction of a parallelization API (Issue #4158, PR #4304). Various analyses now support parallel computation, including; RMSD, GNMAnalysis, BAT, dihdral calculations, DSSP, and HydrogenBondAnalysis.
Notable changes / upcoming deprecations
- MMTF support is now deprecated and will be removed in MDAnalysis v3.0. The
fetch_mmtfmethod has been disabled as it no longer works. - MDAnalysis.analysis.hole2 has been moved to its own mdakit (mdahole2) and will be fully removed from the core library in MDAnalysis v3.0.
- MDAnalysis.analysis.encore has been deprecated in favour of its own mdakit (mdaencore) and will be removed in MDAnalysis v3.0.
- MDAnalysis.analysis.waterdynamics has been deprecated in favour of its own mdakit (waterdynamics) and will be removed in MDAnalysis v3.0.
- MDAnalysis.analysis.psa has been deprecated in favour of its own mdakit (PathSimAnalysis) and will be removed in MDAnalysis v3.0.
- The
guess_bonds,vdwradii,fudge_factor, andlower_boundkwargs are deprecated for bond guessing during Universe creation.
Instead, pass("bonds", "angles", "dihedrals")intoto_guessorforce_guessduring Universe creation, and the associatedvdwradii,fudge_factor, andlower_boundkwargs intoGuessercreation. Alternatively, ifvdwradii,fudge_factor, andlower_boundare passed intoUniverse.guess_TopologyAttrs, they will override the previous values of those kwargs. - MDAnalysis.topology.guessers and MDAnalysis.topology.tables are deprecated in favour of the new Guessers API and will be removed in MDAnalysis v3.0.
- Unknown masses are set to 0.0 for current version, this will be depracated in MDAnalysis v3.0.0 and replaced by :class:
Masses' no_value_label attribute (np.nan).
Release 2.7.0 of MDAnalysis
Release 2.7.0 of MDAnalysis
This a minor release of MDAnalysis.
This release of MDAnalysis is packaged under a GPLv3+ license, additionally all contributions made from commit 44733fc214dcfdcc2b7cb3e3705258781bb491bd onwards are made under the LGPLv2.1+ license.
The minimum supported NumPy version is 1.22.3.
Supported Python versions:
- 3.9, 3.10, 3.11, 3.12
Major changes:
See the CHANGELOG and our release blog post for more details.
Fixes:
- NoJump now properly handles jumps that occur on the second frame of NPT trajectories, PR #4258
- Fix charge reading from PDBQT files. PR #4283
- Fixed a case where qcprot.CalcRMSDRotationalMatrix would return a RMSD of None. PR #4273
Enhancements:
- Support was added for reading chainID from prmtop AMBER topologies (PR #4007)
- Added support for Python 3.12 (PR #4309, #4300, #4301, #4319, #4325, #4327, #4329)
- Added support for reading
chainIDfrom PDBQT files (PR #4284) - TPR reader now sets
chainIDfrommolblock(PR #4281) - Various improvements to the organization and performance of Major and Minor Pair analyses (PR #3735)
- C distance backend is now exposed via
libmdanalysis.pxd(PR #4342) - Added a GROMOS11 Reader (PR #4294)
Changes:
- Added
mda_xdrlibas a core dependency to replace the now deprecated Pythonxdrlibcode (PR #4271) - ConverterBase has been moved to
MDAnalysis.converters.base(PR #4253) networkxis now an optional dependency of MDAnalysis (PR #4331)BioPythonis now an optional dependency of MDAnalysis (PR #4332)- Results for WatsonCrickDist nucleic acids analysis are now stored in
analysis.nucleicacids.WatsonCrickDist.results.distances(PR #3735)
Deprecations:
- Importing ConverterBase from
MDAnalysis.coordinates.basewill not be possible after MDAnalysis 3.0 (PR #4253) - Deprecation with intent of removal in MDAnalysis v3.0 of the X3DNA legacy code (PR #4333)
- Deprecation with intent of removal in MDAnalysis v3.0 of the TRZ reader and writer (PR #4335)
- Deprecation with intent of removal in MDAnalysis v3.0 of the
MDAnalysis.lib.util.whichmethod (PR #4340) - The
aselargument of thetimeseriesattribute of Readers is now deprecated in favour of theatomgroupargument (PR #4343) - In
nucleicacids.WatsonCrickDist, accepting lists ofResidueobjects was deprecated in favor of usingResidueGroup: usingList[Residue]will be removed in release 3.0.0; instead use aResidueGroup(PR #3735) - In
nucleicacids.WatsonCrickDistthe resultresults.pair_distanceswas deprecated and will be removed in 3.0.0; useresults.distancesinstead (PR #3735)
New Contributors
- @jennaswa made their first contribution in #4289
- @Sumit112192 made their first contribution in #4346
- @HeetVekariya made their first contribution in #4359
- @JoStoe made their first contribution in #4292
- @ljwoods2 made their first contribution in #4366
Release 2.6.1 of MDAnalysis
Release 2.6.1 of MDAnalysis
This is a bugfix release of the 2.6.x version branch of MDAnalysis, it serves as an amendment to the earlier released version 2.6.0.
See the CHANGELOG for more details.
Bug fixes and changes
- Reverting the v2.6.0 behaviour, builds are now again made using the oldest supported NumPy version (NumPy 1.22.3 for Python 3.9-3.10, and 1.22.3 for Python 3.11) [PR #4261]
- Uses of numpy
in1dhave been replaced withisinin prepartion for NumPy 2.0 [PR #4255] - Cython DEF statements have been replaced with compile time integer constants as DEF statements are now deprecated in Cython 3.0 [Issue #4237, PR #4246]
- Fix to element guessing code to more accurately interpret atom names split by numbers (i.e. N0A is now recognised as N rather than NA) [Issue #4167, PR #4168]
- Clarification of SurvivalProbability function documentation [Issue #4247, PR #4248]1
New Contributors
Release 2.6.0 of MDAnalysis
Release 2.6.0 of MDAnalysis
This a minor release of MDAnalysis.
This release of MDAnalysis is packaged under a GPLv3+ license, additionally all contributions made from commit 44733fc onwards are made under the LGPLv2.1+ license. More details about these license changes will be provided in an upcoming blog post.
The minimum supported NumPy version has been raised to 1.22.3 as per NEP29. Please note that package builds are now made with NumPy 1.25+ which offer backwards runtime compatibility with NEP29 supported versions of NumPy.
Supported Python versions:
- 3.9, 3.10, 3.11
Major changes:
See the CHANGELOG and our release blog post for more details.
Fixes:
- The -ffast-math compiler flag is no longer used by default at build time, avoiding inconsistent (although still scientifically correct) results seen in Intel MacOS systems when calling `AtomGroup.center_of_charge(..., unwrap=True). This also avoids potentially incorrect floating point results as detailed here. (#4220)
- DATAWriter, CRD, PQR, and PDBQT files can now be correctly written to compressed files. Before this change, any attempt to write to a compressed format (gzip or bzip2) would lead to writing out an uncompressed file. (#4163)
- Prevent accidental merging of bond/angle/dihedral types when they are defined as LAMMPS style string integers instead of tuples. This was leading to an incorrect number of bond/angle/dihedral types being written to lammps data files. (#4003)
Enhancements:
- An
exclude_sameargument has been added toInterRDFallowing pairs of atoms that share the same residue, segment or chain to be excluded from the calculation. (#4161) - LAMMPS reader now supports the
continuousChainReader option. (#4170) - AtomGroup representation now returns atom indices in the same order as they are stored in the AtomGroup. (#4191)
Changes:
- Package builds now use NumPy 1.25 or higher instead of the lowest supported NumPy version. (#4198)
- As per NEP29, the minimum supported runtime version of NumPy has been increased to 1.22.3. (#4160)
- The GSD package is now an optional dependency. (#4174)
- The MDAnalysis package now only supports GSD versions 3.0.1 or above. (#4153)
- MDAnalysis no longer officially supports 32 bit installations. (they are no longer tested in our continuous integration pipelines). Note: no code changes have been made to disable 32 bit, although it is known that new versions of most MDAnalysis core dependencies no longer release 32 bit compatible versions. (#4176)
- The package license has been updated to GPLv3+ to better reflect the compatibility of GPLv2+ with Apache and GPLv3 licensed codes. Additionally all new contributions from commit 44733fc onwards are made under the LGPLv2.1+ license. (#4219)
Deprecations:
- The misspelt
Boltzman_constantentry inMDAnalysis.unitsis now deprecated in favour the correctly speltBoltzmann_constant. (#4230 and #4214) MDAnalysis.analysis.hole2is now deprecated in favour of a new HOLE2 MDAKit. (#4200)
New Contributors
Release 2.5.0 of MDAnalysis
Release 2.5.0 of MDAnalysis
This a minor release of MDAnalysis.
The minimum Python version has been raised to 3.9 and NumPy to 1.21.0 as per NEP29. We also now package wheels for both linux and osx arm64 machines on PyPi.
Supported Python versions:
- 3.9, 3.10, 3.11
Major changes:
See the CHANGELOG and our release blog post for more details.
Fixes:
- Fixed an issue where transformations were not being properly applied to
Universes with multiple trajectories (i.e. using the ChainReader)
(Issue #3657 #4008 PR #3906) - Fixed an issue with the the
heavydistance_type forWaterBridgeAnalysis
where distance was not correctly assigned when more than one hydrogen
was bonded to a heavy atom (Issue #4040, PR #4066). - PDB topology parser no longer fails when encountering unknown formal
charges and instead simply does not populate attribute (Issue #4027) - Fixed an issue where using the
betweenkeyword ofHydrogenBondAnalysis
led to incorrect donor-atom distances being returned (PR #4092, Issue #4091) - Fixed an issue where chi1_selections() ignored atom names CG1 OG OG1 SG
and incorrectly returnedNonefor amino acids CYS, ILE, SER, THR, VAL
(Issue #4108, PR #4109) - Fix H5MD reader to read box vectors rather than returning
Noneas the
dimensions (Issue #4075, PR #4076) - Fix to allow reading NetCDF trajectories which do not have the
time
variable defined (Issue #4073, PR #4074) - Allows shape_parameter and asphericity to yield per residue quantities
(Issue #3002, PR #3905) - Fix EDRReader failing when parsing single-frame EDR files (Issue #3999)
- Add 'PairIJ Coeffs' to the list of sections in LAMMPSParser.py
(Issue #3336) - PDBReader now defaults atom values for ts.data['occupancy'] to 0.0, rather
than the previous default of 1.0. This now matches the default used when
setting Universe Topology attributes using the first frame's information (PR #3988)
Enchancements:
- ARM64 (osx and linux) wheels are now provided via PyPi (Issue #4054)
- Addition of a new analysis class
analysis.atomicdistances.AtomicDistances
to provide distances between two atom groups over a trajectory.
(Issue #3654, PR #4105) - Add kwarg
n_framesto class methodempty()in
MDAnalysis.core.universe, enabling creation of a blankUniversewith
multiple frames (PR #4140) - PDBReader now populates ts.data['tempfactor'] with the tempfactor for
each atom for each frame. If an entry is missing for a given atom,
this will default to a1.0value. Note, this does not affect the
topology, i.e.AtomGroup.tempfactorsis not dynamically updated.
(Issue #3825, PR #3988) - Add writing u.trajectory.ts.data['molecule_tag'] as molecule tags to
LAMMPS data file (Issue #3548) - Add
progressbar_kwargsparameter toAnalysisBase.runmethod, allowing
to modify description, position etc of tqdm progressbars. (PR #4085) - Add a nojump transformation, which unwraps trajectories so that particle
paths are continuous. (Issue #3703, PR #4031) - Added AtomGroup TopologyAttr to calculate gyration moments (Issue #3904,
PR #3905) - Add support for TPR files produced by Gromacs 2023 (Issue #4047)
- Add distopia distance calculation library bindings as a selectable backend
forcalc_bondsinMDA.lib.distances. (Issue #3783, PR #3914) - AuxReaders are now pickle-able and copy-able (Issue #1785, PR #3887)
- Add pickling support for Atom, Residue, Segment, ResidueGroup
and SegmentGroup. (PR #3953)
Changes:
- As per NEP29 the minimum supported Python version has been raised to 3.9
and NumPy has been raised to 1.21 (note: in practice later versions of NumPy
may be required depending on your architecture, operating system, or Python
version) (PRs #4115 and #3983). - Add progress bars to track the progress of
mds.EinsteinMSD_conclude()
methods (_conclude_simple() and _conclude_fft()) (Issue #4070, PR #4072) - The deprecated direct indexing and
timesfrom theresultsattribute of
analysis.nucleicacids' NucPairDist and WatsonCrickDist classes has been
removed. Please use theresults.pair_distancesandtimesattributes
instead (Issue #3744) - RDKitConverter changes (part of Issue #3996):
- moved some variables (
MONATOMIC_CATION_CHARGESand
STANDARDIZATION_REACTIONS) out of the related functions to allow users
fine tuning them if necessary. - changed the sorting of heavy atoms when inferring bond orders and
charges: previously only based on the number of unpaired electrons, now
based on this and the number of heavy atom neighbors. - use RDKit's
RunReactantInPlacefor the standardization reactions, which
should result in a significant speed improvement as we don't need to use
bespoke code to transfer atomic properties from the non-standardized mol
to the standardized one.
- moved some variables (
New Contributors
- @mglagolev made their first contribution in #3959
- @chrispfae made their first contribution in #4009
- @ooprathamm made their first contribution in #4010
- @MeetB7 made their first contribution in #4022
- @v-parmar made their first contribution in #4032
- @MoSchaeffler made their first contribution in #4049
- @jandom made their first contribution in #4043
- @xhgchen made their first contribution in #4037
- @DrDomenicoMarson made their first contribution in #4074
- @AHMED-salah00 made their first contribution in #4059
- @schlaicha made their first contribution in #4076
- @jvermaas made their first contribution in #4031
- @SophiaRuan made their first contribution in #4072
- @marinegor made their first contribution in #4085
- @g2707 made their first contribution in #4089
- @DanielJamesEvans made their first contribution in #4109
MDAnalysis 2.4.3
Release 2.4.3 of MDAnalysis
This is a bugfix release of the 2.4.x version of MDAnalysis, it serves as an amendment to the earlier released version 2.4.2.
Bug fixes
MDAnalysis 2.4.2
Release 2.4.2 of MDAnalysis
This is a bugfix release of the 2.4.x version of MDAnalysis, it serves as an amendment to the earlier released version 2.4.1.
Bug fixes
- Fixed an issue where the arguments passed to np.histogramdd in
MDAnalysis.analysis.DensityAnalysiswere not compatible with the 1.24 release of NumPy (PR #3976) - Fixed upcoming incompatibilities with NumPy 1.25 in
MDAnalysis.visualization.streamlines_3DandMDAnalysis.visualization.streamlineswhere incorrect comparison of the truth of arrays would have led to failures (PR #3977)
MDAnalysis 2.4.1
Release 2.4.1 of MDAnalysis
This is a bugfix release of the 2.4.x version of MDAnalysis, it serves as an amendment to the earlier released version 2.4.0.
Bug fixes
- The minimum version of biopython has been raised to 1.80 for pip installs
- pytng has been added as an optional dependency