Skip to content

Releases: MDAnalysis/mdanalysis

MDAnalysis 2.2.0

02 Jun 18:48
c565b9d
Compare
Choose a tag to compare

Release 2.2.0 of MDAnalysis

In line with NEP29, this version of MDAnalysis drops support for Python 3.7 and raises the minimum NumPy version to 1.19.0. Minimum version support has also been changed for the following packages; networkx>=2.0, scipy>=1.5.0, gsd>=1.9.3. Further details on MDAnalysis future support strategy and NEP29 will be released shortly.

Supported python versions:

  • 3.8, 3.9, 3.10

Major changes:

See the CHANGELOG and our release blog post for more changes and details.

Enhancements:

  • The frames argument was added to AnalysisBase-derived classes (i.e. modern analysis classes) allowing for specific frames to be defined when running an analysis. (PR #3415)
  • DL_POLY classic HISTORY files are now supported (Issue #3678)
  • Python wheels are now made available through PyPI for x86_64 architectures (Issue #1300, PR #3680)
  • Added a center_of_charge attribute for AtomGroups (PR #3671)
  • LinearDensity now work with UpdatingAtomGroups (Issue #2508, PR #3617)
  • Addition of a PCA transformation and an associated inverse-PCA transformation was added to the PCA analysis class (PR #3596, Issue #2703)
  • Major improvements to the RDKitConverter's accuracy (PR #3044)
    • Accuracy of 99.14% when benchmarked against ChEMBL30
    • AtomGroups containing monatomic ion charges and edge cases with nitrogen, sulfur, phosphorus and conjugated systems should now have correctly assigned bond orders and charges.
  • Addition of a new AnalysisBase derived Watson-Crick distance analysis class (PR #3611)

Fixes:

  • Fixed issues where calling the copy method of Readers did not preserve optional arguments (Issue #3664, PR #3685)
  • Fixed several issues where iterating trajectories had undefined behaviour
    • Iterating (not in memory) SingleFrame readers now reset modified trajectory attributes (Issue #3423)
    • Iterating using defined indices did not rewind the trajectory (Issue #3416)
  • Fixed issues with competing processes writing to an XTC offset file leading to offset corruption (Issue #1988, PR #3375)
  • Fixed issue preventing OpenMMTopologyParsers from parsing systems with missing elements (Issue #3317, PR #3511)
  • Fixed issue with encore.covariance.covariance_matrix not working when providing an external reference (Issue #3539, PR #3621)
  • Fixed issue with broken code paths for "residues" and "segment" groupings for LinearDensity (Issue #3571, PR #3572)
  • Improved the flexibility of MOL2 reading, allowing for optional columns (subst_id, subst_name and charge) not to be provided (Issue #3385, PR #3598)
  • Fixed several issues related to converting AtomGroups to RDKit molecules (PR #3044):
    • Atoms are now in the same order
    • atom.GetMonomerInfor().GetName() now follows the guidelines for PDB files
    • Using NoImplicit=False no longer throws a SanitizationError
  • Fixed issues with incorrect reading of triclinic boxes from DUMP files (Issue #3386, PR #3403)
  • Fixed issue with the BAT method modifying input coordinate data (Issue #3501)

Changes:

  • The number of matches allowed when doing a smarts selection has been increased from the default
    1000 to max(1000, n_atoms * 10), an additional set of smarts_kwargs can now also be passed
    to override this behaviour (Issue #3469, PR #3470)
  • The fasteners package is now a core dependency (PR #3375)
  • LinearDensity now saves the histogram bin edges for easier plotting as `hist_bin_edges for
    each dimension in the results dictionary (Issue #2508, PR #3617)
  • ContactAnalysis now accepts AtomGroups (Issue #2666, PR #3565)

Deprecations:

  • The following results attribute for LinearDensity are now deprecated: (Issue #2508, PR #3617)
    • pos is now mass_density
    • char is now charge_density
    • std entries are now stddev

Known test failures:

  • Windows builds

MDAnalysis 2.1.0

08 Mar 12:26
Compare
Choose a tag to compare

Release 2.1.0 of MDAnalysis

In line with ongoing attempts to align with NEP29, this version of MDAnalysis drops support for Python 3.6 and raises the minimum NumPy version to 1.18.0.

Please note that at time of release whilst all the MDAnalysis core functionality supports Python 3.10, some optional modules do not due to a lack of support by dependencies which they require. We hope that this support will gradually be added as more of these dependencies release new versions compatible with Python 3.10.

Supported python versions:

  • 3.7, 3.8, 3.9, 3.10

Major changes:

See the CHANGELOG and our release blog post for more changes and details.

Enhancements:

  • Addition of a new dielectric analysis module (PR #2118)
  • The TPR parser now supports reading files from GROMACS 2022 (PR #3514)
  • The H5MDReader can now load trajectories without a topology (PR #3466)
  • Custom compiler flags can be used when building MDAnalysis from source (PR #3429)
  • The RDKit reader now supports parsing R/S chirality (PR #3445)
  • A new method to apply the minimum image convention to a collection of vectors, minimize_vectors, has been introduced (PR #3472)

Fixes:

  • Fixed various integer overflow issues in the distance calculation backend of MDAnalysis which would prevent calculations on large systems (Issues #3183, #3512).
  • Fixed issues with the creation of VMD surfaces in HOLE2 when using a non-contiguous start/stop/step.
  • Fixes reading of charges with the ITPParser (Issue #3419).
  • Fixed issue with the creation of a Universe from a custom object which only provides a topology (Issue #3443).
  • Fixed issue with accessing newly created values added via add_Segment or add_Residue (Issue #3437).

Changes:

  • packaging is now a core dependency of MDAnalysis.
  • Indexing a Group (AtomGroup, ResidueGroup, SegmentGroup) with None now raises a TypeError. Prior to this indexing by None would incorrectly return the whole Group but claim to have a length of 1 atom (Issue #3092).
  • The TRZReader now defaults to a dt value of 1.0 ps instead of the previous 0.0 ps (Issue #3257).

Deprecations:

  • The pbc keyword argument for various Group methods has been deprecated in favor of wrap. The deprecated keyword will be removed in version 3.0.0 (Issue #1760).

Known test failures:

  • pytest-xdist and more than 4 workers
    • Under these conditions a test related to logging for HydrogenBondAnalysis can fail. This is not thought to impact the validity of MDAnalysis. See here for more details: #3543
  • Windows builds

MDAnalysis 2.0.0

21 Aug 20:43
1cd2b3b
Compare
Choose a tag to compare

Release 2.0.0 of MDAnalysis

This is the first version of MDAnalysis to solely support python 3.6+

Supported python versions:

  • 3.6, 3.7, 3.8, 3.9

Please note that starting with the next minor version, MDAnalysis will be following NEP29.

Notes:

  • This is a major release and introduces major advertised API breaks. Caution is advised when upgrading to 2.0.0.

Major changes:

Enhancements:

  • LAMMPSDumpReader can now read coordinates in all different LAMMPS coordinate conventions (Issue #3358)
  • New Results class for storing analysis results (Issue #3115)
  • New OpenMM coordinate and topology converters (Issue #2863, PR #2917)
  • New intra_bonds,intra_angles, intra_dihedrals, etc... methods to return connections involve atoms within AtomGroups instead of including atoms outside of it (Issue #1264, #2821, PR #3200)
  • Support for Groamcs 2021 TPR files (Issue #3180)
  • Adds preliminary support for ppc64le and aarch64 [ARM] (Issue #3127, PR #2956 #3149)
  • New selection operators (Issue #3054, PR #2927)
  • New refactor of helix analysis class as analysis.helix_analysis (Issue #2452)
  • New converter between RDKit molecules and MDAnalysis AtomGroup objects (Issue #2468). Also includes from_smiles Universe generator method, and the aromatic and smarts selection.
  • New analysis method for calculating Mean Squared Dsiplacements (Issue #2438)
  • New converter between Cartesian and Bond-Angle-Torsion coordinates (PR #2668)
  • Universes and readers can now be pickled paving the way to easier parallel analyses (Issue #2723)
  • New H5MDReader and H5MDWriter (Issue #762, #2866)

Fixes:

  • Fixes an issue where select_atom, AtomGroup.unique, ResidueGroup.unique, and SegmentGroup.unique did not sort the output atoms (Issues #3364 #2977)
  • GRO files now only support unit cells defined with 3 or 9 entries (Issue #3305)
  • Fixes the sometimes wrong sorting of atoms into fragments when unwrapping (Issue #3352)
  • Fixes issue when atttempting to use/pass mean positions to PCA analysis (Issue #2728)
  • Fixes support for DL_POLY HISTORY files that contain cell information even if there are no periodic boundary conditions (Issue #3314)
  • Fixes issue with WaterBridgeAnalysis double counting waters (Issue #3119)
  • PDBWriter will use chainID instead of segID (Issue #3144)
  • PDBParser and PDBWriter now assign and use the element attribute (Issues #3030 #2422)
  • AtomGroup.center now works correctly for compounds + unwrapping (Issue #2984)
  • Documents and fixes the density keyword for rdf.InterRDF_s (Isuse #2811)
  • Fixed Janin analysis residue filtering, including CYSH (Issue #2898)

Changes:

  • New converter API for all MDAnalysis converters under MDAnalysis.converters
  • Timestep now stores information in 'C' memory layout instead of the previous 'F' default (PR #1738)
  • hbonds.hbond_analysis has been remove din favour of hydrogenbonds.hbond_analysis (Issues #2739, #2746)
  • TPRParser now loads TPR files with tpr_resid_from_one=True by deafult, which starts TPR resid indexing from 1 (instead of 0 as in previous MDAnalysis versions) (Issue #2364, PR #3152)
  • analysis.hole has now been removed in favour of analysis.hole2.hole (Issue #2739)
  • Writer.write(Timestep) and Writer.write_next_timestep have been removed. Please use write() instead (Issue #2739)
  • Removes deprecated density_from_Universe, density_from_PDB, Bfactor2RMSF, and notwithin_coordinates_factory from MDAnalysis.analysis.density (Issue #2739)
  • Changes the minimum numpy supported version to 1.16.0 (Issue #2827)
  • Removes deprecated waterdynamics.HydrogenBondLifetimes (PR #2842)
  • hbonds.WaterBridgeAnalysis has been moved to hydrogenbonds.WaterBridgeAnalysis (Issue #2739 PR #2913)

Deprecations:

  • The bfactors attribute is now aliased to tempfactors and will be removed in 3.0.0 (Issue #1901)
  • WaterBridgeAnalysis.generate_table() now returns table information, with the table attribute being deprecated
  • Various analysis result attributes which are now stored in Results will be deprecated in 3.0.0 (Issue #3261)
  • In 3.0.0 the ParmEd classes will only be accessible from the MDAnalysis.converters module
  • In 2.1.0 the TRZReader will default to a dt of 1.0 ps when failing to read it from the input TRZ trajectory

See the CHANGELOG for more changes and details.

Known issues:

  • Windows builds
    • For some compilers (seen on MVC v.19xx), differences in floating point precision leads to PBC wrapping differing from expected outcomes. This leads to failures in the MDAnalysisTests.lib.test_augment tests. To our knowledge this does not significantly affect results (as all other tests pass). We will aim to fix this in version 2.1.0.

MDAnalysis 1.1.1

02 May 10:34
740cae2
Compare
Choose a tag to compare

Final bugfix release for 1.0.x

Python support is kept the same as 1.0.0, with python 3.9 not supported.

Supported python versions:

  • 2.7, 3.5, 3.6, 3.7, 3.8

Please note that python 2.7 and 3.5 support will be dropped in the upcoming 2.0.0 release.

Major changes:

Bug fixes

  • Re-enables support for Windows (Issue #3129)
  • NSGrid distance search backend is re-enabled, with a brand new code fixing previously seen issues (Issues #2670 #2229 #2345 #2919)
  • Adds support for numpy 1.20 for compatible python versions
  • Fixes bug where the exclusion matrix of hbond_autocorrel was not applied correctly (Issue #2987 PR #3242)

Deprecations:

  • NCDFWriter scale_factor writing behaviour will change in 2.x (Issue #2327)
  • PDBWriter will no longer use the last letter of SegID for the chainID in 2.x (Issue #3144)
  • In 2.x, the universe attributes tempfactors and bfactors will stop being separate (Issue #1901)
  • MDAnalysis.analysis.hbonds.WaterBridgeAnalysis will be moved to MDAnalysis.analysis.hydrogenbonds.WaterBridgeAnalysis in 2.x (PR #3111)
  • In 2.x the TPRParser will index residues from 1 instead of 0. The tpr_resid_from_one keyword has been added to modify this behaviour (Issue #2364)

Enhancements:

  • The get_connections method has been added to more easily get bonds, angles, dihedrals, etc.. for a group (Issues #1264 #2821)

See the CHANGELOG for more changes and details.

Known issues:

  • Windows builds
    • For some compilers (seen on MVC v.19xx), differences in floating point precision leads to PBC wrapping differing from expected outcomes. This leads to failures in the MDAnalysisTests.lib.test_augment tests. To our knowledge this does not significantly affect results (as all other tests pass). We will aim to fix this in version 2.0.
    • For python 3.5 only, extra tests failures are seen. These mostly relate to deprecations and warnings being raised upstream (primarily by os.path). As far as we know they do not affect the validity of the code. The following tests are affected:
      • MDAnalysisTests.analysis.test_base::test_analysis_class_decorator
      • MDAnalysisTests.analysis.test_dihedrals::TestRamachandran::test_protein_ends
      • MDAnalysisTests.analysis.test_helanal::test_warnings
      • MDAnalysisTests.coordinates.test_chainreader::TestChainReaderContinuous::test_easy_trigger_warning
      • MDAnalysisTests.utils.test_streamio::TestNamedStream_filename_behaviour::test_func[abspath]

Notes:

  • Release 1.1.1 fixes an installation issue with 1.1.0. There is no published release for version 1.1.0.
  • As detailed in the 1.0.0 release, the 1.x releases only include bug fix changes. New features are being developed for MDAnalysis 2.x.

MDAnalysis 1.0.1

28 Feb 21:54
Compare
Choose a tag to compare

First bugfix release for 1.0.x

Python support is kept the same as 1.0.0, with python 3.9 not supported.
Supported python versions:

  • 2.7, 3.5, 3.6, 3.7, 3.8

Major changes:

Bug fixes

  • Temporary disabling of the default nsgrid backend (in favour of PDKTree) to the capped_distance code due to a bug affecting accuracy (#2930)
  • Fixes issues with importing matplotlib versions > 3.3 (#2938)
  • TRZ reader and writer now checks and writes n_atoms (#2817)
  • The density keyword for rdf.InterRDF_s is now documented and has been fixed to give correct results (#2811)
  • Fixed reading of masses and charges from hoomdxml files (#2888)
  • The DMSParser now handles the creation of multiple segids sharing residues with identical resids (#1387)

Deprecations:

  • waterdynamics.HydrogenBondLifetimes will be replaced with hydrogenbonds.HydrogenBondAnalysis.lifetime in 2.0.0 (#2547)
  • analysis.helanal will be removed in 2.0.0 and will be replaced with analysis.helix_analysis (#2622)
  • lib.util.echo and core.universe.as_Universe will be removed in 2.0.0.
  • analysis.leaflets.LeafletFinder will no longer accept non-Universe inputs as of version 2.0.0.

Performance improvements:

  • Fixes a performance regression seen in 1.0.0 when doing string selections with select_atoms (#2751)
  • Performance improvements to the TPR parser and ParmEd converter (#2804 and #3028)

See the CHANGELOG for more changes and details.

Known issues:

  • PyPI and conda-forge releases of 1.0.1 are not compatible with Windows OS due to issues with our setup.py. We aim to fix this for the upcoming 1.0.2 release (#3129)

As detailed in the 1.0.0 release, the 1.x releases only include bug fix changes. New features are being developed for MDAnalysis 2.x.

MDAnalysis 1.0.0

17 Jun 19:24
Compare
Choose a tag to compare

First major stable release of MDAnalysis. The API will be stable for all 1.x releases.

  • supports
    • Python ≥3.5
    • Python 2.7 (last major release to do so, see the Roadmap)
  • new User Guide documentation
  • many new features
    • new hydrogen bonding and HOLE analysis modules, improved density analysis
    • new file formats (Chemfiles reader, NAMD binary coordinates, FHI-AIMS, Gromacs ITP, Gromacs 2020 TPR), improved PDB parsing
    • package interoperablity layer ("converters"): interface to ParmEd
  • bug fixes
  • better support for Windows 32 bit
  • removed features and constructs that were previously deprecated

See the CHANGELOG for details.

Note that 1.x will not be further developped, with only occasional bug fixes being backported as described in the Roadmap.

The main development is geared towards MDAnalysis 2.x, which will only support Python 3.x and remove any code that was deprecated in 1.0.

MDAnalysis 0.20.1

19 Oct 00:14
Compare
Choose a tag to compare

Major enhancements and fixes.

See CHANGELOG for details.

(Note: 0.20.1 fixed an installation issue with 0.20.0 so there's no published 0.20.0 release.)

MDAnalysis 0.19.2

19 Oct 00:13
Compare
Choose a tag to compare

Added full support for Windows platform.

See CHANGELOG for details.

Release 0.19.1

28 Aug 21:04
Compare
Choose a tag to compare
release-0.19.1

updated c sources for 0.19.1

MDAnalysis version 0.19.0

28 Aug 21:04
108ffe0
Compare
Choose a tag to compare
Merge pull request #2095 from MDAnalysis/release-0.19.0

Release 0.19.0