Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

prep release 0.8.0 #201

Merged
merged 1 commit into from
Jan 3, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,24 +24,24 @@ jobs:
matrix:
# only test all GROMACS version on the oldest and latest
# Python to keep the testing matrix manageable and only use 2
# macos runners (latest GROMACS, oldes and latest Python)
# macos runners (latest GROMACS, oldest and latest Python)

os: [ubuntu-latest]
python-version: [3.9]
python-version: ["3.9"]
gromacs-version: ["4.6.5", "2018.6", "2020.6", "2021.1"]
include:
- os: ubuntu-latest
python-version: 3.6
gromacs-version: 2021.1
python-version: "3.6"
gromacs-version: "2021.1"
- os: ubuntu-latest
python-version: 3.7
gromacs-version: 2021.1
python-version: "3.7"
gromacs-version: "2021.1"
- os: ubuntu-latest
python-version: 3.8
gromacs-version: 2021.1
python-version: "3.8"
gromacs-version: "2021.1"
- os: macos-latest
python-version: 3.9
gromacs-version: 2021.1
python-version: "3.9"
gromacs-version: "2021.1"

env:
MPLBACKEND: agg
Expand Down
15 changes: 7 additions & 8 deletions CHANGES
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ CHANGES for MDPOW
Add summary of changes for each release. Use ISO dates. Reference
GitHub issues numbers and PR numbers.

2021-??-?? 0.8.0
2021-12-29 0.8.0
ALescoulie, orbeckst

Changes
Expand All @@ -18,18 +18,17 @@ Changes

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)
* 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 SolvationAnalysis for quantifing the number of solvent molecules
within a given distance (#195)


Fixes

Expand Down
3 changes: 2 additions & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,8 @@ Documentation
Installation
------------

See `INSTALL`_ for detailed instructions. MDPOW currently supports Python 3.7 to 3.9.
See `INSTALL`_ for detailed instructions. MDPOW currently supports and
is tested with Python 3.7 to 3.9.

You will also need `Gromacs`_ (currently tested with versions 4.6.5,
2018, 2020, 2021 but 2016 and 2019 should also work).
Expand Down
60 changes: 49 additions & 11 deletions doc/sphinx/source/analysis.txt
Original file line number Diff line number Diff line change
@@ -1,21 +1,59 @@
==================
Analysis Submodule
==================
========
Analysis
========

.. versionadded:: 0.8.0

MDPOW module for analyzing simulations. The :doc:`analysis/ensemble` objects
and :doc:`analysis/ensemble_analysis` allow for the construction the simplified of analyses.
The :mod:`mdpow.analysis` module contains tools for analyzing whole
sets (ensembles) of FEP simulations and a framework to write new
analysis tools [Lescoulie2021]_.

The :doc:`analysis/ensemble` and :doc:`analysis/ensemble_analysis` sections
assumes a basic understanding of object oriented programming in python and
are for users who wish to construct their own analyses.
.. _tools:

Analysis tools
--------------

MDPOW analysis tools are based on the :ref:`framework`. They generally
take as an input the top level directory of a complete FEP run and
then collect individual simulations and run a specific analysis over
all FEP simulations. They then make data available (typically, as a
:class:`pandas.DataFrame`).

.. toctree::
:maxdepth: 1

analysis/ensemble
analysis/ensemble_analysis
analysis/solvation
analysis/dihedral
analysis/dihedral


.. _framework:

Ensemble Analysis Framework
---------------------------

The *Ensemble Analysis framework* [Lescoulie2021]_ allows for the
construction analysis tools that work with whole sets (ensembles) of
FEP simulations. They generally follow (and can use) standard
MDAnalysis analysis classes.

The :ref:`ensemble-objects` and :ref:`ensembleanalysis-base` sections
assume a basic understanding of object oriented programming in Python
and are for users who wish to construct their own analyses. The code
in the :ref:`tools` serves as example implementations and is described
in more detail in [Lescoulie2021]_.

.. toctree::
:maxdepth: 1

analysis/ensemble_analysis
analysis/ensemble


References
----------
.. [Lescoulie2021] A. Lescoulie, "SPIDAL Summer REU 2021: Upgrading MDPOW and
adding analysis functionality," Technical Report, Arizona
State University, Tempe, AZ, 2021. doi:
`10.6084/m9.figshare.17156018`_

.. _`10.6084/m9.figshare.17156018`: https://doi.org/10.6084/m9.figshare.17156018
5 changes: 3 additions & 2 deletions doc/sphinx/source/analysis/dihedral.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@
Dihedral Analysis
=================

Analyzes selected dihedral angles over a multi-system simulation. Built using the :doc:`analysis/ensemble_analysis`
Framework to run over a collection of systems contained in an :class:`~mdpow.analysis.ensemble.Ensemble` .
Analyzes selected dihedral angles over a multi-system
simulation. Built using the :ref:`framwework` to run over a collection
of systems contained in an :class:`~mdpow.analysis.ensemble.Ensemble`.

.. versionadded:: 0.8.0

Expand Down
6 changes: 4 additions & 2 deletions doc/sphinx/source/analysis/ensemble.txt
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
.. _ensemble-objects:

================
Ensemble Objects
================

.. versionadded:: 0.8.0

Ensemble
________
--------

The :class:`~mdpow.analysis.ensemble.Ensemble` object is a collection
of :class:`MDAnalysis.Universe <MDAnalysis.core.groups.universe.Universe>` objects.
Expand All @@ -30,7 +32,7 @@ can also be built by manually adding and popping universes into an empty instanc
.. automethod:: _load_universe_from_dir

EnsembleAtomGroup
_________________
-----------------

The :class:`~mdpow.analysis.ensemble.EnsembleAtomGroup` is created by running
the on an :class:`~mdpow.analysis.ensemble.Ensemble`
Expand Down
16 changes: 6 additions & 10 deletions doc/sphinx/source/analysis/ensemble_analysis.txt
Original file line number Diff line number Diff line change
@@ -1,22 +1,18 @@
============================
Ensemble Analysis Framework
============================
.. _ensembleanalysis-base:

==============================
Ensemble Analysis base class
==============================

.. versionadded:: 0.8.0

The Analysis modules help in the implementation analyses of
MDPOW simulations. To simplify the process of analyzing
a collection of systems generated by a free energy simulation
the objects in :doc:`analysis/ensemble` allow for a molecule directory's
the objects in :ref:`ensemble-objects` allow for a molecule directory's
systems to be loaded into `MDAnalysis <https://mdanalysis.org>`_
Universes and be analyzed as a group.

Ensemble Analysis Framework
===========================

EnsembleAnalysis
----------------

:class:`~mdpow.analysis.ensemble.EnsembleAnalysis` is a class inspired by the
:class:`AnalysisBase <MDAnalysis.analysis.base.AnalysisBase>` from MDAnalysis which
iterates over the systems in the ensemble and the frames in the systems. It sets up both iterations between
Expand Down
5 changes: 3 additions & 2 deletions doc/sphinx/source/analysis/solvation.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,12 @@
Solvation Shell Analysis
========================

Analyzes the number of solvent molecules within given distances of the solute.
Analyzes the number of solvent molecules within given distances of the
solute. The solvation tool is built with the :ref:`framwework`.

.. versionadded:: 0.8.0

.. autoclass:: mdpow.analysis.solvation.SolvationAnalysis
:members:

.. automethod:: run
.. automethod:: run
2 changes: 1 addition & 1 deletion doc/sphinx/source/index.txt
Original file line number Diff line number Diff line change
Expand Up @@ -139,9 +139,9 @@ For current issues and open feature requests please look through the
scripts
equil
fep
analysis
utilities
forcefields
analysis

.. rubric:: Indices and tables

Expand Down