Skip to content

Commit

Permalink
Update docs to include quickstart, installation, and configuration in…
Browse files Browse the repository at this point in the history
…structions
  • Loading branch information
fjclark committed May 8, 2024
1 parent 8bda458 commit 3fdf47a
Show file tree
Hide file tree
Showing 3 changed files with 75 additions and 16 deletions.
22 changes: 22 additions & 0 deletions docs/configuration.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
Configuration
-------------
For a detailed guide to configuring Maize, please see the `maize documentation <https://molecularai.github.io/maize/docs/userguide.html#configuring-workflows>`_
and the `maize-contrib documentation <https://molecularai.github.io/maize-contrib/docking.html#Configuration>`_.

By default, Maize looks for `$XDG_CONFIG_HOME/maize.toml` (`~/.config/maize.toml`) for configuration information. To set up Maize to run through slurm, run

.. code-block:: bash
export XDG_CONFIG_HOME=~/.config
Then create `~/.config/maize.toml` containing the following

.. code-block:: toml
system = "slurm" # Can be one of {'cobalt', 'flux', 'local', 'lsf', 'pbspro', 'rp', 'slurm'}
max_jobs = 100 # The maximum number of jobs that can be submitted by a node at once
queue = "gpu" #CHANGEME to your desired GPU queue
launcher = "srun" # The launcher to use for the command, usually one of {'srun', 'mpirun', 'mpiexec'}
walltime = "24:00:00" # Job walltime limit, shorter times may improve queueing times
Now when you execute a Maize workflow, it will submit jobs to the slurm scheduler.
40 changes: 24 additions & 16 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,14 @@ maize-biosimspace
=================
*maize* is a graph-based workflow manager for computational chemistry pipelines. This repository contains a namespace package providing BioSimSpace extensions for *maize*. You can find the core maize documentation `here <https://molecularai.github.io/maize>`_.

.. toctree::
:hidden:
:maxdepth: 1
:caption: Setup

installation
configuration

.. toctree::
:hidden:
:maxdepth: 1
Expand All @@ -29,37 +37,37 @@ maize-biosimspace
Steps <https://molecularai.github.io/maize/docs/steps>
Maize <https://molecularai.github.io/maize>

Installation
------------
To install, simply clone this repository and run:
Quick Start
-----------
Clone the repository and install:

.. code-block:: bash
git clone https://github.com/fjclark/maize-biosimspace.git
cd maize-biosimspace
mamba env create -f env-users.yml
mamba activate maize-biosimspace
pip install --no-deps ./
If you want to keep up-to-date with the latest changes to the core, clone `maize <https://github.com/MolecularAI/maize>`_, switch to the directory, and run (in the same conda environment):
Ensure that the required AMBER, GROMACS, and NAMD executables are available in your environment if you plan to use the relevant nodes.

.. code-block:: bash
pip install --no-deps ./
Many maize-biosimspace workflows will now be available through CLIs. Try typing `bss_` and hitting tab to list them. To see the options for each, type e.g.

If you plan on developing, you should use ``env-dev.yml`` instead and use the ``-e`` flag for ``pip``.
.. code-block:: bash
Configuration
-------------
Each step documentation will contain information on how to setup and run the node, as well as install the required dependencies. Dependencies can be managed in several ways, depending on the node and workflow you are running:
bss_parameterise -h
* Through a ``module`` system:
To run production 0.1 ns of production MD on a protein-ligand complex using GROMACS, dumping all of the intermediate files to the current directory:

Specify a module providing an executable in the ``config.toml`` (see `Configuring workflows <https://molecularai.github.io/maize/docs/userguide.html#config-workflow>`_). This module will then be loaded in the process running the node.
.. code-block:: bash
* With a separate python environment:
mkdir gmx_md_example
cd gmx_md_example
cp ../tests/data/complex.* .
bss_production_gromacs --inp complex.prm7 complex.rst7 --runtime 0.1 --save_name gmx_md_out --dump_to .
Some nodes will require custom python environments that are likely to be incompatible with the other environments. In those cases, the node process can be spawned in a custom environment. Note that this environment must still contain *maize*.
This will run locally. To configure maize nodes to run through a scheduler such as slurm, see :doc:`configuration`.

* By specifying the executable location and possibly script interpreter. This can also be accomplished using ``config.toml`` (see `Configuring workflows <https://molecularai.github.io/maize/docs/userguide.html#config-workflow>`_).


Indices and tables
Expand Down
29 changes: 29 additions & 0 deletions docs/installation.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
Installation
------------
For a basic installation, simply clone this repository and run:

.. code-block:: bash
git clone https://github.com/fjclark/maize-biosimspace.git
cd maize-biosimspace
mamba env create -f env-users.yml
mamba activate maize-biosimspace
pip install --no-deps ./
Ensure that the required AMBER, GROMACS, and NAMD executables are available in your environment if you plan to use the relevant nodes.

If you want to keep up-to-date with the latest changes to the core, clone `maize <https://github.com/MolecularAI/maize>`_, switch to the directory, and run (in the same conda environment):

.. code-block:: bash
pip install --no-deps ./
If you plan on developing, you should use ``env-dev.yml`` instead and use the ``-e`` flag for ``pip``.

.. code-block:: bash
git clone https://github.com/fjclark/maize-biosimspace.git
cd maize-biosimspace
mamba env create -f env-dev.yml
mamba activate maize-biosimspace
pip install -e --no-deps ./

0 comments on commit 3fdf47a

Please sign in to comment.