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 packagetests/: local tests and example-driven checksexamples/: demo scripts and generated artifactsdata/: 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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.