Skip to content

Commit 7f9fdcf

Browse files
committed
Update README and CHANGELOG
1 parent 835fdd2 commit 7f9fdcf

4 files changed

Lines changed: 33 additions & 11 deletions

File tree

README.md

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
# causarray
77

8-
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.
8+
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` [Du26], 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.
99

1010

1111
## Usage
@@ -34,10 +34,19 @@ The documentation and tutorials using both `Python` and `R` are available at [ca
3434

3535

3636

37-
## Batch fitting for large-scale screens
37+
## Tutorials
3838

39-
For screens with hundreds to thousands of perturbations, use the batch API
40-
so that peak memory is bounded by one batch at a time:
39+
| Tutorial | Language | Description | Link |
40+
|----------|----------|-------------|------|
41+
| Perturb-seq [Jin20] | Python | CRISPR screen analysis on excitatory neurons | [Notebook](https://causarray.readthedocs.io/en/latest/tutorial/perturbseq/perturbseq-py.html) |
42+
| Perturb-seq [Jin20] | R | Same analysis using `reticulate` | [Notebook](https://causarray.readthedocs.io/en/latest/tutorial/perturbseq/perturbseq-r.html) |
43+
| Genome-wide CRISPRi screen [Replogle22] | Python | Batch fitting on 200 perturbations from a K562 genome-wide CRISPRi screen | [Notebook](https://causarray.readthedocs.io/en/latest/tutorial/replogle/replogle-py.html) |
44+
| Case-control: SEA-AD [Gabitto24] | Python | Causal inference on observational single-cell data (Alzheimer's disease) | [Notebook](https://causarray.readthedocs.io/en/latest/tutorial/case_control/sea_ad_case_control.html) |
45+
46+
### Batch fitting API
47+
48+
For screens with hundreds to thousands of perturbations, use `gcate_lfc_batch` so
49+
that peak memory is bounded by one batch at a time:
4150

4251
```python
4352
from causarray import gcate_lfc_batch
@@ -52,16 +61,12 @@ df_res = gcate_lfc_batch(
5261
)
5362
```
5463

55-
See the [Replogle-E-K562 tutorial](https://causarray.readthedocs.io/en/latest/)
64+
See the [Replogle-E-K562 tutorial](https://causarray.readthedocs.io/en/latest/tutorial/replogle/replogle-py.html)
5665
for a demonstration on 200 perturbations from a genome-wide CRISPRi screen.
5766

5867
## Changelog
5968

60-
- [x] (2025-01-30) Python package released on PyPI
61-
- [x] (2025-02-01) Code for reproducing figures in paper
62-
- [x] (2025-02-02) Tutorial for Python and R
63-
- [x] (2026-05-31) Batch fitting API (`gcate_lfc_batch`) for large-scale screens
64-
- [x] (2026-05-31) Documentation at [causarray.readthedocs.io](https://causarray.readthedocs.io/en/latest/)
69+
See [CHANGELOG](https://causarray.readthedocs.io/en/latest/changelog.html) for a full version history.
6570

6671

6772
<!--
@@ -103,4 +108,10 @@ rmarkdown::render("perturbseq.Rmd", rmarkdown::md_document(variant = "markdown_g
103108

104109

105110
## References
106-
[Du25] Jin-Hong Du, Maya Shen, Hansruedi Mathys, and Kathryn Roeder. "Uncovering causal relationships in single cell omic studies with causarray". In: Briefings in Bioinformatics (2026).
111+
[Du26] Jin-Hong Du, Maya Shen, Hansruedi Mathys, and Kathryn Roeder. "Uncovering causal relationships in single cell omic studies with causarray". In: Briefings in Bioinformatics (2026).
112+
113+
[Gabitto24] Mariano I. Gabitto et al. "Integrated multimodal cell atlas of Alzheimer's disease". In: Nature Neuroscience (2024).
114+
115+
[Jin20] Xin Jin et al. "In vivo Perturb-seq reveals neuronal and glial abnormalities associated with autism risk genes". In: Nature Neuroscience (2020).
116+
117+
[Replogle22] Joseph M. Replogle et al. "Mapping information-rich genotype-phenotype landscapes with genome-scale Perturb-seq". In: Cell (2022).
File renamed without changes.

docs/source/changelog.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Changelog
2+
3+
```{include} ../CHANGELOG.md
4+
:heading-offset: 1
5+
```

docs/source/index.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,3 +41,9 @@ causarray is a Python module for simultaneous causal inference with an array of
4141
:caption: Tutorials (R)
4242

4343
tutorial/perturbseq/perturbseq-r.md
44+
45+
.. toctree::
46+
:maxdepth: 1
47+
:caption: Release Notes
48+
49+
changelog

0 commit comments

Comments
 (0)