Skip to main content

causarray is a Python module for simultaneous causal inference with an array of outcomes.

Project description

Documentation Status PyPI PyPI-Downloads

causarray

Advances in single-cell sequencing and CRISPR technologies have enabled detailed case-control comparisons and experimental perturbations at single-cell resolution. However, uncovering causal relationships in observational genomic data remains challenging due to selection bias and inadequate adjustment for unmeasured confounders, particularly in heterogeneous datasets. To address these challenges, we introduce causarray [Du25], a doubly robust causal inference framework for analyzing array-based genomic data at both bulk-cell and single-cell levels. causarray integrates a generalized confounder adjustment method to account for unmeasured confounders and employs semiparametric inference with flexible machine learning techniques to ensure robust statistical estimation of treatment effects.

Usage

We recommend using causarray in a conda environment:

# create a new conda environment and install the necessary packages
conda create -n causarray python=3.12 -y

# activate the environment
conda activate causarray

The module can be installed via PyPI:

pip install causarray

For optimal parallel performance, we recommend installing llvm-openmp if using conda:

conda install -c conda-forge llvm-openmp

For R users, reticulate can be used to call causarray from R. The documentation and tutorials using both Python and R are available at causarray.readthedocs.io.

Batch fitting for large-scale screens

For screens with hundreds to thousands of perturbations, use the batch API so that peak memory is bounded by one batch at a time:

from causarray import gcate_lfc_batch

df_res = gcate_lfc_batch(
    Y, X, A, r,
    batch_size=10,    # perturbations per batch (or use n_batches= for a fixed count)
    max_cells=2000,   # max pert cells per batch (ctrl added on top)
    n_ctrl=2000,      # fixed ctrl subsample shared across batches
    cache_path='results.h5',   # resume if interrupted
    verbose=True,
)

See the Replogle-E-K562 tutorial for a demonstration on 200 perturbations from a genome-wide CRISPRi screen.

Changelog

  • (2025-01-30) Python package released on PyPI
  • (2025-02-01) Code for reproducing figures in paper
  • (2025-02-02) Tutorial for Python and R
  • (2026-05-31) Batch fitting API (gcate_lfc_batch) for large-scale screens
  • (2026-05-31) Documentation at causarray.readthedocs.io

References

[Du25] Jin-Hong Du, Maya Shen, Hansruedi Mathys, and Kathryn Roeder (2025). Causal differential expression analysis under unmeasured confounders with causarray. bioRxiv, 2025-01.

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

causarray-0.0.6.tar.gz (46.4 kB view details)

Uploaded Source

Built Distribution

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

causarray-0.0.6-py3-none-any.whl (51.8 kB view details)

Uploaded Python 3

File details

Details for the file causarray-0.0.6.tar.gz.

File metadata

  • Download URL: causarray-0.0.6.tar.gz
  • Upload date:
  • Size: 46.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for causarray-0.0.6.tar.gz
Algorithm Hash digest
SHA256 ba4791fd9b2f0e8be5e63571aa0da617e98033838bea9fa18ea3394d80846a37
MD5 de162fb4e71d14b5b15eea2ed7d0b531
BLAKE2b-256 289cf96b66dcf728466200c077aedcd4d49866eb24b103fbed0282fb09e561f5

See more details on using hashes here.

Provenance

The following attestation bundles were made for causarray-0.0.6.tar.gz:

Publisher: publish-to-pypi.yml on jaydu1/causarray

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file causarray-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: causarray-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 51.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for causarray-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 8ef83a42fbc194857e8f82748aa12968f0ade88205d8e940a3169d0762465067
MD5 efb0d19b57ea4f7e4a19e9afec7262ee
BLAKE2b-256 172e0e4558b3bdfa0f1509b3413ff02b19bb8ec235b026ac4a01beed3853d50c

See more details on using hashes here.

Provenance

The following attestation bundles were made for causarray-0.0.6-py3-none-any.whl:

Publisher: publish-to-pypi.yml on jaydu1/causarray

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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