Metadata-Version: 2.1
Name: bpforms
Version: 0.0.12
Summary: Unambiguous representation of modified DNA, RNA, and proteins
Home-page: https://www.bpforms.org
Author: Karr Lab
Author-email: info@karrlab.org
License: MIT
Download-URL: https://github.com/KarrLab/bpforms
Keywords: DNA,RNA,protein,post-transcriptional modification,post-translational modification,proteoform,phosphorylation,methylation
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Requires-Dist: attrdict
Requires-Dist: beautifulsoup4
Requires-Dist: biopython
Requires-Dist: cement (>=3.0.0)
Requires-Dist: configobj
Requires-Dist: jinja2
Requires-Dist: lark-parser (>=0.6.6)
Requires-Dist: mendeleev
Requires-Dist: openbabel
Requires-Dist: pandas
Requires-Dist: requests
Requires-Dist: requests-cache
Requires-Dist: ruamel.yaml (>=0.15)
Requires-Dist: setuptools
Requires-Dist: sqlalchemy
Requires-Dist: wc-utils[chem,protonation] (>=0.0.13)
Provides-Extra: all
Requires-Dist: capturer ; extra == 'all'
Requires-Dist: flask ; extra == 'all'
Requires-Dist: flask-restplus ; extra == 'all'
Requires-Dist: hurry.filesize ; extra == 'all'
Requires-Dist: jupyter ; extra == 'all'
Requires-Dist: lxml ; extra == 'all'
Requires-Dist: matplotlib ; extra == 'all'
Requires-Dist: mock ; extra == 'all'
Requires-Dist: numpy ; extra == 'all'
Requires-Dist: plyplus ; extra == 'all'
Requires-Dist: pronto (>=1) ; extra == 'all'
Requires-Dist: psutil ; extra == 'all'
Requires-Dist: sphinx (>=1.8) ; extra == 'all'
Requires-Dist: sphinx-fontawesome ; extra == 'all'
Requires-Dist: sphinx-rtd-theme (>=0.4.2) ; extra == 'all'
Requires-Dist: sphinxcontrib-addmetahtml (>=0.1.1) ; extra == 'all'
Requires-Dist: sphinxcontrib-bibtex ; extra == 'all'
Requires-Dist: sphinxcontrib-googleanalytics (>=0.1.1) ; extra == 'all'
Requires-Dist: sphinxcontrib-spelling ; extra == 'all'
Requires-Dist: sphinxprettysearchresults ; extra == 'all'
Provides-Extra: docs
Requires-Dist: sphinx (>=1.8) ; extra == 'docs'
Requires-Dist: sphinx-fontawesome ; extra == 'docs'
Requires-Dist: sphinx-rtd-theme (>=0.4.2) ; extra == 'docs'
Requires-Dist: sphinxcontrib-addmetahtml (>=0.1.1) ; extra == 'docs'
Requires-Dist: sphinxcontrib-bibtex ; extra == 'docs'
Requires-Dist: sphinxcontrib-googleanalytics (>=0.1.1) ; extra == 'docs'
Requires-Dist: sphinxcontrib-spelling ; extra == 'docs'
Requires-Dist: sphinxprettysearchresults ; extra == 'docs'
Provides-Extra: onto_export
Requires-Dist: pronto (>=1) ; extra == 'onto_export'
Provides-Extra: rest_api
Requires-Dist: flask ; extra == 'rest_api'
Requires-Dist: flask-restplus ; extra == 'rest_api'
Provides-Extra: tests
Requires-Dist: capturer ; extra == 'tests'
Requires-Dist: hurry.filesize ; extra == 'tests'
Requires-Dist: jupyter ; extra == 'tests'
Requires-Dist: lxml ; extra == 'tests'
Requires-Dist: matplotlib ; extra == 'tests'
Requires-Dist: mock ; extra == 'tests'
Requires-Dist: numpy ; extra == 'tests'
Requires-Dist: plyplus ; extra == 'tests'
Requires-Dist: psutil ; extra == 'tests'

|PyPI package| |Documentation| |Test results| |Test coverage| |Code
analysis| |License| |Analytics|

``BpForms``: toolkit for concretely describing non-canonical DNA, RNA, and proteins
===================================================================================

``BpForms`` is a set of tools for concretely representing the primary
structures of non-canonical forms of biopolymers, such as oxidized DNA,
methylated RNA, and acetylated proteins, and calculating properties of
non-canonical biopolymers.

``BpForms`` encompasses five tools:

-  A grammar for concretely describing the primary structures of
   non-canonical biopolymers. See the
   `documentation <https://docs.karrlab.org/bpforms/>`__ for more
   information. For example, the following text represents a modified
   DNA molecule that contains a deoxyinosine monomeric form at the
   fourth position.
   ``ACG[id: "dI"    | structure: "[H][C@]1(O)C[C@@]([H])(O[C@]1([H])CO)N1C=NC2=C1N=CN=C2O"]T``

This concrete representation enables the ``BpForms`` software tools to
calculate properties of non-canonical biopolymers.

-  Tools for calculating properties of non-canonical biopolymers
   including their chemical formulae, molecular weights, charges, and
   major protonation and tautomerization states.
-  A web app: https://bpforms.org
-  A JSON REST API: https://bpforms.org/api
-  A command line interface. See the
   `documentation <https://docs.karrlab.org/bpforms/master/0.0.1/cli.html>`__
   for more information.
-  A Python API. See the
   `documentation <https://docs.karrlab.org/bpforms/master/0.0.1/python_api.html>`__
   for more information.

``BpForms`` was motivated by the need to concretely represent the
biochemistry of DNA modification, DNA repair, post-transcriptional
processing, and post-translational processing in `whole-cell
computational models <https://www.wholecell.org>`__. ``BpForms`` is also
a valuable tool for experimental proteomics and synthetic biology. In
particular, we developed ``BpForms`` because there were no notations,
schemas, data models, or file formats for concretely representing
non-canonical forms of biopolymers, despite the existence of several
databases and ontologies of DNA, RNA, and protein modifications, the
`ProForma Proteoform
Notation <https://www.topdownproteomics.org/resources/proforma/>`__, and
the `MOMODICS <http://modomics.genesilico.pl/>`__ codes for modified RNA
bases.

*BpForms* can be combined with `*BcForms* <https://www.bcforms.org>`__
to concretely describe the primary structure of complexes.

Installation
------------

1. Install the third-party dependencies listed below. Detailed
   installation instructions are available in `An Introduction to
   Whole-Cell
   Modeling <http://docs.karrlab.org/intro_to_wc_modeling/master/0.0.1/installation.html>`__.

   -  `ChemAxon Marvin <https://chemaxon.com/products/marvin>`__:
      optional to calculate major protonation and tautomerization states
   -  `Java <https://www.java.com>`__ >= 1.8
   -  `Open Babel <http://openbabel.org>`__
   -  `Pip <https://pip.pypa.io>`__ >= 19.0
   -  `Python <https://www.python.org>`__ >= 3.6

2. To use Marvin to calculate major protonation and tautomerization
   states, set ``JAVA_HOME`` to the path to your Java virtual machine
   (JVM) ``export JAVA_HOME=/usr/lib/jvm/default-java``

3. To use Marvin to calculate major protonation and tautomerization
   states, add Marvin to the Java class path
   ``export CLASSPATH=$CLASSPATH:/opt/chemaxon/marvinsuite/lib/MarvinBeans.jar``

4. Install this package

   -  Install the latest release from PyPI: ``pip install bpforms``

   -  Install the latest revision from GitHub:
      ``pip install git+https://github.com/KarrLab/wc_utils.git#egg=wc_utils[all]   pip install git+https://github.com/KarrLab/bpforms.git#egg=bpforms``

   -  To install the rest API, ``BpForms`` must be installed with the
      ``[all]`` option:
      ``pip install bpforms[all]   pip install git+https://github.com/KarrLab/bpforms.git#egg=bpforms[all]``

Examples, tutorial, and documentation
-------------------------------------

Please see the `documentation <https://docs.karrlab.org/bpforms>`__. An
`interactive
tutorial <https://sandbox.karrlab.org/notebooks/bpforms/Tutorial.ipynb>`__
is also available in the whole-cell modeling sandbox.

License
-------

The package is released under the `MIT license <LICENSE>`__.

Citing ``BpForms``
------------------

Lang PF, Chebaro Y & Jonathan R. Karr. BpForms: a toolkit for concretely
describing modified DNA, RNA and proteins. arXiv:1903.10042.
`:link: <https://arxiv.org/abs/1903.10042>`__

Development team
----------------

This package was developed by the `Karr Lab <https://www.karrlab.org>`__
at the Icahn School of Medicine at Mount Sinai in New York, USA.

-  `Jonathan Karr <https://www.karrlab.org>`__
-  `Yassmine
   Chebaro <https://www.linkedin.com/in/yassmine-chebaro-6bb8a05/>`__
-  `Paul Lang <http://www.dtc.ox.ac.uk/people/17/langp/>`__

Questions and comments
----------------------

Please contact the `Karr Lab <mailto:info@karrlab.org>`__ with any
questions or comments.

.. |PyPI package| image:: https://img.shields.io/pypi/v/bpforms.svg
   :target: https://pypi.python.org/pypi/bpforms
.. |Documentation| image:: https://readthedocs.org/projects/bpforms/badge/?version=latest
   :target: https://docs.karrlab.org/bpforms
.. |Test results| image:: https://circleci.com/gh/KarrLab/bpforms.svg?style=shield
   :target: https://circleci.com/gh/KarrLab/bpforms
.. |Test coverage| image:: https://coveralls.io/repos/github/KarrLab/bpforms/badge.svg
   :target: https://coveralls.io/github/KarrLab/bpforms
.. |Code analysis| image:: https://api.codeclimate.com/v1/badges/e35081f676dfbb5ac46f/maintainability
   :target: https://codeclimate.com/github/KarrLab/bpforms
.. |License| image:: https://img.shields.io/github/license/KarrLab/bpforms.svg
   :target: LICENSE
.. |Analytics| image:: https://ga-beacon.appspot.com/UA-86759801-1/bpforms/README.md?pixel



