FLARE (Following Lineage Adaptation and Resistance Evolution) is a multi-tiered lineage tracing approach, which we use to identify clonal patterns of drug response and population expansion in vitro and in vivo. Using advances in CRISPR lineage tracing, we track the evolution of cell fate independently of cell state, recording the relationship between cells in small, integrated recorders, which can be used to recover cellular ‘phylogenetic’ trees. (A) Constructs required for FLARE lineage tracing. (B) The resulting cells record lineage information at 3 levels, (1) founder, (2) clonal, and (3) subclonal (CRISPR recordings). AraC treatment selective pressure is introduced following the initiation of lineage recorder editing.
-
This repository is associated with our 2025 preprint "Hierarchical Lineage Tracing Reveals Diverse Pathways of AML Treatment Resistance"
-
All sequencing data can be accessed through the gene expression omnibus
- Single cell RNA sequencing (GEO series GSE289454)
- DNA sequencing (GEO series GSE289459)
-
Included are data and scripts used to analyze data and generate figures
- R scripts
- lineage_seq_processing.R: extracting FLARE lineage data from SingleCellLineage output for characterizing editing patterns
- lineage_recorder_editing_plots.R: plotting FLARE barcode editing
- single_cell_GEX_initial_processing.R: initial scRNA-seq analysis post CellRanger
- single_cell_lineage_analysis.R: integration and downstream analysis of single cell lineage and transciptomics
- PATH_analysis.R: state transitions and auto/crosscorrelation using PATH
- mouse_blooddraw_lineage.R: analysis of FLARE bulk sequencing data from longitudinal blood samples
- module_overlap_analysis.R: computing Hotspot gene module overlaps
- RNAseq_survival_analysis.R: survival analysis using publicly available AML patient RNAseq cohorts
- patient_single_cell_analysis.R: analysis of publicly available patient sample scRNA-seq
- Python scripts
- AML_lineage_utilities.py: Functions for processing FLARE lineage data.
- 1_LineagePreprocessing.py: All preprocessing for FLARE lineage data, including indel barcodes and clone tags.
- 2_TagClustering.py: Assigning cells to founders and clones based on hierarchical FLARE lineage data.
- 3_Trees.py: Generate single cell lineage trees from indel barcodes for clones and founders.
- 4_HotSpotModules.py: Generate modules using HotSpot.
- Trees
- Newick files for FLARE lineage trees
- R scripts
- Initial processing with SingleCellLineage
- Filtering, noise-reduction, and QC with 1_LineagePreprocessing.py
- Clone tag clustering with Louvain algorithm and clone assignment 2_TagClustering.py
Phylogenetic reconstruction, see 3_Trees.py
- Cassiopeia's greedy vanilla solver using lineage recorder indels
- Generation of founder-wide trees
- Generation of population-wide trees
- Generate initial Seurat objects with single_cell_GEX_initial_processing.R
- Add founder and clone assignments to cells with single_cell_lineage_analysis.R
- Downstream analysis (GSEA, PATH, Hotspot gene modules, etc.)
- PATH, state transitions in PATH_analysis.R
- GSEA analysis in single_cell_lineage_analysis.R
- HotSpot Modules 4_HotSpotModules.py
- Bulk RNA-seq cohort analysis (TARGET-AML, Beat AML, TCGA LAML) in RNAseq_survival_analysis.R
- Patient sample scRNA-seq analysis in patient_single_cell_analysis.R
