Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge devel branch to master #11

Merged
merged 69 commits into from
Jul 20, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
af3730f
Example of a parameter extraction for PELE
martimunicoy May 28, 2020
3262fa7
Add data to run examples
martimunicoy May 28, 2020
cc2bfac
Initial class definitions for molecule, atom and IMPACT template
martimunicoy Jun 19, 2020
ba3f65c
Rotamer and RotamerLibrary classes are added
martimunicoy Jun 19, 2020
895a612
Creation of the rotamer library builder
martimunicoy Jun 21, 2020
d0a8be6
Connectivity problems of OFF's am1bcc implementation are solved
martimunicoy Jun 22, 2020
21da7c4
Toolkit wrappers are defined
martimunicoy Jun 22, 2020
70250e6
Toolkit migration and addition of an OpenForceField parameter handler
martimunicoy Jun 22, 2020
24b4849
Minor bug fix
martimunicoy Jun 22, 2020
4d0cfa9
Iterator over TopologyElement subclasses
martimunicoy Jun 23, 2020
4ce1873
Molecule parameter builders are implemented
martimunicoy Jun 23, 2020
7eb45b5
Implementation of parameter assignment to offPELE's molecule
martimunicoy Jun 23, 2020
3cdbaca
rmin_half-sigma converter is moved to OFF toolkit
martimunicoy Jun 23, 2020
1e03327
Dynamic assignment of dihedral parameters
martimunicoy Jun 23, 2020
3b38e8a
Dihedral conversion test is added
martimunicoy Jun 23, 2020
9cdc87b
Save forcefield name to molecule object
martimunicoy Jun 25, 2020
1046139
Index is now an int rather than a tupple to 1 int
martimunicoy Jun 25, 2020
ef20a97
Parent setter in MolecularGraph
martimunicoy Jun 25, 2020
1ada5b8
New ZMatrix class
martimunicoy Jun 25, 2020
19d1cf1
Impact template writer is fully implemented
martimunicoy Jun 26, 2020
89f77da
Sort atoms according to core and parent.index attributes
martimunicoy Jun 26, 2020
e6f4342
Sigma conversion is fixed and SASA radius is defined from sigma
martimunicoy Jun 26, 2020
fb65a24
Add Parameterize notebook to repo
martimunicoy Jun 26, 2020
06b504c
Wrong OFF-PELE parameter-conversions are fixed
martimunicoy Jun 26, 2020
8c1b72d
New solvent class to parameterize implicit solvent
martimunicoy Jun 29, 2020
c2081a3
Warning on one line
martimunicoy Jun 29, 2020
84f7b87
OBC1 warning
martimunicoy Jun 29, 2020
09ae973
Wrong atom type identation is fixed
martimunicoy Jun 29, 2020
4643e49
Solvent forcefields are included to repo
martimunicoy Jul 3, 2020
5d728ef
Molecule name extracted from PDB's residue name
martimunicoy Jul 6, 2020
c3239d5
Minor change in Impact header format
martimunicoy Jul 6, 2020
edcea26
MolecularGraph moved to rotamer
martimunicoy Jul 6, 2020
3fb8342
Main module is added
martimunicoy Jul 6, 2020
c69643f
Main function development
danielSoler93 Jul 6, 2020
17aa547
Main function fully implemented
martimunicoy Jul 6, 2020
d1f5f3d
Minor fixes
martimunicoy Jul 6, 2020
97cf6e2
Minor changes
martimunicoy Jul 6, 2020
f78740c
Minor changes
martimunicoy Jul 6, 2020
fa477da
Minor changes
martimunicoy Jul 6, 2020
c3e1b43
Minor changes
martimunicoy Jul 6, 2020
ffd8c52
Minor changes
martimunicoy Jul 6, 2020
98ab989
Default forcefield changed to Parsley-1.2.0
martimunicoy Jul 7, 2020
4b3ab3d
Benchmarks README initialized
martimunicoy Jul 8, 2020
99027b7
Docstrings are added
martimunicoy Jul 13, 2020
0824045
Generate main to run as external module
danielSoler93 Jul 14, 2020
09908a4
Add docstrings to tests
martimunicoy Jul 14, 2020
b1366b1
Merge pull request #1 from danielSoler93/devel
martimunicoy Jul 14, 2020
64d0216
Add docstrings and split run_offPELE() from main()
martimunicoy Jul 14, 2020
f603f06
Fix minor bugs
martimunicoy Jul 14, 2020
59f5329
Change package name
martimunicoy Jul 15, 2020
fe0a4fd
Update README.md
martimunicoy Jul 15, 2020
5eb1af4
Change module name
martimunicoy Jul 15, 2020
9f14b81
Add docstrings to solvent classes
martimunicoy Jul 15, 2020
3fb19e2
Add docstrings to the zmatrix module
martimunicoy Jul 15, 2020
6d8c8cf
Remove unused Atom import
martimunicoy Jul 15, 2020
583c2f8
Add docstrings to topology module
martimunicoy Jul 16, 2020
2f68e14
Add docstrings to rotamer module
martimunicoy Jul 16, 2020
3d31eda
Add docstrings to toolkits module
martimunicoy Jul 17, 2020
88b72c0
Minor changes in docstrings
martimunicoy Jul 17, 2020
9b2a775
Add docstrings to utils module
martimunicoy Jul 17, 2020
acbfabf
Minor changes to docstrings
martimunicoy Jul 17, 2020
0619582
Add docstrings to molecule module
martimunicoy Jul 17, 2020
1bf8599
Minor changes to docstrings
martimunicoy Jul 17, 2020
912e8da
Add docstrings to Sphinx documentation
martimunicoy Jul 17, 2020
d63e127
Minor changes in solvent module
martimunicoy Jul 17, 2020
2eedf9d
Ignore Sphinx's autogenerated api
martimunicoy Jul 17, 2020
6c78510
Minor changes in topology module
martimunicoy Jul 17, 2020
6fa3b07
Minor changes in impact module
martimunicoy Jul 17, 2020
14daf30
Merge branch 'master' into devel
martimunicoy Jul 20, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ instance/

# Sphinx documentation
docs/_build/
docs/api/autogenerated/

# PyBuilder
target/
Expand Down
2 changes: 1 addition & 1 deletion MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
include versioneer.py
include offPELE/_version.py
include offpele/_version.py
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# Open Force Field toolkit for PELE
The Open Force Field toolkit for PELE is a Python package that builds PELE-compatible force field templates using the Open Force Field toolkit.
# Open Force Field to PELE
The Open Force Field to PELE is a Python package that builds PELE-compatible force field templates using the Open Force Field toolkit.
20 changes: 20 additions & 0 deletions docs/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Minimal makefile for Sphinx documentation
#

# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = .
BUILDDIR = _build

# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

.PHONY: help Makefile

# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
24 changes: 24 additions & 0 deletions docs/_templates/class.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{{ fullname | escape | underline}}

.. currentmodule:: {{ module }}

.. autoclass:: {{ objname }}

{% block methods %}
{% if methods %}
{% for item in methods %}
.. automethod:: {{ item }}
{%- endfor %}
{% endif %}
{% endblock %}

{% block attributes %}
{% if attributes %}
.. rubric:: {{ _('Attributes') }}

.. autosummary::
{% for item in attributes %}
~{{ name }}.{{ item }}
{%- endfor %}
{% endif %}
{% endblock %}
96 changes: 96 additions & 0 deletions docs/conf.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
# Configuration file for the Sphinx documentation builder.
#
# This file only contains a selection of the most common options. For a full
# list see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html

# -- Path setup --------------------------------------------------------------

# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
import os
import sys
sys.path.insert(0, os.path.abspath('..'))

import sphinx


# -- Project information -----------------------------------------------------

project = 'Open Force Field for PELE'
copyright = '2020, Barcelona Supercomputing Center'
author = 'Martí Municoy'


# -- General configuration ---------------------------------------------------

# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = ['sphinx.ext.autodoc', 'sphinx.ext.autosummary', 'm2r',
'sphinx.ext.napoleon', 'sphinx.ext.viewcode', ]

# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']

# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path.
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']


# -- Options for HTML output -------------------------------------------------

# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
html_theme = 'alabaster'

# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static']


def monkeypatch(cls):
""" decorator to monkey-patch methods """
def decorator(f):
method = f.__name__
old_method = getattr(cls, method)
setattr(cls, method, lambda self, *args, **kwargs: f(old_method, self, *args, **kwargs))
return decorator


# workaround until https://github.com/miyakogi/m2r/pull/55 is merged
@monkeypatch(sphinx.registry.SphinxComponentRegistry)
def add_source_parser(_old_add_source_parser, self, *args, **kwargs):
# signature is (parser: Type[Parser], **kwargs), but m2r expects
# the removed (str, parser: Type[Parser], **kwargs).
if isinstance(args[0], str):
args = args[1:]
return _old_add_source_parser(self, *args, **kwargs)


# Custom options
autosummary_generate = True
#autoclass_content = "class"
#autodoc_default_flags = ['members', 'inherited-members']
autodoc_member_order = 'bysource'
#numpydoc_class_members_toctree = False
source_suffix = ['.rst', '.md']
master_doc = 'index'

import offpele
version = offpele.__version__

pygments_style = 'sphinx'

html_theme = 'sphinx_rtd_theme'

napoleon_google_docstring = False
napoleon_use_param = False
napoleon_use_ivar = True
#html_theme = 'bootstrap'
#html_theme_path = sphinx_bootstrap_theme.get_html_theme_path()
25 changes: 25 additions & 0 deletions docs/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
Open Force Field for PELE
=========================

The Open Force Field for PELE is a Python package that builds
PELE-compatible force field templates using the Open Force Field
toolkit.


User guide
----------

.. toctree::
:maxdepth: 2
:caption: Contents:


API documentation
-----------------

.. toctree::
:maxdepth: 1

topology
template
solvent
35 changes: 35 additions & 0 deletions docs/make.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
@ECHO OFF

pushd %~dp0

REM Command file for Sphinx documentation

if "%SPHINXBUILD%" == "" (
set SPHINXBUILD=sphinx-build
)
set SOURCEDIR=.
set BUILDDIR=_build

if "%1" == "" goto help

%SPHINXBUILD% >NUL 2>NUL
if errorlevel 9009 (
echo.
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
echo.installed, then set the SPHINXBUILD environment variable to point
echo.to the full path of the 'sphinx-build' executable. Alternatively you
echo.may add the Sphinx directory to PATH.
echo.
echo.If you don't have Sphinx installed, grab it from
echo.http://sphinx-doc.org/
exit /b 1
)

%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
goto end

:help
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%

:end
popd
20 changes: 20 additions & 0 deletions docs/solvent.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
.. _solvent ::

Solvent models
==============

This module provides different methods to parameterize solvent models
for PELE.

.. currentmodule:: offpele.solvent

Primary objects
---------------

.. autosummary::
:nosignatures:
:toctree: api/autogenerated
:template: class.rst

OBC1
OBC2
35 changes: 35 additions & 0 deletions docs/template.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
.. _template ::

Template handlers
=================

This module provides a toolkit to generate parameter templates for PELE.

.. currentmodule:: offpele.template

Primary objects
---------------

.. autosummary::
:nosignatures:
:toctree: api/autogenerated
:template: class.rst

Impact


Secondary objects
-----------------

.. autosummary::
:nosignatures:
:toctree: api/autogenerated
:template: class.rst

impact.WritableWrapper
impact.WritableAtom
impact.WritableBond
impact.WritableAngle
impact.WritableProper
impact.WritableImproper

44 changes: 44 additions & 0 deletions docs/topology.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
.. _topology ::

Topology representations
========================

This module provides different topological representations to
translate from external toolkits the different molecular parameters
for PELE.

.. currentmodule:: offpele.topology

Primary objects
---------------

.. autosummary::
:nosignatures:
:toctree: api/autogenerated
:template: class.rst

Molecule


Secondary objects
-----------------

.. autosummary::
:nosignatures:
:toctree: api/autogenerated
:template: class.rst

Atom
Bond
Angle
Dihedral
Proper
Improper
molecule.DummyAtom
topology.OFFDihedral
topology.OFFProper
topology.OFFImproper
ZMatrix
rotamer.Rotamer
rotamer.RotamerLibrary
rotamer.MolecularGraph
3 changes: 3 additions & 0 deletions offpele/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
from ._version import get_versions
__version__ = get_versions()['version']
del get_versions
4 changes: 2 additions & 2 deletions offPELE/_version.py → offpele/_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@ def get_config():
cfg.VCS = "git"
cfg.style = "pep440"
cfg.tag_prefix = ""
cfg.parentdir_prefix = "offPELE-"
cfg.versionfile_source = "offPELE/_version.py"
cfg.parentdir_prefix = "offpele-"
cfg.versionfile_source = "offpele/_version.py"
cfg.verbose = False
return cfg

Expand Down
17 changes: 17 additions & 0 deletions offpele/data/benchmarks/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Benchmarks
Datasets to be used in benchmarking studies for offpele.

## Content
_Content under construction_
- GPCRs
- PPI (Protein-protein inhibitors)
- Small molecule set
- Small molecule set with experimental hydration free energies

## Analysis features
_Content under construction_
- Rotamer library comparison between offpele and PlopRotTemp
- Experimental hydration free energies comparison _(inside the PELE-platform)_
- Comparison of parameters between offpele and PlopRotTemp (bonds, angles, dihedrals, nonbonding and OBC)
- Structural comparison between PELE's OPLS and OFF implementations
- Energetic profile comparison in gold-standard systems (previously published)
Loading