在这个小插图中,我们演示的使用BioQC通过对小鼠肾脏样本进行基因表达分析的案例研究。BioQC结果提示胰腺污染可能导致组织异质性,qRT-PCR实验证实了这一点。
让我们首先使用加载BioQC签名readGmt
:
图书馆(BioQC)gmtFile < -执行(“extdata / exp.tissuemark.affy.roche.symbols.gmt”,包=“BioQC”)格林尼治时间< -readGmt(gmtFile)
这个小插图的示例数据作为BioQC包的一部分提供。或者,可以在GitHub库.表达式数据存储在ExpressionSet.
数据集包含25个样本中34719个基因的表达。表达谱采用RMA归一化。这些信号也是log2
转换;但是,此步骤不影响的结果BioQC因为它本质上是非参数统计检验。
的核心函数BioQC包,wmwTest
,进行分析。
##用户系统运行## 0.759 0.072 0.831
函数返回片面的\ (p \)- Wilcoxon-Mann-Whitney检验的值。
为了更好的可视化,我们*过滤p值矩阵(合理的截断取决于实际数据集和预期的签名);*转换p值使用\ (| \ log_ p {10} | \).我们把这些转换后的值称为BioQC得分.
我们通过将BioQC分数可视化为Heatmap来检查它们。通过仔细检查,我们发现在样本23-25中胰腺和脂肪特异性基因的表达显著富集:
图书馆(RColorBrewer)的热图(bioqcAbsLogResColv =NA,Rowv =真正的,cexRow =0.85,规模=“行”,坳=牧师(brewer.pal(7,“RdBu”)),labCol =1:ncol(bioqcAbsLogRes))
目测显示样品23-25中可能有污染,可能是胰腺和脂肪组织。
filRes < -bioqcAbsLogRes [c(“Kidney_NGS_RNASEQATLAS_0.6_3”,“Pancreas_Islets_NR_0.7_3”),)matplot(t(filRes),pch =c(“K”,“P”),类型=“b”,lty =1 l,ylab =“BioQC分数”,xlab =“样本指数”)
以证实所产生的假设BioQC,我们进行了qRT-PCR实验,检测了同一组样本中两个胰腺特异性基因的表达。请注意,这两个基因(淀粉酶和弹性酶)不包括在BioQC提供的签名集中。
结果如下图所示。似乎23-25号样本在肾脏解剖时被附近的胰腺组织污染了。脂肪组织的潜在污染仍有待测试。
淀粉酶< -eset$淀粉酶弹性蛋白酶< -eset$弹性蛋白酶pancreasScore < -bioqcAbsLogRes [“Pancreas_Islets_NR_0.7_3”,)票面价值(mfrow =c(1,2),3月=c(3.,3.,1,1),mgp =c(2,1,0))情节(淀粉酶~pancreasScore,日志=“y”,pch =21,bg =“红色”,xlab =“BioQC胰腺评分”,ylab =“淀粉酶”)文本(pancreasScore [23:25)、淀粉酶(23:25],23:25,pos =1)情节(弹性蛋白酶~pancreasScore,日志=“y”,pch =21,bg =“红色”,xlab =“BioQC胰腺评分”,ylab =“弹性蛋白酶”)文本(pancreasScore [23:25),弹性蛋白酶(23:25],23:25,pos =1)
在这项研究中,四只小鼠的FVB /新泽西菌株行肾切除术,血管紧张素受体拮抗剂氯沙坦治疗,4只小鼠接受假手术和氯沙坦治疗。在肾切除术+氯沙坦组中,一个样本(指数24)可能被胰腺污染。假设现在我们对不同条件下的基因表达差异感兴趣。我们现在运行两次分析,一次有污染样品,一次没有污染样品,以研究去除检测到的异质样品的影响BioQC.
isNeph < -与(pData(eset)压力= =“FVB / NJ”&TREATMENTNAME%, %c(“Nephrectomy-Losartan”,“Sham-Losartan”))isContam < -与(pData(eset) INDIVIDUALNAME%, %c(“BN7”,“FNL8”,“FN6”))esetNephContam < -eset [, isNeph]esetNephExclContam < -eset [, isNeph&!isContam]getDEG < -函数(eset) {组< -因素(eset$TREATMENTNAME,水平=c(“Sham-Losartan”,“Nephrectomy-Losartan”))设计< -model.matrix(~集团)colnames(设计)< - - - - - -c(“ShamLo”,“NephLo”)对比< -makeContrasts(对比=“NephLo”,水平=设计)exprs(eset) < -normalizeBetweenArrays(log2(exprs(eset)))符合< -lmFit(eset设计=设计)符合< -contrasts.fit(健康,对比)符合< -易趣(适合)tt < -topTable(健康,n =nrow(eset))返回(tt)}esetNephContam。topTable < -getDEG(esetNephContam)esetNephExclContam。topTable < -getDEG(esetNephExclContam)esetFeats < -featureNames(eset)esetNephTbl < -data.frame(特点=esetFeats,OrigGeneSymbol =esetNephContam.topTable (esetFeats,)$OrigGeneSymbol,GeneSymbol =esetNephContam.topTable (esetFeats,)$GeneSymbol,Contam.logFC =esetNephContam.topTable (esetFeats,)$logFC,ExclContam.logFC =esetNephExclContam.topTable (esetFeats,)$logFC)票面价值(mfrow =c(1,1),3月=c(3.,3.,1,1)+0.5,mgp =c(2,1,0))与(esetNephTblsmoothScatter(Contam.logFC~ExclContam.logFC,xlab =“不包括一个污染样品[logFC]”,ylab =“包括一个污染样本[logFC]”))abline(0,1)isDiff < -与(esetNephTbl腹肌(Contam.logFC-ExclContam.logFC)> =2)与(esetNephTbl点(Contam.logFC [isDiff]~ExclContam.logFC [isDiff],pch =16,坳=“红色”))
diffTable < -esetNephTbl (isDiff,)diffGenes < -独特的(diffTable [,“GeneSymbol”])pancreasSignature < -[[格林尼治时间“Pancreas_Islets_NR_0.7_3”]]$基因diffGenesPancreas < -diffGenes%, %pancreasSignaturediffTable$isPancreasSignature < -diffTable$GeneSymbol%, %pancreasSignaturecolnames(diffTable) < -c(“Probeset”,“GeneSymbol”,“人类直接同源”,“Log2FC”,Log2FC(不包括contam.),“IsPancreasSignature”)diffTable < -diffTable [订单(diffTable$Log2FC,减少=真正的),)
我们发现,如果不排除受污染的样本,代表17个基因的22个探针与更强的表达变化相关(下表)。毫不奇怪,几乎所有这些基因都在正常的人类胰腺组织中高度表达,其中13个基因属于糖尿病患者使用的胰腺特征BioQC.
总之,我们观察到,组织异质性会影响下游分析结果,如果继续忽视它,则会对基因表达数据的可重复性产生负面影响。它再次强调了应用的价值BioQC作为一线质量控制工具。
## R版本4.2.1(2022-06-23)##平台:x86_64-pc-linux-gnu(64位)##运行在Ubuntu 20.04.5 LTS ## ##矩阵产品:默认## BLAS: /home/biocbuild/bbs-3.16-bioc/R/lib/libRblas。/home/biocbuild/bbs-3.16-bioc/R/lib/libRlapack。所以## ## 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_phone = c# # [11] LC_MEASUREMENT=en_US。UTF-8 LC_IDENTIFICATION=C ## ##附加的基础包:## [1]stats graphics grDevices utils datasets methods基础## ##其他附加包:## [1]limma_3.54.0 RColorBrewer_1.1-3 BioQC_1.26.0 ## [4] Biobase_2.58.0 BiocGenerics_0.44.0 knitr_1.40 ## ##通过命名空间加载(并且未附加):## [1] Rcpp_1.0.9 magrittr_2.0.3 edgeR_3.40.0 lattice_0.20-45 ## [5] R6_2.5.1 rlang_1.0.6 fastmap_1.1.0 highr_0.9 ## [9] string_1 .4.1 tools_4.2.1 grid_4.2.1 xfun_0.34 ## [13] KernSmooth_2.23-20 cli_3.4.1 jquerylib_0.1.4 htmltools_0.5.3 ## [17] yaml_2.3.6 digest_0.6.30 sass_0.4.2 cachem_1.0.6 ## [21] evaluate_0.17 rmarkdown_2.17 stringi_1.7.8 compiler_4.2.1 ## [25] bslib_0.4.0 locfit_1.5-9.6 jsonlite_1.8.3