Skip to main content

Python Subnet Discovery for Systems Biology

Project description

Build

SUBNET DISCOVERY FOR SBML MODELS

Motivation

Many advances in biomedical research are driven by structural analysis, a study of the interconnections between elements in biological systems (e.g., identifying drug target and phylogenetic analyses). Structural analysis appeals because structural information is much easier to obtain than dynamical data such as species concentrations and reaction fluxes. Our focus is on subnet discovery in chemical reaction networks (CRNs); that is, discovering a subset of a target CRN that is structurally identical to a reference CRN. Applications of subnet discovery include the discovery of conserved chemical pathways and the elucidation of the structure of complex CRNs. Although there are theoretical results for finding subgraphs, we are unaware of tools for CRN subnet discovery. This is in part due to the special characteristics of CRN graphs, that they are directed, bipartite, hypergraphs.

Results

We introduces pySubnetSB, an open source python package for discovering subnets represented in the systems biology markup language (SBML) community standard. pySubnetSB uses a constraint-based approach to discover subgraphs using techniques that work well for CRNs, and provides considerable speed-up through vectorization and process-based parallelism. We provide a methodology for evaluating the statistical significance of subnet discovery and apply pySubnetSB to discovering subnets in more than 100,000 model pairs in the BioModels repository of curated models.

Availability

pySubnetSB is installed using

pip install pySubnetSB

The package has been tested on linux (Ubuntu 22.04), Windows (Windows 10), and Mac OS (14.7.6). For each, tests were run for python 3.9, 3.10, 3.11, and 3.12.

https://github.com/ModelEngineering/pySubnetSB/blob/main/examples/api_basics.ipynb is a Jupyter notebook that demonstrates pySubsetSB capabilities. https://github.com/ModelEngineering/pySubnetSB/blob/main/examples/api_basics.py is a translation of this notebook into a Python program that can be downloaded and executed using

ipython api_basics.py

(Note that you must use the jupyterlab command ipython because this is a tranlsated notebook.)

Version History

  • 1.0.7 7/20/2025 Finalized code and documentation
  • 1.0.6 7/19/2025 Workflows for Ubuntu, Windows, Macos and python 3.9, 3.10, 3.11, 3.12
  • 1.0.5 7/19/2025 Fix install issues with missing modules
  • 1.0.2 4/10/2025. ModelSpecification API accepts many kinds of model inputs, Antimony, SBML, roadrunner.
  • 1.0.1 4/09/2025. Improved generation of networks with subnets. Use "mapping_pair" in API. Bug fixes.
  • 1.0.0 2/27/2025. First beta release.

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

pysubnetsb-1.0.7.tar.gz (106.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pysubnetsb-1.0.7-py3-none-any.whl (139.1 kB view details)

Uploaded Python 3

File details

Details for the file pysubnetsb-1.0.7.tar.gz.

File metadata

  • Download URL: pysubnetsb-1.0.7.tar.gz
  • Upload date:
  • Size: 106.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for pysubnetsb-1.0.7.tar.gz
Algorithm Hash digest
SHA256 60ee15d86514cdab30a3d062f30a5b06d640798438c82bf177006c4a1d307810
MD5 a2ae6612e52a4c4ee50d16d1f58cfb8f
BLAKE2b-256 625f44c8e7cf6c10ca71c0b047c78d80e369521b58fe2cdb0261d32b0f35544a

See more details on using hashes here.

File details

Details for the file pysubnetsb-1.0.7-py3-none-any.whl.

File metadata

  • Download URL: pysubnetsb-1.0.7-py3-none-any.whl
  • Upload date:
  • Size: 139.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for pysubnetsb-1.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 c84c4b0507c3db591bb0089960eb4b998b1af296afd96ba229415b964a0ea65d
MD5 6e5e2abbbdc979c14d6310aa97bd2cfb
BLAKE2b-256 a399a6817026bd96b63bc4c7decec9719c265568aaf5ab644d326cbb8639c783

See more details on using hashes here.

Supported by

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