Napistu

Genome-Scale Mechanistic Networks

Napistu is an open-source project for creating and mining genome-scale networks of cellular physiology.

  • Unified Representation - Encode diverse data sources using the sbml_dfs structure to faithfully represent molecular biology and biochemistry
  • Consensus Models - Aggregate complementary sources into comprehensive networks where high-quality but incomplete interactions are supported by more comprehensive yet speculative data sources
  • Network Analysis - Translate pathway models into genome-scale graphical networks for propagation, search, and neighborhood discovery
  • Machine Learning - Train graph neural networks on biological networks to predict regulatory interactions and pathway relationships
  • Easy Access - Pre-processed pathway data available on Google Cloud Storage and HuggingFace; MCP server for AI agent integration; comprehensive CLI tools for common workflows

Recent Updates

Packages

napistu-py

Core Python library for pathway representations and network-based searches. Provides the foundational sbml_dfs data structure, consensus network creation, and genome-scale graph construction.

Quick Start

pip install napistu

# Download Reactome Functional Interactions data
napistu ingestion reactome_fi reactome_fi.tsv

# Integrate into SBML_dfs format
napistu integrate reactome_fi reactome_fi.tsv reactome_fi.pkl

# Summarize the pathway model
napistu helpers summarize_sbml_dfs reactome_fi.pkl

napistu-torch

PyTorch Geometric framework for training graph neural networks on biological pathways. Implements GraphSAGE, GraphConv, RotatE, and TransE architectures for predicting regulatory interactions and pathway relationships.

Quick Start

pip install 'napistu-torch[pyg,lightning]'

Quick Start (macOS)

pip install torch==2.8.0
pip install torch-scatter torch-sparse -f https://data.pyg.org/whl/torch-2.8.0+cpu.html
pip install 'napistu-torch[pyg,lightning]'

napistu-r

R library for network visualization and utilities. Provides R-based network visualization tools and integrates with the Python library for pathway analysis workflows.

Quick Start

remotes::install_github("napistu/napistu-r")

library(dplyr)
library(napistu)
setup_napistu_list(create_napistu_config())
species_id <- random_species(napistu_list)

neighborhood_table <- create_neighborhood_table(
    napistu_list,
    species_id = species_id,
    max_steps = 5L,
    max_neighbors = 20L,
)

plot_neighborhoods(
    napistu_list,
    neighborhood_table,
)

Resources