Processing pipelines for the 10x multiome EC differentiation datasets, covering FASTQ reconstruction, CMO/GEX demultiplexing, and CMO tag quantification.
GEX and CMO reads arrive mixed in the same FASTQs and must be separated with splitcode before quantification. CMO quantification is automated end-to-end via IGVF accessions.
| Channel | IGVF analysis set |
|---|---|
| Channel 1 | IGVFDS5477BPOI |
| Channel 2 | IGVFDS3995WHFT |
Single-channel CMO library sequenced as a standard 10x multiome run (no splitcode required). CMO tag is in R2 (MULTI-seq barcode, 8 bp); R3 carries cDNA and is not used for CMO quantification.
| Channel | IGVF analysis set |
|---|---|
| Single channel | IGVFDS1612ZNCA |
GEX, CMO, and ATAC reads arrive pre-demultiplexed (separate sample indices). No splitcode step required.
analyses/
10x_multi_5_timepoints/ # 5 tp pipeline (manual steps 1–14 + automated CMO quant)
cmo_quantification/ # end-to-end CMO quantification from IGVF accessions
10x_multi_5_timepoints_mcginnis/ # McGinnis 5 tp pipeline (single channel, automated CMO quant)
cmo_quantification/ # end-to-end CMO quantification from IGVF accessions
10x_multi_15_timepoints/ # 15 tp pipeline scripts
create_seqspecs/ # marimo notebook for generating seqspec YAMLs
config/
conda/ # conda environment definition and build sbatch
splitcode/ # splitcode tag configs for 5 tp and 15 tp datasets
metadata/ # CMO design sheets (TSV)
scripts/
bash/ # exploratory / benchmarking scripts
python/ # shared Python utilities (IGVF auth, download, KITE helpers)
templates/ # Jinja2 templates for seqspec YAML generation
All tools (kb-python, splitcode, seqspec, igvf-utils) are in the project conda env. Build once:
sbatch config/conda/build_env.sbatchActivate for interactive use:
source /home/users/emattei/miniforge3/etc/profile.d/conda.sh
conda activate /oak/stanford/groups/engreitz/Users/emattei/git/broad-nnfc-cmo-multiome/env/nnfc-cmo-multiomeIGVF downloads require a .env file at the repo root:
IGVF_API_KEY=<your_key>
IGVF_SECRET_KEY=<your_secret>