scATAC联合scRNA之signac分析(六): 【番外视频教程】公共数据库只提供fragments文件情况的数据读取

学术   2025-01-01 09:05   黑龙江  

偷偷问一下,关注了吗

内容获取


1、购买打包合集(《KS科研分享与服务》付费内容打包集合),价格感人,可以加入微信VIP群(答疑交流群,甚至有小伙伴觉得群比代码更好),可以获取建号以来所有内容,群成员专享视频教程,提前更新,其他更多福利!


2、《KS科研分享与服务》公众号有QQ群,进入门槛是20元(完全是为了防止白嫖党,请理解),请考虑清楚。群里有免费推文的注释代码和示例数据(终身拥有),没有付费内容,群成员福利是购买单个付费内容半价!


需要者详情请联系作者(非需要者勿扰,处理太费时间):


前面我们signac分析的完整流程(scATAC联合scRNA之signac分析(五): 多样本scATAC合并分析-降维注释及可视化【视频教程】),可以看到,signac标准分析需要3种文件,但是有些时候,我们并没有或者很难获取,只有fragments.tsv.gz下游文件,当然用它进行ArchR分析流程没有什么问题,但是你依然想用Signac分析,如何构建数据,计算质控指标,就需要换个思路。数据读取计算质控指标后,就和前面一样继续分析!

完整代码如下:

#2024-12-11#Signac 1.14.0#======================================================================================#   Signac单细胞ATAC数据分析(番外)- 分析公共数据库只提供fragments.tsv.gz的情况#======================================================================================#这个番外对应的是如果你想分析公共数据库,但是又不想跑上游或者作者没有提供上游数据#只提供了cellranger-atac处理得到的fragments.tsv.gz,又想用Signac分析的情况#注意的是,fragments.tsv.gz和fragments.tsv.gz.tbi要同时存在
#假装我的数据只有fragments.tsv.gz和fragments.tsv.gz.tbi,我们进行signac分析及质控library(Signac)library(Seurat)library(ggplot2)library(dplyr)library(harmony)library(hdf5r)library(GenomeInfoDb)library(AnnotationHub)
#load data & create seurat objtotal_counts <- CountFragments('./SRR_HC/outs/fragments.tsv.gz')barcodes <- total_counts[total_counts$frequency_count > 500, ]$CBfrags <- CreateFragmentObject(path = './SRR_HC/outs/fragments.tsv.gz', cells = barcodes)peaks <- CallPeaks(frags, macs2.path = "/Users/aaa/Library/Python/3.9/bin/macs2")counts <- FeatureMatrix(fragments = frags, features = peaks, cells = barcodes)# Quantify fragments in each peak
HC.frag <- CreateChromatinAssay(counts = counts,sep = c(":", "-"), fragments = "./SRR_HC/outs/fragments.tsv.gz", min.cells = 10,min.features = 200)#create fragment objectsHC_atac <- CreateSeuratObject(counts = HC.frag,assay = "peaks",project = 'HC')#to seurat obj

#add genome annotation# ah <- AnnotationHub()# query(ah, "EnsDb.Hsapiens.v98")#Search for the Ensembl 98 EnsDb for Homo sapiens on AnnotationHub# ensdb_v98 <- ah[["AH75011"]]#这个版本的注释文件可以保存一下,如果后续其他数据分析还用得到的话# annotations <- GetGRangesFromEnsDb(ensdb = ensdb_v98)# seqlevels(annotations) <- paste0('chr', seqlevels(annotations))# genome(annotations) <- "hg38"# add the gene information to the objectHC_atac <- HC_atac[as.vector(seqnames(granges(HC_atac)) %in% standardChromosomes(granges(HC_atac))), ]Annotation(HC_atac) <- annotations

#Counting fraction of reads in peaksrownames(total_counts) <- total_counts$CBHC_atac$fragments <- total_counts[colnames(HC_atac), "frequency_count"]HC_atac <- FRiP(object = HC_atac,assay = 'peaks',total.fragments = 'fragments')HC_atac$FRiP <- HC_atac$FRiP *100
#Counting fragments in genome blacklist regionsHC_atac$blacklist_fraction <- FractionCountsInRegion( object = HC_atac, assay = 'peaks', regions = blacklist_hg38_unified)
#compute QC metricHC_atac <- NucleosomeSignal(object = HC_atac)HC_atac <- TSSEnrichment(object = HC_atac)

(本图为凑封面,作图参考前一篇帖子)

KS科研分享与服务
科研学习交流于分享,生信学习笔记,科研经历和生活!
 最新文章