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
- 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
andcharge
) 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 aSanitizationError
- 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 ofsmarts_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 nowmass_density
char
is nowcharge_density
std
entries are nowstddev
Known test failures:
- Windows builds
- In some cases users may get permission errors with tests involving symlinks. This should not impact the behaviour of MDAnalysis but may impact the creation of temporary files when using HOLE2 (see: #3556).