Construct ANANSE GRN-Analysis Seurat.
AnanseSeurat
package
The AnanseSeurat
package takes pre-processed clustered single cell objects of scRNAseq and scATACseq or a multiome combination, and generates files for gene regulatory network (GRN) analysis. It is part of the scANANSE pipeline. https://doi.org/10.12688/f1000research.130530.1
Installation
AnanseSeurat
can be installed from CRAN using
install.packages('AnanseSeurat')
Or to install the developmental branch from github:
library(devtools) # Tools to Make Developing R Packages Easier # Tools to Make Developing R Packages Easier
Sys.unsetenv("GITHUB_PAT")
remotes::install_github("JGASmits/AnanseSeurat@main")
Usage
library("AnanseSeurat")
rds_file <- './scANANSE/preprocessed_PDMC.Rds'
pbmc <- readRDS(rds_file)
Next you can output the data from your single cell object, the file format, config file and sample file are all ready to automate GRN analysis using anansnake
. https://github.com/vanheeringen-lab/anansnake
export_CPM_scANANSE(
pbmc,
min_cells = 25,
output_dir = './scANANSE/analysis',
cluster_id = 'predicted.id',
RNA_count_assay = 'RNA'
)
export_ATAC_scANANSE(
pbmc,
min_cells = 25,
output_dir = './scANANSE/analysis',
cluster_id = 'predicted.id',
ATAC_peak_assay = 'peaks'
)
# Specify additional contrasts:
contrasts <- c('B-naive_B-memory',
'B-memory_B-naive',
'B-naive_CD14-Mono',
'CD14-Mono_B-naive')
config_scANANSE(
pbmc,
min_cells = 25,
output_dir = './scANANSE/analysis',
cluster_id = 'predicted.id',
additional_contrasts = contrasts
)
DEGS_scANANSE(
pbmc,
min_cells = 25,
output_dir = './scANANSE/analysis',
cluster_id = 'predicted.id',
additional_contrasts = contrasts
)
install and run anansnake
Follow the instructions its respective github page, https://github.com/vanheeringen-lab/anansnake After activating the conda environment, use the generated files to run GRN analysis using your single cell cluster data:
anansnake \
--configfile scANANSE/analysis/config.yaml \
--resources mem_mb=48_000 --cores 12
import ANANSE results back to your single cell object
After running Anansnake, you can import the TF influence scores back into your single cell object of choice
pbmc <- import_seurat_scANANSE(pbmc,
cluster_id = 'predicted.id',
anansnake_inf_dir = "./scANANSE/analysis/influence")
TF_influence <- per_cluster_df(pbmc,
cluster_id = 'predicted.id',
assay = 'influence')
Citation
scANANSE gene regulatory network and motif analysis of single-cell clusters [version 1; peer review: awaiting peer review] Jos G.A. Smits, Julian A. Arts, Siebren Frölich, Rebecca R. Snabel, Branco M.H. Heuts, Joost H.A. Martens, Simon J van Heeringen, Huiqing Zhou F1000Research 2023, 12:243 (https://doi.org/10.12688/f1000research.130530.1)
Thanks to:
- Julian A. Arts and his Pycharm equivalent of this package https://github.com/Arts-of-coding/AnanseScanpy
- Siebren Frohlich and his anansnake implementation https://github.com/vanheeringen-lab/anansnake
- Rebecca R. Snabel for her implementation of the motif expression correlation analysis
- Branco Heuts for testing
Credits
The hex sticker is generated using the hexSticker
package.