Skip to main content

Unambiguous representation of modified DNA, RNA, and proteins

Project description

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 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 for more information.

  • A Python API. See the documentation 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. 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, and the MOMODICS codes for modified RNA bases.

BpForms can be combined with *BcForms* to concretely describe the primary structure of complexes.

Installation

The following is a brief guide to installing BpForms. The Dockerfile in the repository contains detailed instructions for how to install BpForms in Ubuntu Linux.

  1. Install the third-party dependencies listed below.

  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/pkg_utils.git#egg=pkg_utils pip install git+https://github.com/KarrLab/wc_utils.git#egg=wc_utils[chem] pip install git+https://github.com/KarrLab/bpforms.git#egg=bpforms

    • To calculate major protonation and tautomerization states, BpForms must be installed with the [protontation] option: pip install bpforms[protontation] pip install git+https://github.com/KarrLab/bpforms.git#egg=bpforms[protontation]

    • To draw molecules, BpForms must be installed with the [draw] option: pip install bpforms[draw] pip install git+https://github.com/KarrLab/bpforms.git#egg=bpforms[draw]

    • To export the alphabets in OBO format, BpForms must be installed with the [onto_export] option: pip install bpforms[onto_export] pip install git+https://github.com/KarrLab/bpforms.git#egg=bpforms[onto_export]

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

Examples, tutorial, and documentation

Please see the documentation. An interactive tutorial is also available in the whole-cell modeling sandbox.

License

The package is released under the MIT 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:

Development team

This package was developed by the Karr Lab at the Icahn School of Medicine at Mount Sinai in New York, USA.

Questions and comments

Please contact the Karr Lab with any questions or comments.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bpforms-0.0.16.tar.gz (337.3 kB view details)

Uploaded Source

Built Distribution

bpforms-0.0.16-py2.py3-none-any.whl (347.1 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file bpforms-0.0.16.tar.gz.

File metadata

  • Download URL: bpforms-0.0.16.tar.gz
  • Upload date:
  • Size: 337.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.5

File hashes

Hashes for bpforms-0.0.16.tar.gz
Algorithm Hash digest
SHA256 0ab149d81663107c2b7898ab7d181de6c9a4c789a9aba2dc9e532b4079851212
MD5 15eee8b94f6300e04caef959d5ae8b90
BLAKE2b-256 c702d4514063ea611ec2df150159243f882929f423b38544d041411dc4fe81b8

See more details on using hashes here.

File details

Details for the file bpforms-0.0.16-py2.py3-none-any.whl.

File metadata

  • Download URL: bpforms-0.0.16-py2.py3-none-any.whl
  • Upload date:
  • Size: 347.1 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.5

File hashes

Hashes for bpforms-0.0.16-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 fda6140400868b68c2157ea8927e0947046bed21618697a9825c17b9e92e3ed4
MD5 07af2186a74373c2c4473608cacbf93f
BLAKE2b-256 915c1fbee102db3b89a006c36e5cf24d8aaf339707ceaf90e09a1e593bafb076

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page