-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
DOC: Include updates for setting up ReadTheDocs page (#39)
* DOC: include documentation on BDSS objects * DOC: include requirements files and dependencies for RTD * FIX: ensure topology and coordinate GROMACS files are opened in UI, not saved * DOC: update README and FragmentModel * TST: unit test fixes for GROMACS input files * DOC: update RTD links to subproject page
- Loading branch information
Showing
8 changed files
with
145 additions
and
22 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -15,6 +15,7 @@ | |
} | ||
|
||
ADDITIONAL_PIP_DEPS = [ | ||
'force_bdss>=0.4.0' | ||
] | ||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
sphinx==2.3.1 | ||
docutils==0.16 | ||
envisage>=4.9.2 | ||
scipy>=1.2.1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,108 @@ | ||
BDSS Plugin Objects | ||
=================== | ||
|
||
The FORCE Gromacs plugin also contributes serveral BDSS objects that can be used either | ||
out of the box or provide a base class for further customization. | ||
|
||
Data Sources | ||
------------ | ||
|
||
FragmentDataSource | ||
~~~~~~~~~~~~~~~~~~ | ||
|
||
The ``FragmentDataSource`` class provides an interface for a BDSS user to create a ``GromacsFragment`` that | ||
can be propagated through a Workflow as a ``DataValue``. The data source takes no input parameters, and produces | ||
a single output parameter, which is the ``GromacsFragment`` instance being constructed. Therefore it can be considered | ||
as a factory of ``GromacsFragment`` objects. | ||
|
||
The following information must be provided in the model interface: | ||
|
||
- **Name**: A human readable name of the fragment. | ||
- **Symbol**: The symbol that is used to idenfity the fragment in GROMACS input files | ||
- **Coordinate**: A path to the GROMACS coordinate ``.gro`` file that described the fragment's geometry | ||
- **Topology**: A path to the GROMACS topology ``.itp`` file that described the fragment's force field parameters | ||
|
||
MoleculeDataSource | ||
~~~~~~~~~~~~~~~~~~ | ||
|
||
The ``MoleculeDataSource`` class provides an interface for a BDSS user to create a ``GromacsMolecule`` that | ||
can be propagated through a Workflow as a ``DataValue``. The data source takes one or more ``GromacsFragment`` | ||
input parameters, and produces a single output parameter, which is the ``GromacsMolecule`` instance being constructed. | ||
Therefore it can be considered as a factory of ``GromacsMolecule`` objects. | ||
|
||
The following information must be provided in the model interface: | ||
|
||
- **No. Fragment Types**: The number of different fragment types in the molecule | ||
- **Fragment Numbers**: The stoichiometric number of each fragment type in the molecule | ||
|
||
SimulationDataSource | ||
~~~~~~~~~~~~~~~~~~~~ | ||
|
||
The ``SimulationDataSource`` base class provides an interface for a BDSS user to create and run a | ||
``BaseGromacsSimulationBuilder`` instance that can construct and perform a ``GromacsPipeline`` object. | ||
The data source takes one or more ``GromacsMolecule`` input parameters, and produces a single output parameter, | ||
which is the file path to the GROMACS trajectory file that is expected to be post-processed by further data sources. | ||
|
||
The data source requires developers to implement the ``create_simulation_builder`` method, which produces | ||
a ``BaseGromacsSimulationBuilder`` instance. | ||
|
||
.. code-block:: python | ||
def create_simulation_builder(self, model, parameters): | ||
"""Method that returns a `GromacsSimulationBuilder` object capable | ||
of generating a `GromacsPipeline` | ||
Parameters | ||
---------- | ||
model: SimulationDataSourceModel | ||
The BaseDataSourceModel associated with this class | ||
parameters: List(DataValue) | ||
a list of DataValue objects containing the information needed | ||
for the execution of the DataSource. | ||
Returns | ||
------- | ||
simulation_builder: BaseGromacsSimulationBuilder | ||
An object capable of generating a GromacsPipeline that calls | ||
a Gromacs simulation | ||
""" | ||
It also emits a ``SimulationProgressEvent`` object containing | ||
the bash script for each GROMACS command that is called during the simulation. | ||
|
||
The following information must be provided in the model interface: | ||
|
||
- **Name**: A human readable name of the simulation. | ||
- **Output Directory**: The local directory path that will be used to contain simulation output and input files | ||
- **No. Molecule Types**: The number of different molecule types in the simulation cell | ||
- **Size**: The total number of fragments in the simulation | ||
- **No. Steps**: The length of the simulation in time steps | ||
- **MARTINI Parameter**: A path to the GROMACS topology ``.itp`` file that contains the MARTINI forcefield | ||
- **Minimization Parameter File**: File path to the GROMACS parameter ``.top`` file that contains the instructions for an | ||
energy minimization run | ||
- **Production Parameter File**: File path to the GROMACS parameter ``.top`` file that contains the instructions for a | ||
production run | ||
- **Overwrite Simulation Data?**: Whether or not to overwrite any existing simulation data files. | ||
- **Dry Run?**: Whether or not to perform a dry run of the simulation. | ||
- **MPI Run?**: Whether or not to perform an MPI run of the simulation using parallel processing | ||
- **No. Processes**: Number of processes to use in an MPI run | ||
- **Overwrite Data?**: Whether or not to overwrite any existing simulation data files. | ||
|
||
|
||
Notification Listeners | ||
---------------------- | ||
|
||
HPCWriter | ||
~~~~~~~~~ | ||
|
||
The ``HPCWriter`` class reacts to a ``SimulationProgressEvent`` in order to output bash file that can | ||
be used as a submission script to a HPC. The file contains the series of GROMACS commands that is communicated | ||
by the ``SimulationProgressEvent`` as well as a customizable header and prefix. The output file name is determined | ||
by the name of the simulation contained in the event's bash script. | ||
|
||
The following information must be provided in the model interface: | ||
|
||
- **Header**: The header of the output bash file containing HPC submission script details | ||
- **Prefix**: An extended multi-line section of the output bash file containing any additioanl submission script | ||
details | ||
- **Dry Run?**: Whether or not to perform a dry run of writing the file. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters