hi,铁子们,继续我们多细胞去除的第三块内容,前面讲了R包doubleFinder去除多细胞,python模块去除多细胞,这次我们来介绍第三个去除多细胞的方法,R包DoubletDecon
这又是一个R包,看来R分析数据占上风啊
这次我们直接来看一下这个包的用法
一、Installation
if(!require(devtools)){
install.packages("devtools") # If not already installed
}
devtools::install_github('EDePasquale/DoubletDecon')
二、读入数据
如果是Seurat对象
Improved_Seurat_Pre_Process(seuratObject, num_genes=50, write_files=FALSE)
Seurat创建对象和细胞过滤这里就不多介绍了,大家可以自行查阅
不过我还是喜欢读入原始矩阵的方式
Main_Doublet_Decon(rawDataFile, groupsFile, filename, location,
fullDataFile = NULL, removeCC = FALSE, species = "mmu", rhop = 1,
write = TRUE, PMF = TRUE, useFull = FALSE, heatmap = TRUE, centroids=FALSE, num_doubs=100,
only50=FALSE, min_uniq=4)
参数
rawDataFile:表达矩阵(gene by cell)
groupsFile:包含组分配的文件名(3列:cell,组,组(数字或字符))
filename:唯一的文件名,输入文件的名字
location:应在其中存储输出的目录
fullDataFile:包含完整表达式数据的文件名(gene by cell)。默认值为NULL。
removeCC:通过KEGG富集去除细胞周期基因。默认值为FALSE。
物种:科学物种名称,KEGG ID,三个字母的物种缩写或NCBI ID。默认值为“ mmu”。
rhop:平均值x中的x * SD以确定黑名单中相关性的上限。默认值为1。
write:将输出文件写为.txt文件。默认值为TRUE。
recluster:recluster反卷积使用Hopach或反卷积分类分别对doublet和非doublet进行分类。
PMF:在双重确定标准中使用步骤3(独特的基因表达)。默认值为TRUE。
useFull:使用完整的基因列表进行PMF分析。需要fullDataFile。默认值为FALSE。
heatmap:是否生成热图的布尔值。默认值为TRUE。大于约3000个像元的数据集可能比较慢。
重心:在解卷积中,将重心用作参考,而不是默认重心。
num_doubs:用户定义的每对集群要生成的双峰数目。默认值为100。
only50:仅使用由50%/ 50%的父单元格混合创建的合成对偶,而不是30%/ 70%和70%/ 30%的扩展选项,默认为FALSE。
min_uniq:挽救群集所需的最小独特基因数,默认值为4。
来个简单的例子
#Seurat_Pre_Process()
expressionFile=paste0(location, "counts.txt")
genesFile=paste0(location, "Top50Genes.txt")
clustersFile=paste0(location, "Cluster.txt")
newFiles=Seurat_Pre_Process(expressionFile, genesFile, clustersFile)
#Improved_Seurat_Pre_Process()
seuratObject=readRDS("seurat.rds")
newFiles=Improved_Seurat_Pre_Process(seuratObject, num_genes=50, write_files=FALSE)
filename="PBMC_example"
write.table(newFiles$newExpressionFile, paste0(location, filename, "_expression"), sep="\t")
write.table(newFiles$newFullExpressionFile, paste0(location, filename, "_fullExpression"), sep="\t")
write.table(newFiles$newGroupsFile, paste0(location, filename , "_groups"), sep="\t", col.names = F)
results=Main_Doublet_Decon(rawDataFile=newFiles$newExpressionFile,
groupsFile=newFiles$newGroupsFile,
filename=filename,
location=location,
fullDataFile=NULL,
removeCC=FALSE,
species="hsa",
rhop=1.1,
write=TRUE,
PMF=TRUE,
useFull=FALSE,
heatmap=FALSE,
centroids=TRUE,
num_doubs=100,
only50=FALSE,
min_uniq=4)
将results写出来即可。
最后问大家一句,落花有意流水无情的爱恋,是否还应该继续?等待回答