Skip to content

bnediction/bonesistools

Repository files navigation

tests PyPI python license

BoNesisTools

BoNesisTools provides Python-implemented toolkits for upstream and downstream analyses around the BoNesis ecosystem.

The package provides:

  • Boolean algebra and partial Boolean abstractions
  • Boolean network manipulation and analysis
  • signed influence graph utilities
  • GRN-informed Boolean predecessor inference
  • single-cell and multimodal analysis helpers
  • biological database interfaces

Usage

import bonesistools as bt

BoNesisTools exposes three main namespaces:

  • bt.omics — single-cell and multimodal annotated data tools
  • bt.logic — Boolean modelling and graph utilities
  • bt.resources — biological database interfaces

Single-cell tools

bt.omics is inspired by Scanpy while providing additional and complementary features for single-cell analyses.

Submodules:

  • preprocessing: bt.omics.pp

    • expression transformations, feature selection, filtering and metadata utilities
  • tools: bt.omics.tl

    • embeddings, neighborhood graphs, clustering and differential analysis
  • input/output: bt.omics.io

    • registered single-cell example datasets, GEO import and matrix export helpers
  • plotting: bt.omics.pl

    • visualization helpers for embeddings, trajectories, distributions and summaries

Example:

bt.omics.io.available()
bt.omics.io.info("pbmc3k")
adata = bt.omics.io.load("pbmc3k")
adata = bt.omics.io.load("nestorowa")
bt.omics.io.clear("pbmc3k")

Boolean modelling utilities

bt.logic provides utilities for Boolean modelling, logical abstractions and signed regulatory graphs.

Submodules:

  • Boolean algebra: bt.logic.ba

    • logical objects, configuration sets and transformations for Boolean-state reasoning
  • Boolean network: bt.logic.bn

    • Boolean model representation, conversion, analysis and exchange
  • influence graph: bt.logic.ig

    • signed regulatory graph construction, comparison, analysis and display
  • input/output: bt.logic.io

    • BNet, GINML, ZGINML, hypercube and influence-graph readers

Example:

bn = bt.logic.io.read_bnet("model.bnet")
graph = bn.to_influence_graph()

graph.show()

Biological external resources

bt.resources provides lightweight interfaces and utilities for biological external resources.

Submodules:

  • NCBI: bt.resources.ncbi

    • gene identifier, synonym and annotation utilities
  • OmniPath: bt.resources.omnipath

    • regulatory interaction datasets
  • HCOP: bt.resources.hcop

    • orthology resources

Example:

gene_identifiers = bt.resources.ncbi.identifiers()

grn = bt.resources.omnipath.collectri(
    organism="mouse",
    identifiers=gene_identifiers,
)

Installation

Install the latest release:

pip install bonesistools

Install the omics dependencies:

pip install "bonesistools[omics]"

Install all optional dependencies:

pip install "bonesistools[all]"

Install the development version:

git clone https://github.com/bnediction/bonesistools.git
cd bonesistools
pip install -e ".[all]"

or directly:

pip install git+https://github.com/bnediction/bonesistools.git

Bugs

Please report bugs or ask questions here:

https://github.com/bnediction/bonesistools/issues


License

This package is distributed under the CeCILL v2.1 free software license (GNU GPL compatible).

This package also includes third-party data resources derived from the NCBI Gene database (gene_info). NCBI places no restrictions on the use or redistribution of these data: https://www.ncbi.nlm.nih.gov/home/about/policies/

About

Python-implemented toolkits for upstream and downstream analyses around the BoNesis ecosystem.

Topics

Resources

License

Stars

3 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors

Languages