Skip to content
Snippets Groups Projects
Verified Commit ff39650e authored by James Graham's avatar James Graham
Browse files

docs: WIP move to markdown based docs

parent 55d5faac
Branches
No related tags found
No related merge requests found
version: 2 version: 2
sphinx: sphinx:
configuration: docs/source/conf.py configuration: docs/conf.py
python: python:
version: 3.7 version: 3.7
......
# Full Arguments List
## Input Files
`topology`
: Atomistic simulation topology
`trajectory`
: Atomistic simulation trajectory
`-m`, `--mapping`
: CG mapping definition file
`-b`, `--bondset`
: Bond definition file
...@@ -33,8 +33,7 @@ extensions = [ ...@@ -33,8 +33,7 @@ extensions = [
'autoapi.extension', 'autoapi.extension',
'sphinx_rtd_theme', 'sphinx_rtd_theme',
'sphinx.ext.viewcode', 'sphinx.ext.viewcode',
# 'recommonmark', 'myst_parser',
'm2r2',
] ]
source_suffix = ['.rst', '.md'] source_suffix = ['.rst', '.md']
...@@ -47,6 +46,8 @@ templates_path = ['_templates'] ...@@ -47,6 +46,8 @@ templates_path = ['_templates']
# This pattern also affects html_static_path and html_extra_path. # This pattern also affects html_static_path and html_extra_path.
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
myst_enable_extensions = ['deflist']
# -- Options for HTML output ------------------------------------------------- # -- Options for HTML output -------------------------------------------------
......
# File Formats
## Mapping Definition File
An example of mapping definition file for the monosaccharide allose taken from `test/data/sugar.map` is shown below.
Molecule names (as present in the gro coordinate file) are used as section headers inside square brackets.
Each of the following lines describes a single coarse-grained bead mapping.
The items on a line are:
- the name of the bead
- its MARTINI bead type
- optionally the bead charge
- a list of all the atom names it should contain
All items on a line are whitespace separated.
Multiple molecules may be specified in their own sections.
It is not recommended to provide a mapping for water since MARTINI water combines four molecules into a single bead which is not yet supported by PyCGTOOL.
Note that bead charges in the MARTINI framework are by convention integers and are used only for formally charged functional groups. An example of a molecule mapping using charges can be found in `test/data/dppc.map`.
```
; comments begin with a semicolon
[ALLA]
C1 P3 C1 O1
C2 P3 C2 O2
C3 P3 C3 O3
C4 P3 C4 O4
C5 P2 C5 C6 O6
O5 P4 O5
[SOL]
W P4 OW HW1 HW2
```
The Martini 3.0 force field has now introduced the use of virtual sites for polycylic compounds or polysaccharides in order to improve numerical stability for highly constrained structures.
Below is an example of how virtual sites can be included in the mapping file for naphthalene (see `/test/data/martini3/naphthalene.map`).
Similar to the previously described mapping syntax, a virtual site is defined with a prefix of ``@v`` as follows `@v [name] [type] [charge] [constructing beads]`.
The constructing beads refer to a list of space delimited coarse grained bead names from which the position of the virtual site will be calculated.
Currently virtual sites can be constructed from either the center of geometry or mass of the constructing sites via the `--virtual_map_center` flag.
```
[ NAPH ]
R1 TC4 C8 H8 C9 H9
R2 TC4 C6 H6 C7 H7
@v R3 TC4 R1 R2 R4 R5
R4 TC4 C1 H1 C2 H2
R5 TC4 C3 H3 C4 H4
```
## Bond Definition File
An example bond definition file for the monosaccharide allose taken from `test/data/sugar.bnd` is shown below.
As in the mapping definition file, molecule names are used as section headers inside square brackets.
The following lines define bonds lengths, angles and dihedrals between coarse-grained beads.
Each line is a list of bead names, using the names defined in the mapping file.
Two bead names on a line defines a bond length, three defines an angle, and four defines a dihedral.
If no angles are defined for a molecule, PyCGTOOL will construct all angles from the list of bonds.
This may also be enabled for dihedrals via the `--generate_dihedrals` flag, but is not recommended as in most cases coarse-grained models do not require dihedrals.
Additionally, any angles inside a triangle of bond lengths are excluded from the output as they often cause simulation stability issues when used in conjunction with LINCS.
```
; comments begin with a semicolon
[ALLA]
C1 C2
C2 C3
C3 C4
C4 C5
C5 O5
O5 C1
C1 C2 C3
C2 C3 C4
C3 C4 C5
C4 C5 O5
C5 O5 C1
O5 C1 C2
C1 C2 C3 C4
C2 C3 C4 C5
C3 C4 C5 O5
C4 C5 O5 C1
C5 O5 C1 C2
O5 C1 C2 C3
```
# PyCGTOOL Documentation
```{toctree}
:maxdepth: 2
self
file-formats
tutorial
mapping-only
arguments
autoapi/index
```
```{include} ../README.md
:relative-docs: docs/
:relative-images:
```
.. PyCGTOOL documentation master file, created by
sphinx-quickstart on Tue Feb 23 21:47:28 2016.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Welcome to PyCGTOOL's documentation!
====================================
.. toctree::
:maxdepth: 2
self
tutorial
mapping-only
autoapi/index
Features
--------
PyCGTOOL provides a means to quickly and easily generate coarse-grained molecular dynamics models within the MARTINI framework from all-atom or united-atom simulation trajectories.
A user defined mapping is applied to the input trajectory and bonded terms (lengths, angles and dihedrals) are measured. From these measurements, equilibrium values and force constants are found and a GROMACS topology is created for the target molecules.
Requirements
------------
PyCGTOOL requires:
- Python 3.6 or greater
- Numpy (http://www.numpy.org/)
- MDTraj (http://mdtraj.org/1.7.2/)
- Scipy (https://www.scipy.org/)
- Cython (http://cython.org/)
Optional:
- Python testing framework (e.g. py.test)
- Sphinx to generate documentation yourself (http://www.sphinx-doc.org/en/stable/)
Basic Usage
-----------
PyCGTOOL requires four input files to generate a coarse-grained model:
- AA simulation topology file (e.g. PDB, GRO, etc.)
- AA simulation trajectory file (e.g. XTC, DCD, etc.)
- PyCGTOOL mapping definition file
- PyCGTOOL bond definition file
The program is called by::
pycgtool <topology file> <trajectory file> -m <MAP file> -b <BND file>
Example mapping and bond definition files are present in the ``test/data`` directory. Their format is explained below.
After running PyCGTOOL two files, ``out.gro`` and ``out.itp`` will be created. The gro file contains the mapped coarse-grain coordinates with every molecule for which a mapping was provided. The itp file contains the parameters for each molecule type.
It is important to perform validation of any new parameter set.
This is typically done by comparing properties between the reference simulation and simulations using the new CG model.
In the tutorial we use the radius of gyration, but there are many other suitable properties, depending on the class of molecule being parametrised.
Mapping / Bond Definition Files
-------------------------------
The mapping and bond definition input files use a format similar to the GROMACS itp/top format.
Mapping Definition
~~~~~~~~~~~~~~~~~~
An example of mapping definition file for the monosaccharide allose taken from ``test/data/sugar.map`` is shown below.
Molecule names (as present in the gro coordinate file) are used as section headers inside square brackets. Each of the following lines describes a single coarse-grained bead mapping. The items on a line are: the name of the bead, its MARTINI bead type, optionally the bead charge, and a list of all the atom names it should contain. All items on a line are whitespace separated. Multiple molecules may be specified in their own sections.
It is not recommended to provide a mapping for water since MARTINI water combines four molecules into a single bead which is not yet supported by PyCGTOOL.
Note that bead charges in the MARTINI framework are by convention integers and are used only for formally charged functional groups. An example of a molecule mapping using charges can be found in ``test/data/dppc.map``. ::
; comments begin with a semicolon
[ALLA]
C1 P3 C1 O1
C2 P3 C2 O2
C3 P3 C3 O3
C4 P3 C4 O4
C5 P2 C5 C6 O6
O5 P4 O5
[SOL]
W P4 OW HW1 HW2
The Martini 3.0 force field has now introduced the use of virtual sites for polycylic compounds or polysaccharides
in order to improve numerical stability for highly constrained structures. Below is an example of how virtual sites
can be included in the mapping file for naphthalene (see ``/test/data/martini3/naphthalene.map`` ). Similar to the previously
described mapping syntax, a virtual site is defined with a prefix of ``@v`` as follows ``@v [name] [type] [charge] [constructing beads]``.
The constructing beads refer to a list of space delimited coarse grained bead names from which the position of the
virtual site will be calculated. Currently virtual sites can be constructed from either the center of geometry or mass of
the constructing sites via the ``--virtual_map_center`` flag.::
[ NAPH ]
R1 TC4 C8 H8 C9 H9
R2 TC4 C6 H6 C7 H7
@v R3 TC4 R1 R2 R4 R5
R4 TC4 C1 H1 C2 H2
R5 TC4 C3 H3 C4 H4
Bond Definition
~~~~~~~~~~~~~~~
An example bond definition file for the monosaccharide allose taken from ``test/data/sugar.bnd`` is shown below.
As in the mapping definition file, molecule names are used as section headers inside square brackets. The following lines define bonds lengths, angles and dihedrals between coarse-grained beads. Each line is a list of bead names, using the names defined in the mapping file. Two bead names on a line defines a bond length, three defines an angle, and four defines a dihedral.
If no angles are defined for a molecule, PyCGTOOL will construct all angles from the list of bonds. This may also be enabled for dihedrals via the ``--generate_dihedrals`` flag, but is not recommended as in most cases coarse-grained models do not require dihedrals. Additionally, any angles inside a triangle of bond lengths are excluded from the output as they often cause simulation stability issues when used in conjunction with LINCS. ::
; comments begin with a semicolon
[ALLA]
C1 C2
C2 C3
C3 C4
C4 C5
C5 O5
O5 C1
C1 C2 C3
C2 C3 C4
C3 C4 C5
C4 C5 O5
C5 O5 C1
O5 C1 C2
C1 C2 C3 C4
C2 C3 C4 C5
C3 C4 C5 O5
C4 C5 O5 C1
C5 O5 C1 C2
O5 C1 C2 C3
Advanced Usage
--------------
Modes
~~~~~
PyCGTOOL performs several other functions which may be useful in the testing and use of coarse-grained models.
Mapping Only
............
Mapping-only mode simply converts an input atomistic coordinate file into its coarse-grained representation.
For full detail see: :doc:`mapping-only`.
This mode may be invoked by::
pycgtool <topology file> -m <MAP file>
Measure Only
............
Measure-only mode may be used to aid in the testing of a coarse-grained model by making measurements of bonds from a true coarse-grained simulation trajectory.
These bond measurements may be compared directly to those collected from the pseudo-coarse-grained trajectory used to generate the model.
This mode may be invoked by::
pycgtool <topology file> <trajectory file> -b <BND file>
Advanced Options
~~~~~~~~~~~~~~~~
================== ========================================== =======================
Option Description Values
================== ========================================== =======================
output_name Base name of output files **out**, any string
output Coordinate output format **gro**
output_xtc Should a pseudo-CG XTC be created **False**, True
map_center Mapping method **geom**, mass
virtual_map_center Virtual site mapping method **geom**, mass
constr_threshold Convert stiff bonds to constraints over **100000**, any number
dump_measurements Whether to output bond measurements **False**, True
dump_n_values How many measurements to output **10000**, any number
output_forcefield Output a GROMACS forcefield directory? **False**, True
temperature Temperature of reference simulation **310**, any number
default_fc Use default MARTINI force constants? **False**, True
generate_angles Generate angles from bonds **True**, False
generate_dihedrals Generate dihedrals from bonds **False**, True
================== ========================================== =======================
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
name = "alabaster" name = "alabaster"
version = "0.7.12" version = "0.7.12"
description = "A configurable sidebar-enabled Sphinx theme" description = "A configurable sidebar-enabled Sphinx theme"
category = "dev" category = "main"
optional = false optional = false
python-versions = "*" python-versions = "*"
...@@ -10,7 +10,7 @@ python-versions = "*" ...@@ -10,7 +10,7 @@ python-versions = "*"
name = "astroid" name = "astroid"
version = "2.4.1" version = "2.4.1"
description = "An abstract syntax tree for Python with inference support." description = "An abstract syntax tree for Python with inference support."
category = "dev" category = "main"
optional = false optional = false
python-versions = ">=3.5" python-versions = ">=3.5"
...@@ -43,7 +43,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" ...@@ -43,7 +43,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
name = "attrs" name = "attrs"
version = "20.3.0" version = "20.3.0"
description = "Classes Without Boilerplate" description = "Classes Without Boilerplate"
category = "dev" category = "main"
optional = false optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
...@@ -57,7 +57,7 @@ tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (> ...@@ -57,7 +57,7 @@ tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>
name = "babel" name = "babel"
version = "2.9.0" version = "2.9.0"
description = "Internationalization utilities" description = "Internationalization utilities"
category = "dev" category = "main"
optional = false optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
...@@ -68,7 +68,7 @@ pytz = ">=2015.7" ...@@ -68,7 +68,7 @@ pytz = ">=2015.7"
name = "certifi" name = "certifi"
version = "2020.12.5" version = "2020.12.5"
description = "Python package for providing Mozilla's CA Bundle." description = "Python package for providing Mozilla's CA Bundle."
category = "dev" category = "main"
optional = false optional = false
python-versions = "*" python-versions = "*"
...@@ -76,7 +76,7 @@ python-versions = "*" ...@@ -76,7 +76,7 @@ python-versions = "*"
name = "chardet" name = "chardet"
version = "4.0.0" version = "4.0.0"
description = "Universal encoding detector for Python 2 and 3" description = "Universal encoding detector for Python 2 and 3"
category = "dev" category = "main"
optional = false optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
...@@ -130,7 +130,7 @@ python-versions = ">=3.6, <3.7" ...@@ -130,7 +130,7 @@ python-versions = ">=3.6, <3.7"
name = "docutils" name = "docutils"
version = "0.16" version = "0.16"
description = "Docutils -- Python Documentation Utilities" description = "Docutils -- Python Documentation Utilities"
category = "dev" category = "main"
optional = false optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
...@@ -171,7 +171,7 @@ flake8 = "*" ...@@ -171,7 +171,7 @@ flake8 = "*"
name = "idna" name = "idna"
version = "2.10" version = "2.10"
description = "Internationalized Domain Names in Applications (IDNA)" description = "Internationalized Domain Names in Applications (IDNA)"
category = "dev" category = "main"
optional = false optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
...@@ -179,7 +179,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" ...@@ -179,7 +179,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
name = "imagesize" name = "imagesize"
version = "1.2.0" version = "1.2.0"
description = "Getting image size from png/jpeg/jpeg2000/gif file" description = "Getting image size from png/jpeg/jpeg2000/gif file"
category = "dev" category = "main"
optional = false optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
...@@ -225,7 +225,7 @@ xdg_home = ["appdirs (>=1.4.0)"] ...@@ -225,7 +225,7 @@ xdg_home = ["appdirs (>=1.4.0)"]
name = "jinja2" name = "jinja2"
version = "2.11.3" version = "2.11.3"
description = "A very fast and expressive template engine." description = "A very fast and expressive template engine."
category = "dev" category = "main"
optional = false optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
...@@ -247,15 +247,34 @@ python-versions = ">=3.6" ...@@ -247,15 +247,34 @@ python-versions = ">=3.6"
name = "lazy-object-proxy" name = "lazy-object-proxy"
version = "1.4.3" version = "1.4.3"
description = "A fast and thorough lazy object proxy." description = "A fast and thorough lazy object proxy."
category = "dev" category = "main"
optional = false optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
[[package]]
name = "markdown-it-py"
version = "0.6.2"
description = "Python port of markdown-it. Markdown parsing, done right!"
category = "main"
optional = false
python-versions = "~=3.6"
[package.dependencies]
attrs = ">=19,<21"
mdit-py-plugins = ">=0.2.1,<0.3.0"
[package.extras]
code_style = ["pre-commit (==2.6)"]
compare = ["commonmark (>=0.9.1,<0.10.0)", "markdown (>=3.2.2,<3.3.0)", "mistune (>=0.8.4,<0.9.0)", "mistletoe-ebp (>=0.10.0,<0.11.0)", "panflute (>=1.12,<2.0)"]
linkify = ["linkify-it-py (>=1.0,<2.0)"]
rtd = ["myst-nb (>=0.11.1,<0.12.0)", "sphinx-book-theme", "sphinx-panels (>=0.4.0,<0.5.0)", "sphinx-copybutton", "sphinx (>=2,<4)", "pyyaml"]
testing = ["coverage", "pytest (>=3.6,<4)", "pytest-cov", "pytest-regressions", "pytest-benchmark (>=3.2,<4.0)", "psutil"]
[[package]] [[package]]
name = "markupsafe" name = "markupsafe"
version = "1.1.1" version = "1.1.1"
description = "Safely add untrusted strings to HTML/XML markup." description = "Safely add untrusted strings to HTML/XML markup."
category = "dev" category = "main"
optional = false optional = false
python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*" python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*"
...@@ -267,6 +286,21 @@ category = "dev" ...@@ -267,6 +286,21 @@ category = "dev"
optional = false optional = false
python-versions = "*" python-versions = "*"
[[package]]
name = "mdit-py-plugins"
version = "0.2.6"
description = "Collection of plugins for markdown-it-py"
category = "main"
optional = false
python-versions = "~=3.6"
[package.dependencies]
markdown-it-py = ">=0.5.8,<2.0.0"
[package.extras]
code_style = ["pre-commit (==2.6)"]
testing = ["coverage", "pytest (>=3.6,<4)", "pytest-cov", "pytest-regressions"]
[[package]] [[package]]
name = "mdplus" name = "mdplus"
version = "0.0.5" version = "0.0.5"
...@@ -300,6 +334,28 @@ numpy = ">=1.6" ...@@ -300,6 +334,28 @@ numpy = ">=1.6"
pyparsing = "*" pyparsing = "*"
scipy = "*" scipy = "*"
[[package]]
name = "myst-parser"
version = "0.13.5"
description = "An extended commonmark compliant parser, with bridges to docutils & sphinx."
category = "main"
optional = false
python-versions = ">=3.6"
[package.dependencies]
docutils = ">=0.15"
jinja2 = "*"
markdown-it-py = ">=0.6.2,<0.7.0"
mdit-py-plugins = ">=0.2.5,<0.3.0"
pyyaml = "*"
sphinx = ">=2,<4"
[package.extras]
code_style = ["flake8 (>=3.7.0,<3.8.0)", "black", "pre-commit (==1.17.0)"]
linkify = ["linkify-it-py (>=1.0,<2.0)"]
rtd = ["sphinxcontrib-bibtex (<2.0.0)", "ipython", "sphinx-book-theme (>=0.0.36)", "sphinx-panels (>=0.5.2,<0.6.0)"]
testing = ["coverage", "pytest (>=3.6,<4)", "pytest-cov", "pytest-regressions", "beautifulsoup4"]
[[package]] [[package]]
name = "numpy" name = "numpy"
version = "1.19.5" version = "1.19.5"
...@@ -320,7 +376,7 @@ python-versions = ">=3.7" ...@@ -320,7 +376,7 @@ python-versions = ">=3.7"
name = "packaging" name = "packaging"
version = "20.9" version = "20.9"
description = "Core utilities for Python packages" description = "Core utilities for Python packages"
category = "dev" category = "main"
optional = false optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
...@@ -403,11 +459,11 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" ...@@ -403,11 +459,11 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
[[package]] [[package]]
name = "pydocstyle" name = "pydocstyle"
version = "5.1.1" version = "6.0.0"
description = "Python docstring style checker" description = "Python docstring style checker"
category = "dev" category = "dev"
optional = false optional = false
python-versions = ">=3.5" python-versions = ">=3.6"
[package.dependencies] [package.dependencies]
snowballstemmer = "*" snowballstemmer = "*"
...@@ -543,7 +599,7 @@ testing = ["fields", "hunter", "process-tests (==2.0.2)", "six", "pytest-xdist", ...@@ -543,7 +599,7 @@ testing = ["fields", "hunter", "process-tests (==2.0.2)", "six", "pytest-xdist",
name = "pytz" name = "pytz"
version = "2021.1" version = "2021.1"
description = "World timezone definitions, modern and historical" description = "World timezone definitions, modern and historical"
category = "dev" category = "main"
optional = false optional = false
python-versions = "*" python-versions = "*"
...@@ -551,7 +607,7 @@ python-versions = "*" ...@@ -551,7 +607,7 @@ python-versions = "*"
name = "pyyaml" name = "pyyaml"
version = "5.4.1" version = "5.4.1"
description = "YAML parser and emitter for Python" description = "YAML parser and emitter for Python"
category = "dev" category = "main"
optional = false optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
...@@ -559,7 +615,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" ...@@ -559,7 +615,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
name = "requests" name = "requests"
version = "2.25.1" version = "2.25.1"
description = "Python HTTP for Humans." description = "Python HTTP for Humans."
category = "dev" category = "main"
optional = false optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
...@@ -667,7 +723,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" ...@@ -667,7 +723,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
name = "snowballstemmer" name = "snowballstemmer"
version = "2.1.0" version = "2.1.0"
description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms." description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms."
category = "dev" category = "main"
optional = false optional = false
python-versions = "*" python-versions = "*"
...@@ -675,7 +731,7 @@ python-versions = "*" ...@@ -675,7 +731,7 @@ python-versions = "*"
name = "sphinx" name = "sphinx"
version = "3.5.2" version = "3.5.2"
description = "Python documentation generator" description = "Python documentation generator"
category = "dev" category = "main"
optional = false optional = false
python-versions = ">=3.5" python-versions = ">=3.5"
...@@ -706,7 +762,7 @@ test = ["pytest", "pytest-cov", "html5lib", "cython", "typed-ast"] ...@@ -706,7 +762,7 @@ test = ["pytest", "pytest-cov", "html5lib", "cython", "typed-ast"]
name = "sphinx-autoapi" name = "sphinx-autoapi"
version = "1.7.0" version = "1.7.0"
description = "Sphinx API documentation generator" description = "Sphinx API documentation generator"
category = "dev" category = "main"
optional = false optional = false
python-versions = ">=3.6" python-versions = ">=3.6"
...@@ -726,7 +782,7 @@ go = ["sphinxcontrib-golangdomain"] ...@@ -726,7 +782,7 @@ go = ["sphinxcontrib-golangdomain"]
name = "sphinx-rtd-theme" name = "sphinx-rtd-theme"
version = "0.5.1" version = "0.5.1"
description = "Read the Docs theme for Sphinx" description = "Read the Docs theme for Sphinx"
category = "dev" category = "main"
optional = false optional = false
python-versions = "*" python-versions = "*"
...@@ -740,7 +796,7 @@ dev = ["transifex-client", "sphinxcontrib-httpdomain", "bump2version"] ...@@ -740,7 +796,7 @@ dev = ["transifex-client", "sphinxcontrib-httpdomain", "bump2version"]
name = "sphinxcontrib-applehelp" name = "sphinxcontrib-applehelp"
version = "1.0.2" version = "1.0.2"
description = "sphinxcontrib-applehelp is a sphinx extension which outputs Apple help books" description = "sphinxcontrib-applehelp is a sphinx extension which outputs Apple help books"
category = "dev" category = "main"
optional = false optional = false
python-versions = ">=3.5" python-versions = ">=3.5"
...@@ -752,7 +808,7 @@ test = ["pytest"] ...@@ -752,7 +808,7 @@ test = ["pytest"]
name = "sphinxcontrib-devhelp" name = "sphinxcontrib-devhelp"
version = "1.0.2" version = "1.0.2"
description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document." description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document."
category = "dev" category = "main"
optional = false optional = false
python-versions = ">=3.5" python-versions = ">=3.5"
...@@ -764,7 +820,7 @@ test = ["pytest"] ...@@ -764,7 +820,7 @@ test = ["pytest"]
name = "sphinxcontrib-htmlhelp" name = "sphinxcontrib-htmlhelp"
version = "1.0.3" version = "1.0.3"
description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files"
category = "dev" category = "main"
optional = false optional = false
python-versions = ">=3.5" python-versions = ">=3.5"
...@@ -776,7 +832,7 @@ test = ["pytest", "html5lib"] ...@@ -776,7 +832,7 @@ test = ["pytest", "html5lib"]
name = "sphinxcontrib-jsmath" name = "sphinxcontrib-jsmath"
version = "1.0.1" version = "1.0.1"
description = "A sphinx extension which renders display math in HTML via JavaScript" description = "A sphinx extension which renders display math in HTML via JavaScript"
category = "dev" category = "main"
optional = false optional = false
python-versions = ">=3.5" python-versions = ">=3.5"
...@@ -787,7 +843,7 @@ test = ["pytest", "flake8", "mypy"] ...@@ -787,7 +843,7 @@ test = ["pytest", "flake8", "mypy"]
name = "sphinxcontrib-qthelp" name = "sphinxcontrib-qthelp"
version = "1.0.3" version = "1.0.3"
description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp document." description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp document."
category = "dev" category = "main"
optional = false optional = false
python-versions = ">=3.5" python-versions = ">=3.5"
...@@ -799,7 +855,7 @@ test = ["pytest"] ...@@ -799,7 +855,7 @@ test = ["pytest"]
name = "sphinxcontrib-serializinghtml" name = "sphinxcontrib-serializinghtml"
version = "1.1.4" version = "1.1.4"
description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)." description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)."
category = "dev" category = "main"
optional = false optional = false
python-versions = ">=3.5" python-versions = ">=3.5"
...@@ -827,7 +883,7 @@ python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" ...@@ -827,7 +883,7 @@ python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
name = "typed-ast" name = "typed-ast"
version = "1.4.2" version = "1.4.2"
description = "a fork of Python 2 and 3 ast modules with type comment support" description = "a fork of Python 2 and 3 ast modules with type comment support"
category = "dev" category = "main"
optional = false optional = false
python-versions = "*" python-versions = "*"
...@@ -843,7 +899,7 @@ python-versions = "*" ...@@ -843,7 +899,7 @@ python-versions = "*"
name = "unidecode" name = "unidecode"
version = "1.2.0" version = "1.2.0"
description = "ASCII transliterations of Unicode text" description = "ASCII transliterations of Unicode text"
category = "dev" category = "main"
optional = false optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
...@@ -851,7 +907,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" ...@@ -851,7 +907,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
name = "urllib3" name = "urllib3"
version = "1.26.4" version = "1.26.4"
description = "HTTP library with thread-safe connection pooling, file post, and more." description = "HTTP library with thread-safe connection pooling, file post, and more."
category = "dev" category = "main"
optional = false optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4"
...@@ -875,7 +931,7 @@ toml = "*" ...@@ -875,7 +931,7 @@ toml = "*"
name = "wrapt" name = "wrapt"
version = "1.12.1" version = "1.12.1"
description = "Module for decorators, wrappers and monkey patching." description = "Module for decorators, wrappers and monkey patching."
category = "dev" category = "main"
optional = false optional = false
python-versions = "*" python-versions = "*"
...@@ -899,10 +955,13 @@ python-versions = ">=3.6" ...@@ -899,10 +955,13 @@ python-versions = ">=3.6"
docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"] docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"]
testing = ["pytest (>=4.6)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pytest-cov", "pytest-enabler", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy"] testing = ["pytest (>=4.6)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pytest-cov", "pytest-enabler", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy"]
[extras]
docs = ["Sphinx", "sphinx-autoapi", "sphinx-rtd-theme", "myst-parser"]
[metadata] [metadata]
lock-version = "1.1" lock-version = "1.1"
python-versions = "^3.6" python-versions = "^3.6"
content-hash = "1c426d5fdb40b4313cd1074500745074a1798a9f7409762e6cb14b7d9c750a54" content-hash = "e4bcaa64355811624e2a262935d8c627679fc3f3e2ac0aa40436f780336561d6"
[metadata.files] [metadata.files]
alabaster = [ alabaster = [
...@@ -1103,6 +1162,10 @@ lazy-object-proxy = [ ...@@ -1103,6 +1162,10 @@ lazy-object-proxy = [
{file = "lazy_object_proxy-1.4.3-cp38-cp38-win32.whl", hash = "sha256:5541cada25cd173702dbd99f8e22434105456314462326f06dba3e180f203dfd"}, {file = "lazy_object_proxy-1.4.3-cp38-cp38-win32.whl", hash = "sha256:5541cada25cd173702dbd99f8e22434105456314462326f06dba3e180f203dfd"},
{file = "lazy_object_proxy-1.4.3-cp38-cp38-win_amd64.whl", hash = "sha256:59f79fef100b09564bc2df42ea2d8d21a64fdcda64979c0fa3db7bdaabaf6239"}, {file = "lazy_object_proxy-1.4.3-cp38-cp38-win_amd64.whl", hash = "sha256:59f79fef100b09564bc2df42ea2d8d21a64fdcda64979c0fa3db7bdaabaf6239"},
] ]
markdown-it-py = [
{file = "markdown-it-py-0.6.2.tar.gz", hash = "sha256:c3b9f995be0792cbbc8ab2f53d74072eb7ff8a8b622be8d61d38ab879709eca3"},
{file = "markdown_it_py-0.6.2-py3-none-any.whl", hash = "sha256:30b3e9f8198dc82a5df0dcb73fd31d56cd9a43bf8a747feb10b2ba74f962bcb1"},
]
markupsafe = [ markupsafe = [
{file = "MarkupSafe-1.1.1-cp27-cp27m-macosx_10_6_intel.whl", hash = "sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161"}, {file = "MarkupSafe-1.1.1-cp27-cp27m-macosx_10_6_intel.whl", hash = "sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161"},
{file = "MarkupSafe-1.1.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7"}, {file = "MarkupSafe-1.1.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7"},
...@@ -1142,6 +1205,10 @@ mccabe = [ ...@@ -1142,6 +1205,10 @@ mccabe = [
{file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"}, {file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"},
{file = "mccabe-0.6.1.tar.gz", hash = "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"}, {file = "mccabe-0.6.1.tar.gz", hash = "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"},
] ]
mdit-py-plugins = [
{file = "mdit-py-plugins-0.2.6.tar.gz", hash = "sha256:1e467ca2ea056e8065cbd5d6c61e5052bb50826bde84c40f6a5ed77e82125710"},
{file = "mdit_py_plugins-0.2.6-py3-none-any.whl", hash = "sha256:77fd75dad81109ee91f30eb49146196f79afbbae041f298ae4886c8c2b5e23d7"},
]
mdplus = [] mdplus = []
mdtraj = [ mdtraj = [
{file = "mdtraj-1.9.5-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:c02a9a589acc98dd3cc4db9b0cb21725f5e2cb9484c14cc4fa032a4663c7a1e9"}, {file = "mdtraj-1.9.5-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:c02a9a589acc98dd3cc4db9b0cb21725f5e2cb9484c14cc4fa032a4663c7a1e9"},
...@@ -1150,6 +1217,10 @@ mdtraj = [ ...@@ -1150,6 +1217,10 @@ mdtraj = [
{file = "mdtraj-1.9.5-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:7eae1adc6aa876396c9797d80db3f71da831601fb1739da731e1de9ca8ac96ab"}, {file = "mdtraj-1.9.5-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:7eae1adc6aa876396c9797d80db3f71da831601fb1739da731e1de9ca8ac96ab"},
{file = "mdtraj-1.9.5.tar.gz", hash = "sha256:f22c28c9dd51aa0f8692078dd3c2c7a338a7ca27cbd9aaeb669a60361e95adc4"}, {file = "mdtraj-1.9.5.tar.gz", hash = "sha256:f22c28c9dd51aa0f8692078dd3c2c7a338a7ca27cbd9aaeb669a60361e95adc4"},
] ]
myst-parser = [
{file = "myst-parser-0.13.5.tar.gz", hash = "sha256:72cf89cc0d6f35070736da19643c9ef52e570e3e13e30c007ad9b94a21f5457a"},
{file = "myst_parser-0.13.5-py3-none-any.whl", hash = "sha256:47e469cef8ba209f4dcb82cd0b4f935171c78c6a2cc0072cd3a9724242eb81ee"},
]
numpy = [ numpy = [
{file = "numpy-1.19.5-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:cc6bd4fd593cb261332568485e20a0712883cf631f6f5e8e86a52caa8b2b50ff"}, {file = "numpy-1.19.5-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:cc6bd4fd593cb261332568485e20a0712883cf631f6f5e8e86a52caa8b2b50ff"},
{file = "numpy-1.19.5-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:aeb9ed923be74e659984e321f609b9ba54a48354bfd168d21a2b072ed1e833ea"}, {file = "numpy-1.19.5-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:aeb9ed923be74e659984e321f609b9ba54a48354bfd168d21a2b072ed1e833ea"},
...@@ -1234,8 +1305,8 @@ pycodestyle = [ ...@@ -1234,8 +1305,8 @@ pycodestyle = [
{file = "pycodestyle-2.6.0.tar.gz", hash = "sha256:c58a7d2815e0e8d7972bf1803331fb0152f867bd89adf8a01dfd55085434192e"}, {file = "pycodestyle-2.6.0.tar.gz", hash = "sha256:c58a7d2815e0e8d7972bf1803331fb0152f867bd89adf8a01dfd55085434192e"},
] ]
pydocstyle = [ pydocstyle = [
{file = "pydocstyle-5.1.1-py3-none-any.whl", hash = "sha256:aca749e190a01726a4fb472dd4ef23b5c9da7b9205c0a7857c06533de13fd678"}, {file = "pydocstyle-6.0.0-py3-none-any.whl", hash = "sha256:d4449cf16d7e6709f63192146706933c7a334af7c0f083904799ccb851c50f6d"},
{file = "pydocstyle-5.1.1.tar.gz", hash = "sha256:19b86fa8617ed916776a11cd8bc0197e5b9856d5433b777f51a3defe13075325"}, {file = "pydocstyle-6.0.0.tar.gz", hash = "sha256:164befb520d851dbcf0e029681b91f4f599c62c5cd8933fd54b1bfbd50e89e1f"},
] ]
pyflakes = [ pyflakes = [
{file = "pyflakes-2.2.0-py2.py3-none-any.whl", hash = "sha256:0d94e0e05a19e57a99444b6ddcf9a6eb2e5c68d3ca1e98e90707af8152c90a92"}, {file = "pyflakes-2.2.0-py2.py3-none-any.whl", hash = "sha256:0d94e0e05a19e57a99444b6ddcf9a6eb2e5c68d3ca1e98e90707af8152c90a92"},
......
[tool.poetry] [tool.poetry]
name = "pycgtool" name = "pycgtool"
version = "2.0.0-alpha.6" version = "2.0.0-alpha.7"
description = "Generate coarse-grained molecular dynamics models from atomistic trajectories." description = "Generate coarse-grained molecular dynamics models from atomistic trajectories."
authors = ["James Graham <j.graham@soton.ac.uk>"] authors = ["James Graham <j.graham@soton.ac.uk>"]
license = "GPL-3.0-only" license = "GPL-3.0-only"
...@@ -38,6 +38,12 @@ mdtraj = "^1.9.5" ...@@ -38,6 +38,12 @@ mdtraj = "^1.9.5"
rich = "^9.2.0" rich = "^9.2.0"
mdplus = { git = "https://bitbucket.org/claughton/mdplus.git" } mdplus = { git = "https://bitbucket.org/claughton/mdplus.git" }
# Extra for building docs
Sphinx = { version = "^3.4.3", optional = true }
sphinx-autoapi = { version = "^1.5.1", optional = true }
sphinx-rtd-theme = { version = "^0.5.1", optional = true }
myst-parser = { version = "^0.13.5", optional = true }
[tool.poetry.dev-dependencies] [tool.poetry.dev-dependencies]
prospector = "^1.3.0" prospector = "^1.3.0"
pytest = "^6.0.1" pytest = "^6.0.1"
...@@ -49,6 +55,10 @@ flake8 = "^3.8.4" ...@@ -49,6 +55,10 @@ flake8 = "^3.8.4"
Sphinx = "^3.4.3" Sphinx = "^3.4.3"
sphinx-autoapi = "^1.5.1" sphinx-autoapi = "^1.5.1"
sphinx-rtd-theme = "^0.5.1" sphinx-rtd-theme = "^0.5.1"
myst-parser = "^0.13.5"
[tool.poetry.extras]
docs = ["Sphinx", "sphinx-autoapi", "sphinx-rtd-theme", "myst-parser"]
[build-system] [build-system]
requires = ["poetry>=0.12"] requires = ["poetry>=0.12"]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment