PyBioPAX

PyBioPAX: biological pathway exchange in Python - Published in JOSS (2022)

https://github.com/gyorilab/pybiopax

Science Score: 49.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 7 DOI reference(s) in README
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.0%) to scientific vocabulary

Keywords

biology biopax python systems-biology
Last synced: 6 months ago · JSON representation

Repository

PyBioPAX: A python implementation of the BioPAX object model

Basic Info
  • Host: GitHub
  • Owner: gyorilab
  • License: bsd-2-clause
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 8.16 MB
Statistics
  • Stars: 24
  • Watchers: 4
  • Forks: 6
  • Open Issues: 1
  • Releases: 12
Topics
biology biopax python systems-biology
Created almost 6 years ago · Last pushed almost 2 years ago
Metadata Files
Readme Contributing License

README.md

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.

Gyori BM, Hoyt CT (2022). PyBioPAX: biological pathway exchange in Python. Journal of Open Source Software, 7(71), 4136, https://doi.org/10.21105/joss.04136

Installation

PyBioPAX can be installed from PyPI as a package:

bash $ pip install pybiopax

Usage

Reading an OWL file into a BioPaxModel object:

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

Writing a BioPaxModel into an OWL file:

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

Querying Pathway Commons to get a BioPaxModel object:

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

Working with the elements of the Python object model:

```python import pybiopax model = pybiopax.modelfrompc_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.displayname == 'ERK1-2' right = bcr.right[0] assert isinstance(right, pybiopax.biopax.Protein) assert right.displayname == '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.

```python from pybiopax.paths import find_objects

erks = findobjects(bcr, 'left/entityreference/entityreferenceof') ```

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.

Owner

  • Name: Gyori Lab for Computational Biomedicine
  • Login: gyorilab
  • Kind: organization
  • Email: indra.sysbio@gmail.com
  • Location: United States of America

Accelerating discovery in biomedicine using AI @ Northeastern University

GitHub Events

Total
  • Watch event: 1
Last Year
  • Watch event: 1

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 247
  • Total Committers: 4
  • Avg Commits per committer: 61.75
  • Development Distribution Score (DDS): 0.308
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Ben Gyori b****i@g****m 171
Charles Tapley Hoyt c****t@g****m 74
tonywu1999 a****2@g****m 1
tmushayahama t****a@g****m 1

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 14
  • Total pull requests: 39
  • Average time to close issues: 5 days
  • Average time to close pull requests: 6 days
  • Total issue authors: 12
  • Total pull request authors: 4
  • Average comments per issue: 2.71
  • Average comments per pull request: 0.38
  • Merged pull requests: 37
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • eggplants (2)
  • matthiaskoenig (2)
  • dhimmel (1)
  • Crispae (1)
  • cmungall (1)
  • aditya-ml (1)
  • leonweber (1)
  • tonywu1999 (1)
  • quirinmanz (1)
  • annaritz (1)
  • bgyori (1)
  • agitter (1)
Pull Request Authors
  • bgyori (26)
  • cthoyt (11)
  • tonywu1999 (2)
  • tmushayahama (1)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

.github/workflows/tests.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v1 composite
doc/requirements.txt pypi
  • docutils <0.18
  • lxml *
  • requests *
  • sphinx *
  • sphinx_autodoc_typehints *
  • sphinx_rtd_theme *
  • tqdm *
pyproject.toml pypi
setup.py pypi
  • lxml *
  • requests *
  • tqdm *