Mdpow

Latest version: v0.9.0

Safety actively analyzes 685525 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

0.9.0

cadeduckworth, orbeckst, VOD555, a-ws-m

Changes

* change in TI implementation in fep.Gsolv.analysis(): scipy.integrate.simpson()
now always uses Cartwright's approach to compute the last interval instead of
the old `even="last"` behavior. This change **may lead to small numerical
differences in output** (281)
* added testing/support for Python 3.10 (202) to 3.12 (283)
* dropped testing/support for Python 3.9 (286), 3.8 (281), 3.7 (248),
3.6 (PR 220, 202)
* support Gromacs 2022.4 and 2023.1 (256) and 2024.3 (PR 290)
* use pymbar >= 4 and alchemlyb >= 2 (246)
* for ensemble.EnsembleAnalysis._single_frame()
changed 'pass' to 'raise NotImplementedError' (216)
* for ensemble.EnsembleAnalysis._single_universe()
changed 'pass' to 'raise NotImplementedError' (216)
* for ensemble.EnsembleAnalysis.run() changed to detect
and use _single_frame OR _single_universe (216)
* _prepare_universe and _conclude_universe removed from
EnsembleAnalysis.run() method, no longer needed (per comments, 199)
* internal log_banner() now uses logger as argument (PR 247)
* use `black` formatter for codebase (271)
* implemented `forcefields.Forcefield` class (267)
- facilitates users using non-default forcefields without changing package
code
- `equil.Simulation` has new `ff_class` argument
- each `Forcefield` has unique `default_water_model`, replacing global
`DEFAULT_WATER_MODEL`
- `get_solvent_model()` and `get_solvent_identifier()` take either `str` or
`Forcefield` type for the `forcefield` argument
- both functions also use the `Forcefield`-specific `default_water_model`
(fixes 112)
* `forcefields.DEFAULT_WATER_MODEL` removed (267)
* changed `system.top` and `system_octwet.top` to act as templates and added
`.template` suffix (267)
* removed `forcefields.get_ff_paths()` (267)
* changed `forcefields.get_solvent_identifier()`: will raise `ValueError`
instead of returning `None` (267)

Enhancements

* convert figure components to SVG, save as individual PDFs,
and generate PDF of all figures combined in one file,
for workflows dihedrals module (243)
* add RDKit mol object to dihedrals plot with dihedral atom
indices labeled and dihedral atom group bonds highlighted
for workflows dihedrals module (243)
* new workflows registry that contains each EnsembleAnalysis for which
a workflows module exists, for use with workflows base module (229)
* new workflows base module that provides iterative workflow use for
directories that contain multiple projects (229)
* new workflows module (217)
* new automated dihedral analysis workflow (detect dihedrals with SMARTS,
analyze with EnsembleAnalysis, and generate seaborn violinplots) (217)
* new workflows.base.guess_elements() function to guess elements
from masses (PR 264)
* add new exit_on_error=False|True argument to run.runMD_or_exit() so
that failures just raise exceptions and not call sys.exit() (PR 249)

Fixes

* for mdpow.workflows.dihedrals.periodic_angle() implement .copy(deep=True)
to explicitly make a copy DataFrame of the data for angle padding (242)
* fix rcoulomb in CHARMM energy minimization MDP template file (PR 210)
* fix ensemble.EnsembleAnalysis.check_groups_from_common_ensemble (212)
* updated versioneer (285)
* fix that simulation stages cannot be restarted after error (272)
* fix that testing resource data files were not packaged at all; they are now
included with the sdist (tar.gz) (23 MiB) but excluded from the wheel (whl)
(2.3 MiB) (293)

0.8.0

ALescoulie, orbeckst

Changes

* dropped support for Python 2 and <3.6: only Python 3.7--3.9
are supported (177)
* removed unused POWConfigParser.getintarray() (PR 187)
* removed deprecated mdpow-gyhd script, use mdpow-solvationenergy
instead (183)

Enhancements

* new Ensemble and EnsembleAtomGroup objects for loading set of system
simulations (issue 168, PR 179)
* new EnsembleAnalysis framework for collecting data from MDPOW simulations
(issue 168, PR 179)
* new EnsembleAnalysis: dihedrals (190, PR 193)
* new EnsembleAnalysis: solvation shell (195, PR 196)
* new exception config.NoSectionError to indicate missing section
("protocol") in the YAML run input file (PR 187)
* new config.NoOptionWarning when undefined options are used (with
default None) and POWConfigParser.get() now logs when an option is used
at level DEBUG (PR 187)

Fixes

* run.get_mdp_files() finds the full path for an MDP file and raises ValueError
when MDP file is not found (PR 187)
* POWConfigParser.getpath() returns None for empty options instead of raising
TypeError (PR 187)
* POWConfigParser.getlist() and getarray() return empty list or array for
empty options instead of raising TypeError (PR 187)

0.7.1

orbeckst, iorga

Fixes

* restrict alchemlyb to <0.5.0 for Python 2 (otherwise the installation fails
due to an unsatisfiable pandas dependency) (180)
* fix failure of mdpow-solvation script "AttributeError: 'AttributeDict' object
has no attribute 'Gibbs'" (180)
* fix fep.p_transfer() only analyzing the second input Gsolv (would lead to an
error like "results.DeltaA does not contain 'Gibbs'") (PR 185)
* ensure that pickle files created under Python 2 are also readable under
Python 3
* documentation fixes (PR 176)

0.7.0

orbeckst, VOD555, ALescoulie

Changes

* renamed package to MDPOW
* support Python 3.7 -- 3.9 on Linux and macOS (84)
* tested with GROMACS 4.6.5, 2018.6, 2020.6, 2021.1 (PR 159, 164)
* removed all generated docs from package
* config parser MERGES user runinput.yml with the package defaults
(8)
* Configuration setting mdrun.maxthreads now also applies to energy
minimization with mdpow-equilibrium.py/mdpow.run() (119)
* Default plot option is now "none" for the mdpow-* scripts (PR 142)
* Default estimator for mdpow analysis scripts is now alchemlyb MBAR
(139, PR 142)
* mdpow analysis scripts now default to statistical inefficiency
calculation (--SI) and stride=1 (139, PR 142)
* updated bundled CHARMM/CGENFF with charmm36-mar2019 (previously was
charmm36-jul2017)
* removed deprecated -DFLEXIBLE grompp preprocessor flag from
em_opl.mdp template file
* updated MDP templates (PR 155):
- add files for AMBER (same as OPLS) and CHARMM for em, NPT, and bar (FEP)
stages
- NOTE: explicitly set "cutoff-scheme = verlet" in all MDP files;
for GROMACS 4.6.5 FEP will fail with a FATAL ERROR "The Verlet cut-off scheme
does not (yet) support free-energy calculations with perturbed
atoms, only perturbed interactions." so you need to set the
cutoff-scheme to the value "group".
- disable energy group calculation to allow running on GPUs with
modern GROMACS versions (such as 2021)
- added comments regarding GROMACS bug
https://gitlab.com/gromacs/gromacs/-/issues/3403 that requires
manually increasing rlist >= solute diameter
- added comment regarding 'pme_order = 6' preventing PME calculation
on GPUs with GROMACS 2021.
* store version information in mdpow.__version__ instead of VERSION
get_version() (165)

Enhancements

* tested with GROMACS 4.6.5, 2018.6, 2020.6, 2021.1 (PR 159, 164)
* tested on Linux and and macOS (PR 159, 164)
* supported CHARMM and AMBER forcefield, including PRM parameter files
with the "setup.prm" parameter in the configuration file (104)
* supported wet-octanol mixed solvent boxtype but this only works with
GROMACS >= 2018 (98)
* support OPLS-AA TIP4PD, AMBER TIP4PEW and cyclohexane, and CHARMM TIP5P
and cyclohexane solvent types (141)
* supported forcefield options in scripts (123)
* supported multiple edr files input in fep.py (132)
* supported alchemlyb estimators (MBAR and TI) in analysis functions
and scripts (133 135)
* boxtype and minimum distance (30) can be set in runinput.yml and are
documented (91, 88)
* can now set fep.setup.maxwarn in config file (113)

Fixes

* fixed: return fig in fep.py so plot function in scripts can access the
object (129)
* fixed: buffering kwarg was removed from openany() so code is
compatible with GromacsWrapper >= 0.8.0 (107)
* fixed: GROMACS 2020 fails with "Inconsistency in user input:
Could not do a restart with appending because the checkpoint file was not
found. Either supply the name of the right checkpoint file or do not use
-append": mdpow.run.runMD_or_exit() does not anymore add -append to GROMACS
invocation (128)
* fixed mdpow-pow and mdpow-pcw scripts (138)
* fixed template em_charmm.mdp to use standard CHARMM non-bonded parameters
for energy minimization (PR 155)

0.6.1

orbeckst, iorga, ianmkenney, rhheilma

* works with Gromacs 2016.x, 5.1.x, and 4.6.x (36)
* removed unused analysis.py and analysis/thermodynamics.py
* supported water models: TIP4P, TIP3P, TIP5P, SPC, SPC/E, and
new: M24 (modified TIP3P, 46)
* fixed sc-power can only take integer powers (71)
* use PyBOL for building the testing environment
* removed run.MDrunnerSimple (60)
* used flexible water model (-DFLEXIBLE) for more robust energy
minimization
* FEP failed with IndexError when lambdas where presented as a list
(78)
* EDR files are now output by default instead of XVG (75)
* fep.Gsolv.analyze() automatically converts EDR to XVG.bz2 if
necessary and can process the XVG/MBAR format of Gromacs 5.x
for TI (issue 82)
* deprecated mdpow-ghyd script (issue 14)

0.6.0

orbeckst, ianmkenney

Code and development are now public on GitHub https://github.com/Becksteinlab/MDPOW

* supported solvents: water, octanol, cyclohexane (new) (11, 16)
* supported water models: TIP4P, and new: TIP3P, TIP5P, SPC, SPC/E (38)
* FEP simulations are now done in NPT (Parrinello-Rahman barostat)
instead of NVT (28)
* can run with Gromacs BAR and/or TI
* input file format was changed from ini to YAML (1, 5, 6)
* additional configuration options in the runinput.yml file (30, 38)

Page 1 of 2

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.