Skip to content

Commit

Permalink
Merge pull request #23 from bc118/add_tests
Browse files Browse the repository at this point in the history
Added unit tests for user input and other checks.
  • Loading branch information
bc118 authored Sep 24, 2023
2 parents 85f56c2 + 392b7a2 commit 649053e
Show file tree
Hide file tree
Showing 10 changed files with 1,554 additions and 103 deletions.
20 changes: 7 additions & 13 deletions docs/getting_started/installation/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ Installation
============

.. note::
The GOMC software need to be installed manually, outside of this Python install,
The GOMC >= v2.75 software need to be installed manually, outside of this Python install,
with it's directory/path specified in the dihedral fit function.

Recommended installation is with `mamba <https://github.com/mamba-org/mamba>`_
------------------------------------------------------------------------------
Installation with `mamba <https://github.com/mamba-org/mamba>`_ (Recommended)
-----------------------------------------------------------------------------
::

$ mamba install -c conda-forge mosdef-dihedral-fit
Expand All @@ -18,15 +18,9 @@ Install with `conda <https://repo.anaconda.com/miniconda/>`_

$ conda install -c conda-forge mosdef-dihedral-fit

There is an issue building MoSDeF-GOMC version 1.0.0 with ``conda`` or ``conda-forge``
not extracting the latest ``conda`` build version. Therefore, the user can conduct
the additional command below or install using ``mamba`` because ``mamba`` is using the correct build.::

$ conda install -c conda-forge sympy=1.10 garnett gsd pycifrw


Install an editable version from the source code
------------------------------------------------
Install an editable version via the source code
-----------------------------------------------

It is common practice to utilize a pre-packaged ``Python`` distribution like
`Miniconda <https://docs.conda.io/en/latest/miniconda.html>`_ to
Expand All @@ -49,15 +43,15 @@ Install pre-commit

To maintain uniform coding, this software utilizes the `pre-commit <https://pre-commit.com/>`_ package.

To check all the files, you can run::
To check all the files using pre-commit, run::

$ pre-commit run --all-files


Supported Python Versions
-------------------------

``Python 3.9`` is currently the only officially supported and tested version during the
``Python 3.9 and 3.10`` are currently the only officially supported and tested version during the
software development. Older versions of ``Python`` may work, but they are not guaranteed to work.

Testing your installation
Expand Down
2 changes: 1 addition & 1 deletion docs/getting_started/quick_start/quick_start.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Quick Start
-----------

.. note::
The GOMC software need to be installed manually, outside of this Python install,
The GOMC >= v2.75 software need to be installed manually, outside of this Python install,
with it's directory/path specified in the dihedral fit function.

These examples are provided as a python files, which the user can run and modifiy.
Expand Down
14 changes: 7 additions & 7 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ dihedrals, then also analytically converts them to the periodic/`CHARMM <https:/
Ryckaert-Bellemans (RB) torsion.

The **MoSDeF-dihedral-fit** software produces dihedral fits for existing force fields, compatible with
`GPU Optimized Monte Carlo (GOMC) <http://gomc.eng.wayne.edu>`_ and
`GPU Optimized Monte Carlo (GOMC) >= v2.75 <http://gomc.eng.wayne.edu>`_ and
`Molecular Simulation Design Framework (MoSDeF) <https://mosdef.org>`_, with only tens of lines of python code,
the `Gaussian <https://www.gaussin.com>`_ log files, and a **mol2** file.
the `Gaussian 16 <https://www.gaussin.com>`_ log files, and a **mol2** file.

.. note::
Currently, this means that only the fourth (4th) cosine multiple or power is utilized in the dihedral fit.
Expand All @@ -24,21 +24,21 @@ the `Gaussian <https://www.gaussin.com>`_ log files, and a **mol2** file.

The `MoSDeF-GOMC <https://github.com/GOMC-WSU/MoSDeF-GOMC/tree/master/mosdef_gomc>`_ software package is used
for the Molecular Mechanics (MM) calculation, which utilizes
`GPU Optimized Monte Carlo (GOMC) <http://gomc.eng.wayne.edu>`_, the
`GPU Optimized Monte Carlo (GOMC) >= v2.75 <http://gomc.eng.wayne.edu>`_, the
`Molecular Simulation Design Framework (MoSDeF) <https://mosdef.org>`_, and the
`vmd-python <https://github.com/Eigenstate/vmd-python>`_ core software packages. For the Quantum Mechanics calculations,
the **Gaussian** software is used, reading the **Gaussian** log files.
From the **Gaussian** log file, a user created **mol2** file, and a few user inputs, this software automatically
the **Gaussian 16** software is used, reading the **Gaussian 16** log files.
From the **Gaussian 16** log file, a user created **mol2** file, and a few user inputs, this software automatically
fits the desired dihedral, accounting for multiple dihedrals simultaneously. The software output provides
a wide range of allowable dihedral fits with different cosine term combinations, including plots for visual reference;
from this information, the user can then select the best dihedral fit for the specific application.
Additionally, the 1-4 interactions for the force fields can be explicitly set in the force field XML file,
allowing the flexibility that some other dihedral fitters lack. Lastly, the dihedral fits are compared by recalculating
the dihedral in **GOMC** and comparing it to the original **Gaussian** energies, ensuring a correct dihedral fit.
the dihedral in **GOMC >= v2.75** and comparing it to the original **Gaussian 16** energies, ensuring a correct dihedral fit.


**MoSDeF-dihedral-fit Highlights**:
#. With a **Gaussian** log file and a few user inputs, the user can easily fit a dihedral.
#. With a **Gaussian 16** log file and a few user inputs, the user can easily fit a dihedral.

#. **MoSDeF-dihedral-fit** is designed to automate the dihedral fit

Expand Down
12 changes: 6 additions & 6 deletions docs/overview/general_info.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ dihedrals, then also analytically converts them to the periodic/`CHARMM <https:/
Ryckaert-Bellemans (RB) torsion.

The **MoSDeF-dihedral-fit** software produces dihedral fits for existing force fields, compatible with
`GPU Optimized Monte Carlo (GOMC) <http://gomc.eng.wayne.edu>`_ and
`GPU Optimized Monte Carlo (GOMC) >= v2.75 <http://gomc.eng.wayne.edu>`_ and
`Molecular Simulation Design Framework (MoSDeF) <https://mosdef.org>`_, with only tens of lines of python code,
the `Gaussian <https://www.gaussin.com>`_ log files, and a **mol2** file.
the `Gaussian 16 <https://www.gaussin.com>`_ log files, and a **mol2** file.

.. note::
Currently, this means that only the fourth (4th) cosine multiple or power is utilized in the dihedral fit.
Expand All @@ -30,14 +30,14 @@ for the Molecular Mechanics (MM) calculation, which utilizes
`GPU Optimized Monte Carlo (GOMC) <http://gomc.eng.wayne.edu>`_, the
`Molecular Simulation Design Framework (MoSDeF) <https://mosdef.org>`_, and the
`vmd-python <https://github.com/Eigenstate/vmd-python>`_ core software packages. For the Quantum Mechanics calculations,
the **Gaussian** software is used, reading the **Gaussian** log files.
From the **Gaussian** log file, a user created **mol2** file, and a few user inputs, this software automatically
the **Gaussian 16** software is used, reading the **Gaussian 16** log files.
From the **Gaussian 16** log file, a user created **mol2** file, and a few user inputs, this software automatically
fits the desired dihedral, accounting for multiple dihedrals simultaneously. The software output provides
a wide range of allowable dihedral fits with different cosine term combinations, including plots for visual reference;
from this information, the user can then select the best dihedral fit for the specific application.
Additionally, the 1-4 interactions for the force fields can be explicitly set in the force field XML file,
allowing the flexibility that some other dihedral fitters lack. Lastly, the dihedral fits are compared by recalculating
the dihedral in **GOMC** and comparing it to the original **Gaussian** energies, ensuring a correct dihedral fit.
the dihedral in **GOMC >= v2.75** and comparing it to the original **Gaussian 16** energies, ensuring a correct dihedral fit.



Expand Down Expand Up @@ -73,4 +73,4 @@ The **vmd-python** software is licensed by the Theoretical and Computational Bio

The vmd-python website is https://github.com/Eigenstate/vmd-python

The official VMD web page is http://www.ks.uiuc.edu/Research/vmd
The official VMD web page is http://www.ks.uiuc.edu/Research/vmd
2 changes: 1 addition & 1 deletion docs/reference/citing_mosdef_dihedral_fit_python.rst
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ Download as :download:`BibTeX <mosdef_dihedral_fit_zenodo.bib>` or :download:`RI



Please also cite the **MoSDeF** software:
Please also cite the following software:
* `mBuild <https://mbuild.mosdef.org/en/stable/>`_ -- A hierarchical, component based molecule builder

* `foyer <https://foyer.mosdef.org/en/stable/>`_ -- A package for atom-typing as well as applying and disseminating forcefields
Expand Down
8 changes: 6 additions & 2 deletions docs/reference/credits.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ MoSDeF-dihedral-fit developers:

**Nicholas Craven** - Developer

**Christopher R. Iacovella** - Developer
**Christopher R. Iacovella** - Advisor

**Clare McCabe** - Advisor

Expand All @@ -19,6 +19,10 @@ MoSDeF-dihedral-fit developers:
**Jeffrey Potoff** - Advisor and maintainer


`MoSDeF-dihedral-fit <https://github.com/GOMC-WSU/MoSDeF-dihedral-fit>`_ was developed and created as a collaborative effort between **Wayne State University** and **Vanderbilt University**, which included the `GPU Optimized Monte Carlo (GOMC) <http://gomc.eng.wayne.edu>`_,`Molecular Simulation Design Framework (MoSDeF) <https://mosdef.org>`_, and `MoSDeF-GOMC <https://github.com/GOMC-WSU/MoSDeF-GOMC/tree/master/mosdef_gomc>`_ teams.
`MoSDeF-dihedral-fit <https://github.com/GOMC-WSU/MoSDeF-dihedral-fit>`_ was developed and created as a collaborative effort between **Wayne State University**, **Vanderbilt University**, and **Atomfold LLC** (`Atomfold LLC website <https://atomfold.com>`_).

**Wayne State University** developled the `GPU Optimized Monte Carlo (GOMC) <http://gomc.eng.wayne.edu>`_ engine, which is utilized in this software.

Other collaboriative efforts between **Wayne State University** and **Vanderbilt University** include the `Molecular Simulation Design Framework (MoSDeF) <https://mosdef.org>`_ and `MoSDeF-GOMC <https://github.com/GOMC-WSU/MoSDeF-GOMC/tree/master/mosdef_gomc>`_ software, which are utilized in this software.

The **MoSDeF-dihedral-fit** software was supported via National Science Foundation (**NSF**) grants OAC-1835713, OAC-1835874, and CBET-2052438. Any statements stated or expressed are solely those of the **MoSDeF-dihedral-fit** software or developers and not the **NSF**.
Loading

0 comments on commit 649053e

Please sign in to comment.