简介

DEsingleR包是给谁的差异表达(DE)分析单细胞RNA-seq (scRNA-seq)数据.它将在scRNA-seq原始读取计数矩阵中检测两组细胞之间的差异表达基因。

DEsingle采用零膨胀负二项式模型进行差分表达式分析。通过估计真实零点和缺失零点的比例,它不仅可以检测到DE基因精度更高但也细分了三种不同调控和功能机制的差异表达

有关更多资料,请参阅手稿通过苗准,邓柯,王小武,张学功

引用

如果你使用DEsingle在已发表的研究中,请引用:

苗准,邓柯,王晓沃,张学功(2018)。DEsingle用于检测单细胞RNA-seq数据中的三种差异表达。生物信息学,bty332。10.1093 /生物信息学/ bty332。

安装

安装DEsingleBioconductor

if(!require(BiocManager)) install.packages("BiocManager")

安装发展版本GitHub

if(!require(devtools)) install.packages("devtools") devtools::install_github(" miaozhue /DEsingle", build_vignettes = TRUE)

加载已安装的DEsingleR:

库(DEsingle)

输入

DEsingle需要两个输入:计数而且集团

输入计数是scRNA-seq原始读计数矩阵或者一个SingleCellExperiment对象,该对象包含读计数矩阵。矩阵的行是基因,列是细胞。

另一个输入集团是一个因子向量,它指定了矩阵中要比较的两组,对应于中的列计数

测试数据

用户可以加载测试数据DEsingle通过

库(DEsingle)数据(TestData)

玩具数据计数TestData是一个scRNA-seq读取计数矩阵,它有200个基因(行)和150个细胞(列)。

dim(counts) #> [1] 200 150 counts[1:6, 1:6] #> E3.46.3383 E3.51.3425 E3.46.3388 E3.51.3423 E3.46.3382 E3.49.3407 #> BTG4 22 0 12 26 00 #> GABRB1 00 00 00 00 #> IL9 00 00 00 00 #> TAPBPL 20 51 0 2 #> KANK4 00 00 00 0 #> CPSF2 12 0 95 0 5 115

的对象集团TestData因子向量是否有两层且长度与列数相等计数

长度(组)#>[1]150摘要(组)#> 1 2 #> 50 100

使用

带读计数矩阵输入

下面是一个要运行的示例DEsingle带读计数矩阵输入:

#加载库和DEsingle库的测试数据(DEsingle)数据(TestData) #指定两个组进行比较#组1和组2的样本数分别为50和100组<- factor(c(rep(1,50), rep(2,100))) #检测DE基因结果<- DEsingle(counts = counts, group = group) #在FDR < 0.05结果阈值处将DE基因分为3类。分类<- DEtype(results = results, threshold = 0.05)

用singlecel实验输入

SingleCellExperiment类是一个广泛使用的S4类,用于存储单细胞基因组数据。DEsingle也可以采取SingleCellExperiment作为输入的数据表示。

下面是一个要运行的示例DEsingleSingleCellExperiment输入:

#加载库和测试数据为DEsingle库(DEsingle)库(singlecel实验)数据(TestData) #转换在DEsingle的测试数据为singlecel实验的数据表示sce <- singlecel实验(assays = list(counts = as.matrix(counts))) #指定两个组进行比较#在组1和组2的样本数分别为50和100组<-因子(c(代表(1,50),rep(2,100)) #用singlecel实验输入sce结果检测DE基因<- DEsingle(counts = sce, group = group) #在FDR结果< 0.05的阈值处将DE基因分为3类。分类<- DEtype(results = results, threshold = 0.05)

输出

DEtype细分的DE基因发现DEsingle分为三种类型:DEsDEa而且

  • DEs是指“不同的表情状态”.这类基因在两组中真实零的比例有显著差异,而在其他细胞中无显著差异。

  • DEa是为“差异表达丰度”,是指组间表达有显著差异,实零比例无显著差异的基因。

  • “一般微分表达式”指两组间实零比例和表达丰度均有显著差异的基因。

的输出DEtype为DE分析结果矩阵,行为基因,列为以下项目:

  • theta_1theta_2mu_1mu_2size_1size_2prob_1prob_2:组1和组2的零膨胀负二项分布参数的MLE。
  • total_mean_1total_mean_2:组1和组2读次数的平均值。
  • foldChange: total_mean_1 / total_mean_2。
  • norm_total_mean_1norm_total_mean_2:组1和组2归一化读次数的平均值。
  • norm_foldChange: norm_total_mean_1 / norm_total_mean_2。
  • chi2LR1: H0假设检验的卡方统计量。
  • pvalue_LR2: H20假设检验的P值(用于判断DE基因类型)。
  • pvalue_LR3: H30假设检验的P值(用于判断DE基因类型)。
  • FDR_LR2: Benjamini & Hochberg方法调整pvalue_LR2的P值(用于判断DE基因类型)。
  • FDR_LR3: Benjamini & Hochberg方法调整pvalue_LR3的P值(用于判断DE基因类型)。
  • pvalue: H0假设检验的P值(用于判断一个基因是否为DE基因)。
  • pvalue.adj.FDR: Benjamini & Hochberg方法调整H0的pvalue的P值(用于判断一个基因是否为DE基因)。
  • 备注:异常程序信息记录。
  • 类型: DE基因类型。DEs表示差异表达式状态;DEa表示差异表达丰度;表示一般微分表达式。
  • 状态: DE基因状态,向上代表上调;下来代表下调。

从输出中提取有显著差异表达的基因DEtype请注意,在此步骤中应该使用与中的相同的FDR阈值DEtype):

#在FDR < 0.05阈值处提取DE基因results.sig <- results.classified[results.classified$pvalue.adj. adj.]FDR < 0.05,]

进一步分别提取三种DE基因:

#分别提取三种类型的DE基因结果。DEs<- results.sig[results.sig$Type == "DEs", ] results.DEa <- results.sig[results.sig$Type == "DEa", ] results.DEg <- results.sig[results.sig$Type == "DEg", ]

并行化

DEsingle集成并行计算功能BiocParallel包中。用户可以设置平行= TRUE在功能上DEsingle来启用并行化并保留BPPARAM参数。

#加载库库(DEsingle) #检测并行化结果中的DE基因<- DEsingle(counts = counts, group = group, parallel = TRUE)

高级用户可以使用BiocParallelParam对象。BiocParallel填写BPPARAM参数指定要使用的并行后端及其配置参数。

适合Unix和Mac用户

Unix和Mac用户的最佳选择是使用MulticoreParam配置多核并行后端:

#加载库库(DEsingle)库库(BiocParallel) #设置参数并注册要使用的后端param <- multicoream (workers = 18, progressbar = TRUE) register(param) #用18核结果并行检测DE基因<- DEsingle(counts = counts, group = group, parallel = TRUE, BPPARAM = param)

Windows用户

Windows用户请使用SnowParam配置Snow后端是一个很好的选择:

#加载库库(DEsingle)库库(BiocParallel) #设置参数并注册要使用的后端param <- SnowParam(workers = 8, type = "SOCK", progressbar = TRUE) register(param) #用8核结果并行检测DE基因<- DEsingle(counts = counts, group = group, parallel = TRUE, BPPARAM = param)

看到参考手册BiocParallel软件包获取更多详细信息BiocParallelParam类。

结果可视化

用户可以使用热图()函数统计数据heatmap.2函数gplots来绘制DEsingle发现的DE基因的热图,就像我们在图S3中所做的那样手稿

结果解释

对于结果的解释时DEsingle应用于实际数据,请参考人类胚胎细胞E3和E4之间的三种DE基因部分在补充材料我们的手稿

帮助

使用browseVignettes(“DEsingle”)看到的小插曲DEsingle安装后在R中。

使用R中的以下代码访问的帮助文档DEsingle

# DEsingle文档
# DEtype的文档
# TestData ?TestData ?counts ?组文档

也欢迎你浏览和张贴DEsingle带标签的问题DEsingle的Bioconductor支持站点或通过电子邮件联系作者寻求帮助。

作者

逸苗<>

教育部生物信息学重点实验室;TNLIST生物信息学处和合成与系统生物学中心;清华大学自动化系,北京100084

会话信息

sessionInfo() #> R version 4.2.2(2022-10-31) #>平台:x86_64-pc-linux-gnu (64-bit) #>运行在:Ubuntu 20.04.5 LTS #> #>矩阵产品:默认#> BLAS: /home/biocbuild/bbs-3.16-bioc/R/lib/libRblas。所以#> LAPACK: /home/biocbuild/bbs-3.16-bio /R/lib/libRlapack。so #> #> locale: #> [1] LC_CTYPE=en_US。UTF-8 LC_NUMERIC= c# > [3] LC_TIME=en_GB LC_COLLATE= c# > [5] LC_MONETARY=en_US。utf - 8 LC_MESSAGES = en_US。UTF-8 #> [7] LC_PAPER=en_US。UTF-8 LC_NAME= c# > [9] LC_ADDRESS=C LC_TELEPHONE= c# > [11] LC_MEASUREMENT=en_US。UTF-8 LC_IDENTIFICATION= c# > #>附加基础包:#> [1]stats graphics grDevices utils datasets methods base #> #>其他附加包:#> [1]DEsingle_1.18.1 #> #>通过命名空间加载(且未附加):#> [1] bslib_0.4.2 compiler_4.2.2 jquerylib_0.1.4 #> [31] r66.2 #> [7] digest_0.6.31 nlme_1 -161 jsonlite_1.8.4 #> [10] evaluate_0.19 lifecycle_1.0.3 lattice_0.20-45 #> [13] rlang_1.0.6 Matrix_1.5-3 cli_3.6.0 #> [16] maxLik_1.5-2 yaml_2.3.6 parallel_2.2 #> [19] mvtnorm_1.1-3 xfun_0.36 fastmap_1.1.0 #> [22] gamlls .data_6.0-2 stringr_1.5.0 knitr_1.41 #> [25] generics_0.1.3 vctrs_0.5.1 sass_1.6.2 #> [31] R6_2.5.1bdsmatrix_1.3-6 survival_1 .5-0 #> [34] BiocParallel_1.32.5 VGAM_1.1-7 rmarkdown_2.19 #> [37] magrittr_2.0.3 codetools_0.2-18 gamlss_5.4-10 #> [40] htmltools_0.5.4 MASS_7.3-58.1 splines_4.2.2 #> [43] bbmle_1.0.25 num衍生_2016.8-1.1 sandwich_3. 3 #> [46] stringi_1.7.8 pscl_1.5.5 cachem_1.0.6 #> [49] zoo_1.8-11