This repository contains notebooks for generating figures in the ArchVelo paper.
ArchVelo (https://github.com/pritykinlab/ArchVelo) is a method for modeling gene regulation and inferring cell trajectories using single-cell simultaneous chromatin accessibility (scATAC-seq) and transcriptomic (scRNA-seq) profiling. ArchVelo represents chromatin accessibility as a set of archetypes---shared regulatory programs---and models their dynamic influence on transcription. As a result, ArchVelo improves inference accuracy compared to previous methods and decomposes the velocity field into components, each potentially corresponding to a specific regulatory program.
In this repository, we demonstrate ArchVelo on 3 different single-cell multi-omic datasets: mouse embryonic brain, human hematopoietic stem cells and CD8 T cells responding to acute and chronic viral infections. The notebooks for every dataset are numbered according to their order in the pipeline. Details of the required data downloads can be found in the description of each notebook. The current core structure of every folder after downloading required raw data will be as follows:
|--Dataset_name
| |-- data: raw data that requires preprocessing
| |-- processed_data: processed data to run the notebooks
| |-- seurat_wnn: auxiliary weighted nearest neighbor information
| |-- 1_Data_preparation.ipynb: process data for ArchVelo analysis and benchmarking
| |-- 2_Create_archetypes.ipynb: apply archetypal analysis (AA) to the dataset
| |-- 3_ArchVelo_apply.ipynb: apply ArchVelo to the dataset
| |-- 4_Compare_latent_times.ipynb: benchmark ArchVelo against MultiVelo and scVelo
| |-- 5_CBDir.ipynb: another benchmark of ArchVelo against MultiVelo and scVelo
| |-- 6_Trajectory_components.ipynb: trajectory decomposition and interpretation of ArchVelo results
|-- archetypal_regression: AA for the ATAC modality and ATAC-to-RNA regression code
| |-- archetypes.py: delta-AA analysis (see https://github.com/ulfaslak/py_pcha)
| |-- archetypes_regression.py: module for ATAC-to-RNA regression
| |-- util.py: utility methods
| |-- util_atac.py: utility methods for the ATAC component
| |-- util_regression.py: utility for the regression
|-- ArchVelo.py: ArchVelo methods
|-- UTV_metrics.py: Metrics required for benchmarking