nExp_poi<-round(DoubletRate*nrow(scRNA@meta.data))# 使用同源双细胞比例对推算出期望的异源双细胞数量nExp_poi.adj <- round(nExp_poi*(1-homotypic.prop))##使用DoubletFinder算法来检测和去除单细胞数据中的异源双细胞。doubletFinder_v3函数会对单细胞对象scRNA进行双细胞检测和鉴定。这个函数有以下参数:...
sct:表示是否使用了SCTransform方法进行标准化。 scRNA <- doubletFinder_v3(scRNA, PCs = 1:15, pN = 0.25, pK = pK_bcmvn, nExp = nExp_poi.adj, reuse.pANN = F, sct = T) ## 运行结果储存在scRNA@meta.data中 #可视化如图 #将双细胞剔除后生成新的对象scRNA.singlet,便于我们后续分析 scRNA....
DoubletRate=0.039#5000细胞对应的doublets rate是3.9%homotypic.prop<-modelHomotypic(pbmc$seurat_clusters)# 最好提供celltype nExp_poi<-round(DoubletRate*ncol(pbmc))nExp_poi.adj<-round(nExp_poi*(1-homotypic.prop))## 使用确定好的参数鉴定doublets pbmc<-doubletFinder_v3(pbmc,PCs=pc.num,pN=0.25...
(4)根据期望的双元数量排序和阈值pANN值。 软件包安装 软件包安装很简单,github模式安装即可: ## 载入需要的程辑包:DoubletFinder if(!require(DoubletFinder)) remotes::install_github('chris-mcginnis-ucsf/DoubletFinder') 数据读取 这里我们使用 pbmc3k 的数据集来做例子,完成整个分析过程,这里我们需要调用 ...
pbmc <- doubletFinder_v3(pbmc, PCs= 1:10, pN = 0.25, pK = pK_bcmvn, nExp = nExp_poi.adj, reuse.pANN = F, sct = F) 主要参数如下所述: http://events.jianshu.io/p/6770c6a05287 从下面的结果,可以看出预测完之后,亏有pANN和DF.classifications两个量。
(假设双细胞形成率为 7.5%)nExp_poi<-round(0.075*nrow(scRNA_harmony@meta.data))nExp_poi.adj<-round(nExp_poi*(1-homotypic.prop))# 计算异源双细胞数量# 使用确定好的参数鉴定doubletsscRNA_harmony<-doubletFinder_v3(scRNA_harmony,PCs=1:20,pN=0.25,pK=pK_bcmvn,nExp=nExp_poi.adj,reuse.pANN...
doubletFinder_v3函数会对单细胞对象scRNA进行双细胞检测和鉴定。这个函数有以下参数:PCs:表示要使用的主成分数量,这里是1到15。pN:表示每个细胞被合并成人工异源双细胞的概率,这里是0.25。pK:表示每个细胞的最近邻居数量,这里使用之前计算出来的最优值。n
安装: devtools::install_github('chris-mcginnis-ucsf/DoubletFinder') 2.1 寻找最优pK值 library(DoubletFinder)#这是一个测试最佳参数的过程,运行速度慢sweep.res.list<-paramSweep_v3(scRNA,PCs=1:pcSelect,sct=F)#使用log标准化,sct参数设置为 sct = F(默认 ),如使用SCT标准化方法,设置为Tsweep.stats...
nExp_poi.adj<-round(nExp_poi*(1-homotypic.prop))## Run DoubletFinder with varying classification stringencies---data<-doubletFinder_v3(data,PCs=1:30,pN=0.25,pK=0.09,nExp=nExp_poi,reuse.pANN=FALSE,sct=FALSE)## save results dataL[[idx]]$doubFind_res=data@meta.data%>%select(contain...
>sweep.list<-paramSweep_v3(plaque_harmony,PCs=1:min.pc,num.cores=detectCores()-1)ErrorinparamSweep_v3(plaque_harmony,PCs=1:min.pc,num.cores=detectCores()-:couldnotfind function"paramSweep_v3">sweep.list<-paramSweep(plaque_harmony,PCs=1:min.pc,num.cores=detectCores()-1)Errorinseu@assays...