Circulating cell populations as response predictors and targets to improve immunotherapy in metastatic lung cancer
Repository containing two complementary analyses related to immunotherapy response in lung cancer:
- ML_analysis/: classical machine learning pipeline (Random Forest + SHAP) across clinical, cytokine, metabolite, and cell-type features.
- scRNAseq_analysis/: single-cell RNA-seq workflow focused on T cell populations from GSE179994.
lung_cancer_responses_ML/
├── ML_analysis/
│ ├── environment.yml
│ ├── README.md
│ ├── data/
│ ├── int/
│ ├── results/
│ └── src/
└── scRNAseq_analysis/
├── README.md
└── Scripts/
Builds and interprets Random Forest classifiers to predict responders vs non-responders from multiple feature sets:
- clinical
- cytokines
- metabolites
- cells
- all features combined
From ML_analysis/:
conda env create -f environment.yml
conda activate lung_cancer_mlFrom ML_analysis/:
- Clean and integrate exported TSVs
python src/clean_data.py- Train RF + generate SHAP outputs (set dataset inside script)
python src/rf_shap_analysis.py- Evaluate all top-feature combinations
python src/feature_combinations.py- Build R heatmap visualizations
Rscript src/plots.ROutputs are written to ML_analysis/results/.
For details, see ML_analysis/README.md.
Runs preprocessing, clustering, and post-treatment CD4/CD8 subsetting for GSE179994 T cells, supporting responder vs non-responder downstream analyses.
- R 4.3.0+
- Core packages: Seurat, dplyr, scuttle, ggplot2
- Optional: SeuratDisk (for
.h5adexport)
From scRNAseq_analysis/:
Rscript Scripts/run_analysis.ROutputs are written to scRNAseq_analysis/Figures/ and scRNAseq_analysis/Results/.
For full input/output and methods details, see scRNAseq_analysis/README.md.
- The ML pipeline expects intermediate TSV files under
ML_analysis/int/. - In the ML workflow, key raw TSVs were manually exported from source spreadsheets before running scripts.
Manuscript in preparation.