11 Aug 2023
MDAnalysis is excited to be kicking off a series of free online training workshops in Fall 2023. The first will be held on October 25, 2023 from 15:00-18:30 UTC.
This online workshop will consist of an introduction to the MDAnalysis Python library, as well as an opportunity for hands-on learning through basic MDAnalysis tutorials. The workshop will be delivered to a small group to allow interactive discussions, questions, and participant engagement. It is designed for beginners to MDAnalysis who already have a working knowledge of Python and know how use shell and notebook environments.
Register soon (places limited)
If you are interested in participating in this workshop, fill out this short application form before September 30, 2023. Selected participants will be notified in early October.
We have a small number of bursaries to enable participation for researchers from underrepresented groups who are facing financial barriers; these can be applied for when completing the application form.
We are looking into organizing the next workshop for Australasian time zones, so also keep an eye out for announcements of future workshops!
— The MDAnalysis Team
16 Jun 2023
We are excited to introduce our next keynote speaker for the MDAnalysis user group meeting (UGM), Dr. Cédric Bouysset (@cbouy), who was a 2020 Google Summer of Code (GSoc) student with MDAnalysis! To learn more about his work on the interoperability between MDAnalysis and RDKit, see his GSoC report.
There is still time to register and submit your abstract (Abstract Deadline: July 7, 2023). An Outstanding Talk Travel Award will be awarded to the best talk given at the UGM to offset travel and accommodation costs. In addition, if you are facing financial barriers to attendance of the UGM, submit your bursary application with your registration form by Friday, June 23, 2023.
05 Jun 2023
We are happy to release the version 2.5.0 of MDAnalysis!
This is a minor update to the MDAnalysis library.
In line with NEP 29, the minimum required Python and NumPy versions have
been raised to 3.9 and 1.21.0 respectively.
Supported Python versions: 3.9, 3.10, 3.11
Supported Operating Systems:
Note: this release also adds wheels for aarch64 and Apple M1 architectures for pip installations.
Upgrading to MDAnalysis version 2.5.0
To update with conda
from the conda-forge channel run
conda update -c conda-forge mdanalysis
To update from PyPi with pip
run
pip install --upgrade MDAnalysis
For more help with installation see the installation instructions in the User Guide. Make sure you are using a Python version compatible with MDAnalysis before upgrading (Python >= 3.9).
Notable changes
For a full list of changes, bugfixes and deprecations see the CHANGELOG.
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
heavy
distance_type for WaterBridgeAnalysis
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
between
keyword of HydrogenBondAnalysis
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 returned
None
for amino acids CYS, ILE, SER, THR, VAL
(Issue #4108, PR #4109)
- Fix H5MD reader to read box vectors rather than returning
None
as 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)
Enhancements:
- 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_frames
to class method empty()
in
MDAnalysis.core.universe
, enabling creation of a blank Universe
with
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 a
1.0
value. Note, this does not affect the
topology, i.e. AtomGroup.tempfactors
is 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_kwargs
parameter to AnalysisBase.run
method, 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
for
calc_bonds
in MDA.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
times
from the results
attribute of
analysis.nucleicacids’ NucPairDist and WatsonCrickDist classes has been
removed. Please use the results.pair_distances
and times
attributes
instead (Issue #3744)
- RDKitConverter changes (part of Issue #3996):
- moved some variables (
MONATOMIC_CATION_CHARGES
and
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
RunReactantInPlace
for 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.
Author statistics
This release was the work of 25 contributors, 15 of which are new contributors.
Our new contributors are:
@mglagolev
@chrispfae
@ooprathamm
@MeetB7
@v-parmar
@MoSchaeffler
@xhgchen
@DrDomenicoMarson
@AHMED-salah00
@schlaicha
@jvermaas
@SophiaRuan
@marinegor
@g2707
@DanielJamesEvans
MDAnalysis 2.4.x
MDAnalysis 2.4.0 and three follow up bug fix releases were made earlier this year.
A full list of changes can be seen in the 2.4.x Changelog.
The 2.4.x branch was the work of 13 contributors, including the following 3 new contributors:
@jaclark5
@jfennick
@Hakarishirenai
Acknowledgements
MDAnalysis thanks NumFOCUS for its continued support as our fiscal sponsor and the Chan Zuckerberg Initiative for supporting MDAnalysis under an EOSS4 award.
— The MDAnalysis Team