library(ArchR)
setwd('...')
addArchRGenome('hg38')
addArchRThreads(threads = 10)
# fragment_files
fragment_files = c(Control1 = "Control1_fragments.tsv.gz",
Control2 = "Control2_fragments.tsv.gz",
Control3 = "Control3_fragments.tsv.gz",
Control4 = "Control4_fragments.tsv.gz",
Control5 = "Control5_fragments.tsv.gz")
# validBarcodes_list
# validBarcodes_list中的barcode需要与fragment文件第四行的细胞barcode一致
# 在Signac中,barcode存放在以下位置:
validBarcodes_list <- SeuratObj_ATAC@assays$ATAC@fragments %>% lapply(function(x){x@cells})
names(validBarcodes_list) <- names(fragment_files)
sapply(validBarcodes_list,length)
# 在当前路径下为每个fragment建.arrow文件
ArrowFiles <- c()
for(fragment_name in names(fragment_files)){
# fragment_name <- 'Control1'
fragment <- fragment_files[fragment_name]
print(fragment)
ArrowFile <- createArrowFiles(fragment ,validBarcodes = validBarcodes_list[[fragment_name]],
force = T, minTSS = 0,minFrags = 0, maxFrags = 1e+09)
ArrowFiles <- c(ArrowFiles,ArrowFile)
}
# 创建proj
proj <- ArchRProject(ArrowFiles,outputDirectory = ".", copyArrows = F,showLogo = F)
proj <- addIterativeLSI(proj,dimsToUse = 1:50,iterations = 3,force = T)
proj <- addClusters(proj,reducedDims = 'IterativeLSI')
proj <- addGroupCoverages(proj)
proj <- addReproduciblePeakSet(proj,pathToMacs2 = '/home/timo/anaconda3/bin/macs3')
proj <- addPeakMatrix(proj)
# 提取GeneScoreMatrix
GeneScoreMatrix <- getMatrixFromProject(proj,useMatrix = "GeneScoreMatrix")
ArchR_GA <- GeneScoreMatrix@assays@data@listData$GeneScoreMatrix
rownames(ArchR_GA) <- GeneScoreMatrix@elementMetadata@listData$name
colnames(ArchR_GA) <- colnames(GeneScoreMatrix)
代码库10-ArchR标准流程
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 运作效果 之前相关准备 Swift代码库之分页Sqlite部分代码与逻辑 Swift代码库之分页UI部分基础代码 ...
- 一、创建码云仓库: 仓库创建没什么好说的,创建时仓库名格式要求会有提示,照做就OK。 二、设置仓库公钥: 1、打开...
- 前言 Immugent在前一篇推文:SingCellaR:一站式研究细胞分化轨迹的功能调节的利器[https://...