DEsingle
R包是给谁的差异表达(DE)分析单细胞RNA-seq (scRNA-seq)数据.它将在scRNA-seq原始读取计数矩阵中检测两组细胞之间的差异表达基因。
DEsingle
采用零膨胀负二项式模型进行差分表达式分析。通过估计真实零点和缺失零点的比例,它不仅可以检测到DE基因精度更高但也细分了三种不同调控和功能机制的差异表达.
有关更多资料,请参阅手稿通过苗准,邓柯,王小武,张学功.
如果你使用DEsingle
在已发表的研究中,请引用:
苗准,邓柯,王晓沃,张学功(2018)。DEsingle用于检测单细胞RNA-seq数据中的三种差异表达。生物信息学,bty332。10.1093 /生物信息学/ bty332。
安装DEsingle
从Bioconductor:
if(!require(BiocManager)) install.packages("BiocManager")
安装发展版本从GitHub:
if(!require(devtools)) install.packages("devtools") devtools::install_github(" miaozhue /DEsingle", build_vignettes = TRUE)
加载已安装的DEsingle
R:
库(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)
的SingleCellExperiment
类是一个广泛使用的S4类,用于存储单细胞基因组数据。DEsingle
也可以采取SingleCellExperiment
作为输入的数据表示。
下面是一个要运行的示例DEsingle
与SingleCellExperiment
输入:
#加载库和测试数据为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
分为三种类型:DEs
,DEa
而且度
.
DEs
是指“不同的表情状态”.这类基因在两组中真实零的比例有显著差异,而在其他细胞中无显著差异。
DEa
是为“差异表达丰度”,是指组间表达有显著差异,实零比例无显著差异的基因。
度
或“一般微分表达式”指两组间实零比例和表达丰度均有显著差异的基因。
的输出DEtype
为DE分析结果矩阵,行为基因,列为以下项目:
theta_1
,theta_2
,mu_1
,mu_2
,size_1
,size_2
,prob_1
,prob_2
:组1和组2的零膨胀负二项分布参数的MLE。total_mean_1
,total_mean_2
:组1和组2读次数的平均值。foldChange
: total_mean_1 / total_mean_2。norm_total_mean_1
,norm_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用户的最佳选择是使用MulticoreParam
配置多核并行后端:
#加载库库(DEsingle)库库(BiocParallel) #设置参数并注册要使用的后端param <- multicoream (workers = 18, progressbar = TRUE) register(param) #用18核结果并行检测DE基因<- DEsingle(counts = counts, group = group, parallel = TRUE, BPPARAM = param)
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中所做的那样手稿.
使用browseVignettes(“DEsingle”)
看到的小插曲DEsingle
安装后在R中。
使用R中的以下代码访问的帮助文档DEsingle
:
# DEsingle文档
# DEtype的文档
# TestData ?TestData ?counts ?组文档
也欢迎你浏览和张贴DEsingle带标签的问题DEsingle的Bioconductor支持站点或通过电子邮件联系作者寻求帮助。
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