Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AtacAnnoR: A Reference-Based Annotation Tool for Single Cell ATAC-seq Data

Overview

AtacAnnoR is a novel scATAC-seq cell type annotation method using scRNA-seq data as the reference.

  • AtacAnnoR performs two rounds of annotation, which annotate scATAC-seq cells at gene-level and genome-wide-level, respectively.

  • In the first round gene-level annotation, AtacAnnoR compares gene activity profiles derived from scATAC-seq data with reference gene expression profiles, assigning a subset of query cells with reference cell type labels.

  • In the second round genome-wide-level annotation, AtacAnnoR predicts the labels of the remaining query cells using a meta-program matrix derived from genome-wide ATAC-peaks.

  • For more details about AtacAnnoR, please refer to our publication: https://doi.org/10.1093/bib/bbad268

Installation

if (!requireNamespace("devtools", quietly = T)) install.packages("devtools")
devtools::install_github("zdebruine/RcppML")        # v0.5.4 or higher
devtools::install_github("TianLab-Bioinfo/AtacAnnoR",force = T)

Usage

Run AtacAnnoR in a line with default parameters

library(AtacAnnoR)
pred <- RunAtacAnnoR(ref_mtx = SeuratObj_RNA[['RNA']]@counts, 
                     ref_celltype = SeuratObj_RNA$true, 
                     query_gene_activity = SeuratObj_ATAC[['ACTIVITY']]@counts, 
                     query_peak_counts = SeuratObj_ATAC[['ATAC']]@counts) 

Run AtacAnnoR step by step

  • You can run AtacAnnoR step by step to see how AtacAnnoR works and modify parameters to annotate scATAC-seq cells better. See this tutorial.

AtacAnnoR “Combine and Discard” strategy

  • When multiple references' annotation results are available, AtacAnnoR applies a “Combine and Discard” strategy to discard some cells and further improve the annotation accuracy. See this tutorial.

Beta function: AtacAnnoR label corrector

  • AtacAnnoR also provides a more aggressive strategy to use the multiple references' annotation results to correct the original labels and improve accuracy. See this tutorial.

Run AtacAnnoR in other scATAC-seq analysis pipelines

SeuratObj_ATAC <- RunAtacAnnoR_Signac(query_SeuratObj = SeuratObj_ATAC,
                                      query_ga_assay = 'ACTIVITY',
                                      query_peak_assay = 'ATAC',
                                      ref_SeuratObj = SeuratObj_RNA,
                                      ref_assay = 'RNA',
                                      ref_ident = 'true')

The predicted labels can be accessed using SeuratObj_ATAC$final_pred.

query_ArchRproj <- RunAtacAnnoR_ArchR(query_ArchRproj = query_ArchRproj,
                                      ref_mtx = SeuratObj_RNA[['RNA']]@counts, 
                                      ref_celltype = SeuratObj_RNA$true)

The predicted labels can be accessed using query_ArchRproj$final_pred.

query_snapObj <- RunAtacAnnoR_SnapATAC(query_snapObj = query_snapObj,
                                       ref_mtx = SeuratObj_RNA[['RNA']]@counts, 
                                       ref_celltype = SeuratObj_RNA$true)

The predicted labels can be accessed using query_snapObj@metaData$final_pred.

query_cds <- RunAtacAnnoR_Cicero(query_cds = query_cds,
                                 query_gene_activity = query_gene_activity,
                                 ref_mtx = SeuratObj_RNA[['RNA']]@counts, 
                                 ref_celltype = SeuratObj_RNA$true)

The predicted labels can be accessed using query_cds@colData$final_pred.

Contact

Lejin Tian: ljtian20@fudan.edu.cn

About

An accurate and robust cross-modality cell type annotation method for scATAC-seq data

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages