Skip to main content

A Python implementation of the BioPAX object model, and parts of PaxTools.

Project description

PyBioPAX: A python implementation of the BioPAX object model

License DOI Build Documentation PyPI version Python 3

PyBioPAX implements the BioPAX level 3 object model ( http://www.biopax.org/release/biopax-level3-documentation.pdf) as a set of Python classes. It exposes API functions to read OWL files into this object model, and to dump OWL files from this object model. This allows for the processing and creation of BioPAX models natively in Python.

Installation

PyBioPAX can be installed from PyPI as a package:

$ pip install pybiopax

Usage

Reading an OWL file into a BioPaxModel object:

import pybiopax
model = pybiopax.model_from_owl_file('test.owl')

Writing a BioPaxModel into an OWL file:

import pybiopax
pybiopax.model_to_owl_file(model, 'test.owl')

Querying Pathway Commons to get a BioPaxModel object:

import pybiopax
model = pybiopax.model_from_pc_query('pathsfromto', ['MAP2K1'], ['MAPK1'])

Working with the elements of the Python object model:

import pybiopax
model = pybiopax.model_from_pc_query('pathsfromto', ['MAP2K1'], ['MAPK1'])

# Each BioPaxModel instance has an objects attribute which is a dict
# whose keys are object URIs (strings) and values are BioPaxObject instances.
assert isinstance(model.objects, dict)
assert all(isinstance(obj, pybiopax.biopax.BioPaxObject)
           for obj in model.objects.values())

# Let's look at a specific object
bcr = model.objects['BiochemicalReaction_4f689747397d98089c551022a3ae2d88']

# This is a BiochemicalReaction which has a left and a right side. All list/set
# types per the BioPAX specification are represented as lists in the Python
# object model
# Both left and right consist of a single protein
left = bcr.left[0]
assert isinstance(left, pybiopax.biopax.Protein)
assert left.display_name == 'ERK1-2'
right = bcr.right[0]
assert isinstance(right, pybiopax.biopax.Protein)
assert right.display_name == 'ERK1-2-active'

We can also use the pybiopax.paths module to construct iterators over objects based on a string specification from a given starting point. Continuing from the block of code above, we take the BiochemicalReaction bcr and link to reactants on its left hand side, then linking to their entity references, and finally linking back to all the physical entities that those are references of.

from pybiopax.paths import find_objects

erks = find_objects(bcr, 'left/entity_reference/entity_reference_of')

Contribution and support

To contribute to the code, please submit a pull request after reading the contribution guidelines. To report bugs and issues, or ask questions related to PyBioPAX, please submit an issue.

Funding

Development of this software was supported by the Defense Advanced Research Projects Agency under award W911NF-15-1-0544 and the National Cancer Institute under award U54-CA225088.

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

pybiopax-0.1.0.tar.gz (3.6 MB view details)

Uploaded Source

Built Distribution

pybiopax-0.1.0-py3-none-any.whl (21.4 kB view details)

Uploaded Python 3

File details

Details for the file pybiopax-0.1.0.tar.gz.

File metadata

  • Download URL: pybiopax-0.1.0.tar.gz
  • Upload date:
  • Size: 3.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for pybiopax-0.1.0.tar.gz
Algorithm Hash digest
SHA256 870ae3f3ec492172832ce917a23ca35ac9f252cd6e8bbefb5f2cc2def1d44b1e
MD5 2cace1d7e741d0616d320c89d82415a7
BLAKE2b-256 a70d80cd1f47934d80bb5e68d654dd0d263197316a6b9778d8e021062c0342c8

See more details on using hashes here.

File details

Details for the file pybiopax-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: pybiopax-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 21.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for pybiopax-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a41085a42a80f339ba242c4b8e0a06d9cf4d0b91e1e7c3f90171464bf0e8388c
MD5 8b745bcd443eafb043618f8a62666b24
BLAKE2b-256 5aab9f08d9c4dd6fbc8dce3a42fd39eceab278480a769dfedff27f9ad74f11cc

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