layout | title |
---|---|
post |
MDAnalysis 2.1 is out |
We are happy to release the version 2.1.0 of MDAnalysis!
In line with ongoing attempts to keep MDAnalysis closer to NEP 29, this version now only supports Python 3.7 to 3.10, in addition to a minimum NumPy version of 1.18.0.
Further details about MDAnalysis' support policy, including our release schedule, will be provided in an upcoming blog post.
To install with conda
from the conda-forge channel run
conda update -c conda-forge mdanalysis
To install from PyPi with pip
run
pip install --upgrade MDAnalysis
For more help with installation see the installation instructions in the User Guide.
Mattia Felice Palermo and Philip Loche contributed a new analysis module to compute average dipole moments. The module can be accessed as MDAnalysis.analysis.dielectric
. Here is an example from the documentations:
import MDAnalysis as mda
from MDAnalysis.analysis.dielectric import DielectricConstant
from MDAnalysisTests.datafiles import PSF_TRICLINIC, DCD_TRICLINIC
# Load a pure water system
universe = mda.Universe(PSF_TRICLINIC, DCD_TRICLINIC)
diel = DielectricConstant(universe.atoms)
diel.run()
print(diel.results)
{'M': array([ 1.54082059, -2.03885814, 3.37261771]), 'M2': array([ 5.71970697, 13.45815613, 18.24527209]), 'fluct': array([3.34557887, 9.3012136 , 6.87072189]), 'eps': array([2.47772633, 5.10830197, 4.0347653 ]), 'eps_mean': 3.873597866567474}
Richard Gowers made the reading of RDKit molecules aware of the R/S chirality when the information is available. The information can be accessed with the AtomGroup.chirality
attribute and be used for selections.
import MDAnalysis as mda
from rdkit import Chem
molecule = Chem.MolFromSmiles('CC[C@H](C)[C@H](C(=O)O)N')
universe = mda.Universe(molecule)
# Read the chirality of each atom
universe.atoms.chiralities
# Select atoms from their chirality
universe.select_atoms('element C and chirality S')
Thanks to Atharva Kulkarni, MDAnalysis.units.convert
knows about milliseconds and microseconds. The function, as the name indicates, converts quantities from one unit to an other.
Edis Jakupovic improved the reading of H5MD files so it can better read files without a topology. For these files, the number of atoms is now read from the positions, velocities, or forces in the trajectory.
Thanks to Richard Gowers, again, one can apply the minimum image convention to a collection of vectors using MDAnalysis.lib.distances.minimize_vectors
.
Thanks to Jonathan Barnoud, this version of MDAnalysis is compatible with TPR files produced with Gromacs 2022.
Thanks to Hugo MacDermott-Opeskin, you can now specify additional compiler flags for the C/C++ compiler to customise your installation. This can be used to improve performance by using architecture specific flags. See the detailed instructions in the User Guide for more information.
Indexing a group (AtomGroup
, ResidueGroup
, or SegmentGroup
) with None
now raises a TypeError
.
As announced with the previous release, the TZR reader now defaults to a dt
of 1.0 ps, instead of 0.0 ps previously, when the time step cannot be read from the file.
For a full list of bugfixes see the CHANGELOG.
In methods of AtomGroup
. ResidueGroup
, and SegmentGroup
, the argument pbc
has been renamed wrap
. This name makes the meaning of the argument clearer and mirrors the unwrap
argument of these same methods. The use of pbc
is still possible, bt it is deprecated and will be removed in version 3.0.
Altogether, this represents the work of 14 authors, 6 of which were new contributors:
- @melomcr
- @mdd31
- @scal444
- @edisj
- @Atharva7K
- @yangtcai
MDAnalysis thanks NumFOCUS's continued support as the organisation's fiscal sponsor.
- The MDAnalysis Team