昆仑山

首页 » 问答 » 问答 » 单细胞交响乐实战十一Smartse
TUhjnbcbe - 2020/10/12 15:21:00

今天是生信星球陪你的第天

大神一句话,菜鸟跑半年。我不是大神,但我可以缩短你走弯路的半年~

就像歌儿唱的那样,如果你不知道该往哪儿走,就留在这学点生信好不好~

这里有豆豆和花花的学习历程,从新手到进阶,生信路上有你有我!

豆豆写于.7.21我给它取名叫“单细胞交响乐”因为单细胞分析就像一个大乐团,需要各个流程的协同配合

1前言

前面的种种都是作为知识储备,但是不实战还是记不住前面的知识这是第十一个实战练习

数据来自(Nestorowaetal.)的小鼠造血干细胞haematopoieticstemcell(HSC),使用的技术是Smart-seq2

准备数据library(scRNAseq)sce.nest-NestorowaHSCData()sce.nest#class:SingleCellExperiment#dim:#metadata(0):#assays(1):counts#rownames():ENSMUSG#ENSMUSG...ENSMUSG#ENSMUSG#rowDatanames(0):#colnames():HSPC_HSPC_...Prog_#Prog_#colDatanames(2):cell.typeFACS#reducedDimNames(1):diffusion#altExpNames(1):ERCCcounts(sce.nest)[1:3,1:3]#3x3sparseMatrixofclass"dgCMatrix"#HSPC_HSPC_HSPC_#ENSMUSG.71#ENSMUSG...#ENSMUSG12

看到使用了ERCC、EnsemblID

ID转换library(AnnotationHub)ens.mm.v97-AnnotationHub()[["AH"]]anno-select(ens.mm.v97,keys=rownames(sce.nest),keytype="GENEID",columns=c("SYMBOL","SEQNAME"))#这里全部对应sum(is.na(anno$SYMBOL))[1]0sum(is.na(anno$SEQNAME))[1]0#接下来只需要匹配顺序即可rowData(sce.nest)-anno[match(rownames(sce.nest),anno$GENEID),]sce.nest#class:SingleCellExperiment#dim:#metadata(0):#assays(1):counts#rownames():ENSMUSG#ENSMUSG...ENSMUSG#ENSMUSG#rowDatanames(3):GENEIDSYMBOLSEQNAME#colnames():HSPC_HSPC_...Prog_#Prog_#colDatanames(2):cell.typeFACS#reducedDimNames(1):diffusion#altExpNames(1):ERCC2质控依然是备份一下,把unfiltered数据主要用在质控的探索上unfiltered-sce.nest

这里没有线粒体基因,因此只能用ERCC计算过滤条件

library(scater)stats-perCellQCMetrics(sce.nest)qc-quickPerCellQC(stats,percent_subsets="altexps_ERCC_percent")sce.nest-sce.nest[,!qc$discard]#看下过滤的细胞colSums(as.matrix(qc))#low_lib_sizelow_n_features##high_altexps_ERCC_percentdiscard#

做个图

colData(unfiltered)-cbind(colData(unfiltered),stats)unfiltered$discard-qc$discardgridExtra::grid.arrange(plotColData(unfiltered,y="sum",colour_by="discard")+scale_y_log10()+ggtitle("Totalcount"),plotColData(unfiltered,y="detected",colour_by="discard")+scale_y_log10()+ggtitle("Detectedfeatures"),plotColData(unfiltered,y="altexps_ERCC_percent",colour_by="discard")+ggtitle("ERCCpercent"),ncol=2)最后对数据进行过滤sce.nest-sce.nest[,!qc$discard]#过滤前后dim(unfiltered);dim(sce.nest)[1][1]16563归一化library(scran)set.seed()clusters-quickCluster(sce.nest)sce.nest-
1
查看完整版本: 单细胞交响乐实战十一Smartse