Skip to main content

StableGGM

StableGGM is a Python toolkit for stability-aware gene network inference from transcriptomic data. It combines preprocessing, partial-correlation estimation, subsampling-based aggregation, edge selection, network construction, module detection, plotting, and optional enrichment analysis in one package.

Project status

This repository is still in an early stage. The package structure is now ready for GitHub publication, but the scientific workflow still needs broader debugging and validation before it should be treated as production-ready.

Current capabilities

  • RNA-seq and microarray preprocessing
  • Partial-correlation estimation from expression matrices
  • Stability selection through repeated subsampling
  • Edge selection with Python-based FDR control
  • Graph construction and network summaries
  • MCL-based module detection
  • Plotting helpers for diagnostics and network views
  • Optional enrichment analysis with user-supplied annotations

Installation

Basic install:

pip install -e .

If you need ComBat batch correction support:

pip install -e ".[batch]"

Development install:

pip install -e ".[dev]"

Package layout

  • src/stableggm/: publishable Python package
  • tests/: local tests and example-driven checks
  • examples/: demo scripts and generated artifacts
  • data/: local data helpers and mapping scripts

Minimal usage

import pandas as pd
from stableggm.pipeline import run_stableggm_pipeline

expr_df = pd.read_csv("tests/data/gene_expression_Acinetobacter_baumannii.csv", index_col=0)

result = run_stableggm_pipeline(
    expr_df=expr_df,
    output_dir="output",
    bacteria="demo",
    data_type="RNA-seq",
    normalization="CPM",
    make_plots=False,
    annotation_df=None,
)

print(result["summary"])

CLI usage

After installation, you can run the packaged command directly:

stableggm run --expr tests/data/gene_expression_Acinetobacter_baumannii.csv --output output --bacteria demo --smoke --smoke-n-genes 100 --smoke-n-samples 30 --no-make-plots

You can also run the module form:

python -m stableggm run --expr tests/data/gene_expression_Acinetobacter_baumannii.csv --output output --bacteria demo --smoke --smoke-n-genes 100 --smoke-n-samples 30 --no-make-plots

Before uploading to GitHub

  • Review and trim any large generated result folders you do not want in the first commit.
  • Replace placeholder metadata if you want a real author name or repository URL.
  • Run a smoke test in your target Python environment.
  • Create a fresh GitHub repository, then push this folder after git init.

Known limitations

  • The repository still contains historical example outputs outside the package source tree.
  • Several old example scripts and tests appear to target earlier APIs and may need alignment.
  • Full pipeline validation has not been completed yet on this machine.

License

MIT

Metadata

Release files for stableggm 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for stableggm 0.1.0
File Size Uploaded Provenance Actions
stableggm-0.1.0.tar.gz 50.2 kB Without provenance Details for stableggm-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for stableggm 0.1.0
File Interpreter ABI Platform Actions
stableggm-0.1.0-py3-none-any.whl Python 3 none any Details for stableggm-0.1.0-py3-none-any.whl

Total release size: 101.6 kB

Release files / stableggm-0.1.0.tar.gz

Download URL stableggm-0.1.0.tar.gz
Size 50.2 kB
Tags Source
SHA-256 checksum
How to use checksums
a14a0323df9e30bae907735edc9b88cad4aeb186616fbfa4c6c3118cad66971f
BLAKE2b-256 checksum
How to use checksums
416636f8fa73ae87d25d47e0697761d5445c09b9487d06650e68cf45cacfcd48
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.20

Release files / stableggm-0.1.0-py3-none-any.whl

Download URL stableggm-0.1.0-py3-none-any.whl
Size 51.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4ae6485178a095b74e0114dea714134e3a7ea5526b38f70cc68d6103f0405503
BLAKE2b-256 checksum
How to use checksums
c4a24337840e17221c3c0ee4bdfef72df5e0abf1c6e09d5a28134ce4e9369224
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.20

Security for stableggm 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page