From ff39650e56343320a13372aea563ccf46f5aca94 Mon Sep 17 00:00:00 2001 From: James Graham <j.graham@soton.ac.uk> Date: Fri, 19 Mar 2021 21:00:07 +0000 Subject: [PATCH] docs: WIP move to markdown based docs --- .readthedocs.yml | 2 +- docs/arguments.md | 15 ++++ docs/conf.py | 5 +- docs/file-formats.md | 83 ++++++++++++++++++++ docs/index.md | 17 +++++ docs/index.rst | 178 ------------------------------------------- poetry.lock | 141 +++++++++++++++++++++++++--------- pyproject.toml | 12 ++- 8 files changed, 236 insertions(+), 217 deletions(-) create mode 100644 docs/arguments.md create mode 100644 docs/file-formats.md create mode 100644 docs/index.md delete mode 100644 docs/index.rst diff --git a/.readthedocs.yml b/.readthedocs.yml index 1747eca..b3423e0 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -1,7 +1,7 @@ version: 2 sphinx: - configuration: docs/source/conf.py + configuration: docs/conf.py python: version: 3.7 diff --git a/docs/arguments.md b/docs/arguments.md new file mode 100644 index 0000000..3aeec72 --- /dev/null +++ b/docs/arguments.md @@ -0,0 +1,15 @@ +# Full Arguments List + +## Input Files + +`topology` +: Atomistic simulation topology + +`trajectory` +: Atomistic simulation trajectory + +`-m`, `--mapping` +: CG mapping definition file + +`-b`, `--bondset` +: Bond definition file diff --git a/docs/conf.py b/docs/conf.py index c09544f..522a3b2 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -33,8 +33,7 @@ extensions = [ 'autoapi.extension', 'sphinx_rtd_theme', 'sphinx.ext.viewcode', - # 'recommonmark', - 'm2r2', + 'myst_parser', ] source_suffix = ['.rst', '.md'] @@ -47,6 +46,8 @@ templates_path = ['_templates'] # This pattern also affects html_static_path and html_extra_path. exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] +myst_enable_extensions = ['deflist'] + # -- Options for HTML output ------------------------------------------------- diff --git a/docs/file-formats.md b/docs/file-formats.md new file mode 100644 index 0000000..587e487 --- /dev/null +++ b/docs/file-formats.md @@ -0,0 +1,83 @@ +# 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 +``` diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..3938516 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,17 @@ + +# PyCGTOOL Documentation + +```{toctree} +:maxdepth: 2 +self +file-formats +tutorial +mapping-only +arguments +autoapi/index +``` + +```{include} ../README.md +:relative-docs: docs/ +:relative-images: +``` diff --git a/docs/index.rst b/docs/index.rst deleted file mode 100644 index 9050812..0000000 --- a/docs/index.rst +++ /dev/null @@ -1,178 +0,0 @@ -.. 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 -================== ========================================== ======================= diff --git a/poetry.lock b/poetry.lock index 0ccc959..9eda7cc 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2,7 +2,7 @@ name = "alabaster" version = "0.7.12" description = "A configurable sidebar-enabled Sphinx theme" -category = "dev" +category = "main" optional = false python-versions = "*" @@ -10,7 +10,7 @@ python-versions = "*" name = "astroid" version = "2.4.1" description = "An abstract syntax tree for Python with inference support." -category = "dev" +category = "main" optional = false python-versions = ">=3.5" @@ -43,7 +43,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" name = "attrs" version = "20.3.0" description = "Classes Without Boilerplate" -category = "dev" +category = "main" optional = false 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 (> name = "babel" version = "2.9.0" description = "Internationalization utilities" -category = "dev" +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" @@ -68,7 +68,7 @@ pytz = ">=2015.7" name = "certifi" version = "2020.12.5" description = "Python package for providing Mozilla's CA Bundle." -category = "dev" +category = "main" optional = false python-versions = "*" @@ -76,7 +76,7 @@ python-versions = "*" name = "chardet" version = "4.0.0" description = "Universal encoding detector for Python 2 and 3" -category = "dev" +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" @@ -130,7 +130,7 @@ python-versions = ">=3.6, <3.7" name = "docutils" version = "0.16" description = "Docutils -- Python Documentation Utilities" -category = "dev" +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" @@ -171,7 +171,7 @@ flake8 = "*" name = "idna" version = "2.10" description = "Internationalized Domain Names in Applications (IDNA)" -category = "dev" +category = "main" optional = false 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" version = "1.2.0" description = "Getting image size from png/jpeg/jpeg2000/gif file" -category = "dev" +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" @@ -225,7 +225,7 @@ xdg_home = ["appdirs (>=1.4.0)"] name = "jinja2" version = "2.11.3" description = "A very fast and expressive template engine." -category = "dev" +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" @@ -247,15 +247,34 @@ python-versions = ">=3.6" name = "lazy-object-proxy" version = "1.4.3" description = "A fast and thorough lazy object proxy." -category = "dev" +category = "main" optional = false 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]] name = "markupsafe" version = "1.1.1" description = "Safely add untrusted strings to HTML/XML markup." -category = "dev" +category = "main" optional = false python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*" @@ -267,6 +286,21 @@ category = "dev" optional = false 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]] name = "mdplus" version = "0.0.5" @@ -300,6 +334,28 @@ numpy = ">=1.6" pyparsing = "*" 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]] name = "numpy" version = "1.19.5" @@ -320,7 +376,7 @@ python-versions = ">=3.7" name = "packaging" version = "20.9" description = "Core utilities for Python packages" -category = "dev" +category = "main" optional = false 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]] name = "pydocstyle" -version = "5.1.1" +version = "6.0.0" description = "Python docstring style checker" category = "dev" optional = false -python-versions = ">=3.5" +python-versions = ">=3.6" [package.dependencies] snowballstemmer = "*" @@ -543,7 +599,7 @@ testing = ["fields", "hunter", "process-tests (==2.0.2)", "six", "pytest-xdist", name = "pytz" version = "2021.1" description = "World timezone definitions, modern and historical" -category = "dev" +category = "main" optional = false python-versions = "*" @@ -551,7 +607,7 @@ python-versions = "*" name = "pyyaml" version = "5.4.1" description = "YAML parser and emitter for Python" -category = "dev" +category = "main" optional = false 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" version = "2.25.1" description = "Python HTTP for Humans." -category = "dev" +category = "main" optional = false 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.*" name = "snowballstemmer" version = "2.1.0" description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms." -category = "dev" +category = "main" optional = false python-versions = "*" @@ -675,7 +731,7 @@ python-versions = "*" name = "sphinx" version = "3.5.2" description = "Python documentation generator" -category = "dev" +category = "main" optional = false python-versions = ">=3.5" @@ -706,7 +762,7 @@ test = ["pytest", "pytest-cov", "html5lib", "cython", "typed-ast"] name = "sphinx-autoapi" version = "1.7.0" description = "Sphinx API documentation generator" -category = "dev" +category = "main" optional = false python-versions = ">=3.6" @@ -726,7 +782,7 @@ go = ["sphinxcontrib-golangdomain"] name = "sphinx-rtd-theme" version = "0.5.1" description = "Read the Docs theme for Sphinx" -category = "dev" +category = "main" optional = false python-versions = "*" @@ -740,7 +796,7 @@ dev = ["transifex-client", "sphinxcontrib-httpdomain", "bump2version"] name = "sphinxcontrib-applehelp" version = "1.0.2" description = "sphinxcontrib-applehelp is a sphinx extension which outputs Apple help books" -category = "dev" +category = "main" optional = false python-versions = ">=3.5" @@ -752,7 +808,7 @@ test = ["pytest"] name = "sphinxcontrib-devhelp" version = "1.0.2" description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document." -category = "dev" +category = "main" optional = false python-versions = ">=3.5" @@ -764,7 +820,7 @@ test = ["pytest"] name = "sphinxcontrib-htmlhelp" version = "1.0.3" description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" -category = "dev" +category = "main" optional = false python-versions = ">=3.5" @@ -776,7 +832,7 @@ test = ["pytest", "html5lib"] name = "sphinxcontrib-jsmath" version = "1.0.1" description = "A sphinx extension which renders display math in HTML via JavaScript" -category = "dev" +category = "main" optional = false python-versions = ">=3.5" @@ -787,7 +843,7 @@ test = ["pytest", "flake8", "mypy"] name = "sphinxcontrib-qthelp" version = "1.0.3" description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp document." -category = "dev" +category = "main" optional = false python-versions = ">=3.5" @@ -799,7 +855,7 @@ test = ["pytest"] name = "sphinxcontrib-serializinghtml" version = "1.1.4" description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)." -category = "dev" +category = "main" optional = false python-versions = ">=3.5" @@ -827,7 +883,7 @@ python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" name = "typed-ast" version = "1.4.2" description = "a fork of Python 2 and 3 ast modules with type comment support" -category = "dev" +category = "main" optional = false python-versions = "*" @@ -843,7 +899,7 @@ python-versions = "*" name = "unidecode" version = "1.2.0" description = "ASCII transliterations of Unicode text" -category = "dev" +category = "main" optional = false 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" version = "1.26.4" description = "HTTP library with thread-safe connection pooling, file post, and more." -category = "dev" +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" @@ -875,7 +931,7 @@ toml = "*" name = "wrapt" version = "1.12.1" description = "Module for decorators, wrappers and monkey patching." -category = "dev" +category = "main" optional = false python-versions = "*" @@ -899,10 +955,13 @@ python-versions = ">=3.6" 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"] +[extras] +docs = ["Sphinx", "sphinx-autoapi", "sphinx-rtd-theme", "myst-parser"] + [metadata] lock-version = "1.1" python-versions = "^3.6" -content-hash = "1c426d5fdb40b4313cd1074500745074a1798a9f7409762e6cb14b7d9c750a54" +content-hash = "e4bcaa64355811624e2a262935d8c627679fc3f3e2ac0aa40436f780336561d6" [metadata.files] alabaster = [ @@ -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-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 = [ {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"}, @@ -1142,6 +1205,10 @@ mccabe = [ {file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"}, {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 = [] mdtraj = [ {file = "mdtraj-1.9.5-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:c02a9a589acc98dd3cc4db9b0cb21725f5e2cb9484c14cc4fa032a4663c7a1e9"}, @@ -1150,6 +1217,10 @@ mdtraj = [ {file = "mdtraj-1.9.5-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:7eae1adc6aa876396c9797d80db3f71da831601fb1739da731e1de9ca8ac96ab"}, {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 = [ {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"}, @@ -1234,8 +1305,8 @@ pycodestyle = [ {file = "pycodestyle-2.6.0.tar.gz", hash = "sha256:c58a7d2815e0e8d7972bf1803331fb0152f867bd89adf8a01dfd55085434192e"}, ] pydocstyle = [ - {file = "pydocstyle-5.1.1-py3-none-any.whl", hash = "sha256:aca749e190a01726a4fb472dd4ef23b5c9da7b9205c0a7857c06533de13fd678"}, - {file = "pydocstyle-5.1.1.tar.gz", hash = "sha256:19b86fa8617ed916776a11cd8bc0197e5b9856d5433b777f51a3defe13075325"}, + {file = "pydocstyle-6.0.0-py3-none-any.whl", hash = "sha256:d4449cf16d7e6709f63192146706933c7a334af7c0f083904799ccb851c50f6d"}, + {file = "pydocstyle-6.0.0.tar.gz", hash = "sha256:164befb520d851dbcf0e029681b91f4f599c62c5cd8933fd54b1bfbd50e89e1f"}, ] pyflakes = [ {file = "pyflakes-2.2.0-py2.py3-none-any.whl", hash = "sha256:0d94e0e05a19e57a99444b6ddcf9a6eb2e5c68d3ca1e98e90707af8152c90a92"}, diff --git a/pyproject.toml b/pyproject.toml index e038d98..dbac21b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "pycgtool" -version = "2.0.0-alpha.6" +version = "2.0.0-alpha.7" description = "Generate coarse-grained molecular dynamics models from atomistic trajectories." authors = ["James Graham <j.graham@soton.ac.uk>"] license = "GPL-3.0-only" @@ -38,6 +38,12 @@ mdtraj = "^1.9.5" rich = "^9.2.0" 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] prospector = "^1.3.0" pytest = "^6.0.1" @@ -49,6 +55,10 @@ flake8 = "^3.8.4" Sphinx = "^3.4.3" sphinx-autoapi = "^1.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] requires = ["poetry>=0.12"] -- GitLab