This is a five-module course in lung transcriptomics built on Common Fund Data Ecosystem (CFDE) resources. You will discover datasets through CFDE surfaces, download them from DCC portals, and carry one analysis from raw nuclei through quality control, cross-donor integration, differential expression and pathway enrichment, paired multiome interpretation, and a cross-ecosystem contrast comparison.
Primary omics files are not included and are not redistributed. The folders they belong in are already named and empty; you download into them. Module 0 sets up the environment and Module 1 covers discovery, download and verification, with terminal commands for every file in its Appendix A.
Copyright (c) 2026 Brian Billings.
Title. CFDE lung transcriptomics course (HuBMAP / GTEx bridge with GEO and OSDR arms).
Licenses. Course prose, documents, notebooks, and derived tables and figures:
CC BY 4.0. Code under scripts/: MIT. Third-party gene-set libraries
under data/genesets/ remain under their upstream terms; see
THIRD-PARTY-NOTICES.md.
| Included | Not included |
|---|---|
Six module documents, under pdfs/ |
HuBMAP / GTEx / GEO / OSDR primary files |
| Notebooks 01 to 04, outputs cleared | Alternate HuBMAP blocks and SNARE products other than Donor_2 HBM828.GPVG.252 |
Analysis package under scripts/ and config/paths.yaml |
Regenerated data/processed/*.h5ad |
| Empty named folders for every teaching HuBMAP ID | Full optional MuData (~14.7 GiB) |
Committed figures and reports under outputs/ |
Tables the pipeline regenerates when it runs |
| Gene sets, ortholog and ERCC reference files |
outputs/tables/ holds only the files the pipeline reads rather than writes: the two Azimuth label
caches, the committed GeneLab differential-expression subset, the NES sensitivity table, the offline
discovery caches, and the download manifest. Everything else appears when you run the notebooks.
| Module | Document | Time | Notebook |
|---|---|---|---|
| 0 | pdfs/module0.pdf |
20 min reading | none, environment setup and code orientation |
| 1 | pdfs/module1.pdf |
45 min | notebooks/01_discovery_and_qc.ipynb |
| 2 | pdfs/module2.pdf |
45 min | notebooks/02_integration_de_pathways.ipynb |
| 3 | pdfs/module3.pdf |
30 min | notebooks/03_multiome.ipynb |
| 4 | pdfs/module4.pdf |
30 min | notebooks/04_cross_ecosystem.ipynb |
| 5 | pdfs//module5.pdf |
30 min | none, communication and assessment |
Three hours of instruction across Modules 1 to 5, excluding Module 0.
| Requirement | Value |
|---|---|
| Python | 3.11 |
| Environment | conda/mamba CFDE_lung_env, or a pip venv from requirements.txt |
| RAM | 16 GB recommended; 8 GB minimum (measured peaks: Module 2 DE 7.6 GB, Module 3 7.1 GB, Module 4 5.5 GB) |
| Disk | 5 GB, covering the download plus the objects the notebooks write |
| Download | About 815 MB across 20 files, itemized in Module 0 Appendix B with retrieval commands in Module 1 Appendix A |
| Gene sets | Shipped under data/genesets/ (Hallmark, Reactome, GO BP; no KEGG) |
mamba env create -f environment.yml
mamba activate CFDE_lung_env
python -m ipykernel install --user --name cfde_lung_env --display-name "Python (CFDE_lung_env)"Read docs/module0.docx first: it covers the environment, the code layout, and the ten Python
patterns the analysis packages use. Then work Module 1, which walks discovery, download and
verification before any analysis runs.
python scripts/verify_access.py # confirm every taught URL is reachable
jupyter lab notebooks/01_discovery_and_qc.ipynbPip alternative:
python3.11 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtDonor_1, Donor_2, Donor_3, Donor_4, four HuBMAP lung donors selected for comparative value across age, sex and reported race and ethnicity.
| Donor | Age | Sex | snRNA block | Also provides |
|---|---|---|---|---|
| Donor_1 | 37 | Male | HBM347.VDHS.379 |
Module 1 QC scaffold |
| Donor_2 | 25 | Female | HBM473.NKMR.872 |
SNARE-seq2 multiome HBM828.GPVG.252 (Module 3) |
| Donor_3 | 56.8 | Female | HBM484.RGWP.797 |
|
| Donor_4 | 52.96 | Male | HBM379.QCJT.435 |
Module 4 adds GTEx v10 lung, GEO series GSE150910, and NASA OSDR study OSD-248.
Notebooks ship without stored cell outputs on purpose, so a clean re-run is forced after download. The results are readable before you run anything:
docs/module{0-5}.docx, the module documents, with figures and tables embeddedoutputs/figures/, every figure the documents citeoutputs/reports/, methods records and biological interpretation drafts
- No primary data redistribution: DCC portals for files, CFDE surfaces for discovery.
- GTEx enters at Module 4, not Module 2.
- Gene sets: Hallmark, Reactome and GO BP only (no KEGG).
- Module 4's headline is mechanism concordance against a permutation null; the global NES correlation is supporting context only.
- Every number in the documents is read from a committed table rather than transcribed.
After the download is complete:
python scripts/run_modules_smoke.py --module all