1简介

质量控制(QC)是任何分析过程中必不可少的一步。质量差的数据最多只能导致缺乏积极的结果,更糟糕的是,由于未被发现的错误和嘈杂的数据,以及在追逐红鲱鱼方面浪费的大量资源,导致假阳性。

质量通常是一个相对的概念,它取决于生物样品的性质、实验设置、分析过程和其他因素。在QC领域的研究和发展通常导致两种类型的工作被传播。首先,对不同质量的样本进行比较,并确定与数据质量相关的指标。在以后的实验中,这些质量指标可以用来评估它们的质量。其次,设计特定领域的软件以促进各种QC指标的收集、可视化和解释也是一个已经有了很大发展的领域。质量控制是标准化和自动化带来巨大好处的一个主要例子。虽然在现代生物学中常用的任何分析中都描述了各种各样的QC指标、软件和管道,但我们在这里提出了一种不同的QC工具,其主要特点是灵活性和多功能性。的qcmetricspackage是一个通用的QC框架,可以容纳任何类型的数据。它提供了一个灵活的框架来实现使用特定的可视化机制存储相关QC指标的QC项。这些单独的项目可以捆绑到更高级别的QC容器中,可以很容易地用于生成各种格式的报告。因此,从零开始开发完整的自定义管道并自动生成报告变得很容易。管道可以很容易地更新,以适应更好的可视化技术的新的QC项目。

部分2提供框架的概述。节3.,我们使用蛋白质组学数据(分段3.2),演示如何详细阐述QC管道:如何创建单独的QC对象,如何将它们绑定以创建一组QC指标,以及如何以多种格式生成报告。我们还将展示如何通过简单的包装器函数实现上述步骤的完全自动化。尽管为了时间和空间的利益而保持简单,这些例子是有意义的和相关的。节4,我们将提供更多有关报告生成过程、如何自定义报告以及如何提供新导出的详细信息。我们将分节进行4.3介绍了用R巩固QC管道,并详细阐述了用R开发专用QC包qcmetrics

2QC类

该包提供了两种类型的QC容器。的QcMetric类存储单个指标的数据和可视化函数。可以将几个这样的指标捆绑在一起QcMetrics实例,可以用作自动生成报告的输入。下面,我们将简要介绍如何创建各自的QcMetric而且QcMetrics实例。详细信息请参见相应的文档。

2.1QcMetric

质量控制度量由以下描述组成(的名字在下面的代码块),一些QC数据(qcdata)和a状态这定义了度量是否被认为具有可接受的质量(编码为真正的),质量差(编码为)或尚未计算(编码为NA).单个指标可以显示为简短的文本摘要或绘制。要实现前者,可以使用默认值显示方法。

library("qcmetrics") qc <- QcMetric(name = "A test metric") qcdata(qc, "x") <- rnorm(100) qcdata(qc) ##所有可用的qcdata
##[1]“x”
Summary (qcdata(qc, "x")) ##获取x
最小第一曲,中位数,平均第三曲,最大值。## -2.2147 -0.4942 0.1139 0.1089 0.6915 2.4016
显示(qc) ##或只显示qc
## QcMetric类的对象##名称:测试度量##状态:NA ##数据:x
status(qc) <- TRUE qc
## QcMetric类的对象##名称:测试度量##状态:TRUE ##数据:x

策划QcMetric实例需要实现与手头数据相关的绘图方法。我们可以用情节替换方法来定义自定义函数。中的代码情节使用qcdata提取相关QC数据对象然后作为参数传递给情节并使用足够的可视化来呈现QC数据。

情节(qc)
## x@plot(x,…)中的警告:没有定义特定的绘图函数
Plot (qc) <- function(对象,…)Boxplot (qcdata(对象,"x"),…)

2.2QcMetrics

一个QcMetrics对象本质上只是单个实例的列表。也可以设置一个元数据变量列表来描述QC度量的来源。元数据可以作为QcMetadata对象的存储方式QcMetrics实例)或直接作为命名的列表.的QcMetadata本身就是列表并可以访问和设置元数据mdata.访问时,它将返回并显示为列表

qcm <- QcMetrics(qcdata = list(qc)
类“QcMetrics”的对象,包含1个QC指标。##和没有元数据变量。
元数据(qcm) <- list(author = " professor - Who", lab = "Big lab") qcm
类“QcMetrics”的对象,包含1个QC指标。##和两个元数据变量。
mdata(药物)
# # $ # #作者[1]“教授”# # # # # # $实验室[1]“大实验室”

元数据可以在同一接口下更新。如果传递了新的命名项,则通过添加新元素来更新元数据。如果已存在命名项,则更新其值。

metadata(qcm) <- list(author = " professor - Who", lab = "Cabin lab", University = " University -ity") mdata(qcm)
# # $ # #作者[1]“教授”# # # # # # $实验室[1]“机舱实验室”# # # # # #大学美元[1]“Universe-ity”

QcMetrics然后可以传递到qcReport方法生成报告,如下面的详细信息所述。

3.创建QC管道

3.1微阵列退化

Microarray降级部分已被删除,因为它所依赖的软件包已弃用。

3.2蛋白质组学原始数据

为了说明蛋白质组学数据的简单QC分析,我们将下载数据集PXD00001mzXML格式的ProteomeXchange存储库(Pedrioli等2004).从质谱运行的MS2光谱然后读入Rand存储为MSnExp使用readMSData函数从MSnbase(Gatto and Lilley 2012)

library("RforProteomics") msfile <- getPXD000001mzXML() library("MSnbase") exp <- readMSData(msfile, verbose = FALSE)

为了节省时间,这个代码块已经被预先计算,并且是子集(1 / 3)经验值实例随包一起分发。加载数据

负载(执行(“extdata /经验。Rda ", package = "qcmetrics"))

QcMetrics将包括3个项目,即用MS2光谱前体强度构建的色谱图、说明MS空间中前体电荷的图和说明MS2光谱用于识别的适用性的m/z δ图(见plotMzDelta ?(Foster et al. 2011)).

qc1 <- QcMetric(name ="色谱图")x <- rtime(exp) y <- precursorIntensity(exp) o <- order(x) qcdata(qc1, "x") <- x[o] qcdata(qc1, "y") <- y[o] plot(qcdata(object, "x"), qcdata(object, "y"), col ="深灰色",type ="l", xlab ="保留时间",ylab ="前体强度")
qc2 <- QcMetric(name = "MS space") qcdata(qc2, "p2d") <- plot2d(exp, z = "charge", plot = FALSE) plot(qc2) <- function(object) {require("ggplot2") print(qcdata(object, "p2d"))}
qc3 <- QcMetric(name = "m/z delta plot") qcdata(qc3, "pmz") <- plotMzDelta(exp, plot = FALSE, verbose = FALSE) plot(qc3) <- function(对象)suppressWarnings(print(qcdata(对象,"pmz")))

请注意,我们不会将原始数据存储在上述任何实例中,而是始终预先计算必要的数据或图,然后将其存储为qcdata.如果原始数据需要在多个QcMetric实例,我们可以重用相同的实例qcdata环境避免不必要的拷贝使用Qcdata (qc2) <- qcenv(qc1)并通过自定义实现不同的视图情节方法。

现在让我们把这三项合并成aQcMetrics对象中的MIAPE信息,用自定义元数据装饰它MSnExp对象并生成报告。

protqcm <- QcMetrics(qcdata = list(qc1, qc2, qc3)) metadata(protqcm) <- list(data = "PXD000001", instrument = experimentData(exp)@instrumentModel, source = experimentData(exp)@ionSource, analyser = experimentData(exp)@analyser, detector = experimentData(exp)@detectorType, manufacurer = experimentData(exp)@instrumentManufacturer)

汇总表的状态列为空,因为我们还没有设置QC项的状态。

qcReport(protqcm, reportname = "protqc")
蛋白质组学QC报告

图1:蛋白质组学QC报告

完整的pdf报告可在以下网址下载:

browseURL (example_reports(“protqc”))

3.3处理N15标签数据

在本节中,我们将描述一组N15代谢标记QC指标(Krijgsveld et al. 2003).数据是磷富集N15标记拟南芥样品按(格林等,2013).数据是用内部工具处理的,可作为MSnSet实例。简单地说,用Mascot引擎搜索MS2光谱,用Mascot Percolator调整识别分数。然后在调查扫描中搜索重和轻对,并根据肽序列和重对成员的同位素包膜来估计N15的结合公司特征变量)。最后整合重肽和轻肽同位素包络区,得到未标记和N15定量数据。的psmobject为psm(肽谱匹配)提供后验误差概率< 0.05的数据,可以唯一地与蛋白质匹配。

我们首先载入MSnbase软件包(支持MSnSet的数据结构)和示例数据qcmetrics包中。我们将利用ggplot2策划方案。

library("ggplot2") library("MSnbase") data(n15psm) psm
## MSnSet (storageMode: lockedEnvironment) ## assayData: 1772个特征,2个样本##元素名称:exprs ##协议数据:无##表型数据:无## featureData ## featureNames: 3 5…4499 (1772 total) ## fvarLabels: Protein_Accession Protein_Description…inc (21 total) ## fvarMetadata: labelDescription ## experimentData: use 'experimentData(object)' ## pubMedIds: 23681576 ##注释:## - - - -处理信息- - - - ##子集[22540,2][1999,2]Tue Sep 17 01:34:09 2013 ##删除超过0个NAs的特性:Tue Sep 17 01:34:09 2013 ##删除featureData的级别Tue Sep 17 01:34:09 2013 ## MSnbase版本:1.9.7

第一个QC项目检查N15掺入率,可在公司特征变量。我们还定义了一个中值合并率阈值tr等于97.5,用于设置QC状态。

##纳入率QC度量qcinc <- QcMetric(name = "15N纳入率")qcdata(qcinc, "inc") <- fData(psm)$inc qcdata(qcinc, "tr") <- 97.5 status(qcinc) <- median(qcdata(qcinc, "inc")) > qcdata(qcinc, "tr")

接下来,我们实现一个自定义显示方法,该方法打印变量分布的5个汇总值。

show(qcinc) <- function(object) {qcshow(object, qcdata = FALSE) cat(" QC阈值:",qcdata(object, "tr"), "\n") cat("并入率\n") print(summary(qcdata(object, "inc")) invisible(NULL)}

然后我们定义度规情节函数,表示PSM的合并率的分布为箱线图,显示所有的个别率为抖动点,并表示tr阈值用红色虚线表示。

plot(qcinc) <- function(object) {inc <- qcdata(object, "inc") tr <- qcdata(object, "tr") lab <- "纳入率" dd <- data.frame(inc = qcdata(qcinc, "inc")) p <- ggplot(dd, aes(factor("" "), inc))) + geom_jitter(color = "#4582B370", size = 3) + geom_boxplot(fill = "#FFFFFFD0", color = "#000000",异常值。size = 0) + geom_hline(yintercept = tr, color = "red", linetype = "虚线",size = 1) +实验室(x = "", y = "掺入率")p}

高质量的N15实验的特点是掺入率高,这允许反褶积重和轻肽同位素包络和准确定量。

第二个指标检查psm的log2折叠变化,独特的修饰肽,独特的肽序列(不考虑修饰)和蛋白质。计算这些各自的数据集combineFeatures函数(见combineFeatures ?详情)。

fData(psm)$modseq <- ## pep seq + PTM paste(fData(psm)$Peptide_Sequence, fData(psm)$ variable_modification, sep = "+") pep <- combineFeatures(psm, as.character(fData(psm)$Peptide_Sequence), "median", verbose = FALSE) modpep <- combineFeatures(psm, fData(psm)$modseq, "median", verbose = FALSE) prot <- combineFeatures(psm, as.character(fData(psm)$Protein_Accession), "median", verbose = FALSE)

然后计算所有特征的log2折叠变化,并存储为我们下一个QC项目的QC数据。我们还存储了一对值explfc它定义了一个区间,在这个区间中,我们期望PSM log2的折叠变化中值。

##计算log fold-change qclfc <- QcMetric(name = "Log2 fold-changes") qcdata(qclfc, "lfc.psm") <- Log2 (exprs(psm)[,"unlabelled"] / exprs(psm)[," N15"]) qcdata(qclfc, "lfc.pep") <- Log2 (exprs(modpep)[,"unlabelled"] / exprs(modpep)[," N15"]) qcdata(qclfc, "lfc.modpep") <- Log2 (exprs(modpep)[,"unlabelled"] / exprs(modpep)[," N15"]) qcdata(qclfc, "lfc.prot") <- Log2 (exprs(prot)[,"unlabelled"] / exprs(modpep)[," N15"]) qcdata(qclfc, "lfc.prot") <- Log2 (exprs(prot)[,"unlabelled"] / exprs(prot)[," N15"]) qcdata(qclfc, "explfc .prot") <- c(-0.5, 0.5) status(qclfc) <- median(qcdata(qclfc, "explfc .prot")) qcdata(qclfc, "explfc .prot") <- c(-0.5, 0.5) status(qclfc) <- median(qcdata(qclfc, ""lfc.psm")) > qcdata(qclfc, "explfc")[1] & median(qcdata(qclfc, "lfc.psm")) < qcdata(qclfc, "explfc")[2]

与前面一样,我们提供了一个自定义显示方法,该方法显示四个折叠更改的汇总值。的情节函数说明了各自的log2折叠变化密度和预期中位数PSM折叠变化范围(红色矩形)。预期的0 log2折叠变化显示为黑色虚线,观测到的PSM中值显示为蓝色虚线。

show(qclfc) <- function(object) {qcshow(object, qcdata = FALSE) ## default cat(" QC阈值:",qcdata(object, "explfc"), "\n") cat(" * PSM log2 fold-changes\n") print(summary(qcdata(object, "lfc.psm")) cat(" * Modified peptide log2 fold-changes\n") print(summary(qcdata(object, "lfc.modpep")) cat(" * peptide log2 fold-changes\n") print(summary(qcdata(object, "lfc.pep")) cat(" * Protein log2 fold-changes\n") print(summary(qcdata(object, "lfc.pep")) cat(" * Protein log2 fold-changes\n") print(summary(qcdata(object, "lfc.pep")) cat(" * Protein log2 fold-changes\n") print(summary(qcdata(object, "lfc.pep"))“lfc.prot”)))无形的情节(NULL)} (qclfc) < -函数(对象){x < - qcdata(对象,“explfc”)情节(密度(qcdata(对象,“lfc.psm”),主要= ",子= " ",坳=“红色”,ylab = " ", lwd = 2, xlab =表达式(日志[2]~叠化))行(密度(qcdata(对象,“lfc.modpep”)),坳=“钢蓝色的”,lwd = 2)线(密度(qcdata(对象,“lfc.pep”)),坳=“蓝色”,lwd = 2)线(密度(qcdata(对象,“lfc.prot”)),坳=“橙色”)abline (h = 0,坳=“灰色”)abline (v = 0, lty =“点缀”)矩形(x [1], 1,x[2], 1, col = "#EE000030", border = NA) abline(v = median(qcdata(object, "lfc.psm")), lty = "破折号",col = "蓝色")legend("topright", c("PSM", "多肽","修饰肽","蛋白质"),col = c("红色","钢蓝","蓝色","橙色"),lwd = 2, bty = "n")}

一个高质量的实验应该有一个以0为中心的紧密分布。较大的偏差将表明未完全纳入,使用的轻材料和重材料各自数量的误差,广泛的分布将反映数据的巨大可变性。

我们的最后一个QC项目检查了在实验中已经确定的特征的数量。我们还研究了在PSM水平上观察到多少肽(有或没有考虑修饰)以及每个蛋白质的独特肽的数量。在这里,我们不指定任何期望值,因为观察到的特征的数量是实验特定的;QC状态保持为NA

##功能数量qcnb <- QcMetric(name = "功能数量")qcdata(qcnb, "count") <- c(PSM = nrow(PSM), ModPep = nrow(ModPep), Pep = nrow(Pep), Prot = nrow(Prot)) qcdata(qcnb, "peptab") <- table(fData(PSM)$Peptide_Sequence) qcdata(qcnb, "modpeptab") <- table(fData(PSM)$modseq) qcdata(qcnb, " upppe .per. Prot ") <- fData(PSM)$Number_Of_Unique_Peptides

计数按new显示显示并被绘制成柱状图情节方法。

显示(qcnb) < -函数(对象){qcshow(对象,qcdata = FALSE)打印(qcdata(对象,“数”))}情节(qcnb) < -函数(对象){par (mar = c(5、4、2、1)布局(矩阵(c(1、2、1,3,4),ncol = 3)) barplot (qcdata(对象,“数”),水平的= TRUE,拉斯维加斯= 2)barplot(表(qcdata(对象,“modpeptab”)),xlab =“改良肽”)barplot(表(qcdata(对象,“peptab”)),xlab =“肽”)barplot(表(qcdata(对象,“upep.per.prot”)),xlab =“独特的肽/蛋白”)}

在下面的代码块中,我们将3个QC项合并为一个QcMetrics类中提取的元数据生成报告psmMSnSet实例。

(qcdata = list(qcinc, qclfc, qcnb))
qcReport(n15qcm, reportname = "n15qcreport", title = expinfo(experimentData(psm))["title"], author = expinfo(experimentData(psm))["contact"], clean = FALSE)

一旦确定了一组适当的质量度量,就可以生成QcMetrics可以对实例进行包装以实现自动化。

我们为这个示例提供了这样一个包装器函数n15qc功能完全自动化上述管道。特征变量列的名称和前两个QC项的阈值作为参数提供。如果没有给出报告名称,则使用带有日期和时间的自定义标题,以避免覆盖现有的报告。

N15 QC报告

图2:N15 QC报告

完整的pdf报告可通过

browseURL (example_reports(“n15qc”))

4报告生成

报告生成是由专门的包处理的knitr谢(2013)而且减价(Allaire et al. 2013)

4.1自定义报告

以下4.4.1模板

可以为任何现有类型定制报告。pdf报告的生成基于特克斯模板,knitr-template。Rnw,这是可用的包(你可以找到它与系统。文件(“模板”、“knitr-template。Rnw", package = "qcmetrics")).的qcReport方法接受自定义的路径模板作为参数。

模板对应于一个包含两个变量的LaTeX序言,这两个变量传递给qcReport并用于自定义模板:作者的姓名和报告的标题。前者默认为系统用户名withSys.getenv(“用户”)后者是一个简单的字符。的qcReport函数还自动生成摘要和会话信息部分。质量控制报告的核心,即与个人相对应的部分QcMetric绑定在QcMetrics然后将输入(将在下面详细描述)插入到模板中并编织,或者更具体地说针织’转换为Tex文档,即(如果类型= pdf)编译成PDF文件。

html报告的生成是通过创建一个R markdown文件(Rmd)来实现的,然后使用该文件进行转换knitr而且减价成html。Rmd语法非常简单,不需要Rmd模板。可以通过提供一个css定义来定制最终的html输出模板参数。qcReport

4.1.2QcMetric部分

的节的生成QcMetric实例由传递给对象的函数控制qcto论点。这个函数负责转换类的实例QcMetric转换为可以插入到报表中的字符。对于tex和pdf报告,Qc2Tex使用;Rmd和html报告使用Qc2Rmd。这些函数接受类的实例QcMetrics的指数QcMetric被转换。

qcmetrics::: Qc2Tex
# #(对象,我的函数 ) ## { ## c (paste0(“\ \{节”,[[我名字(对象 ]]), "}"), paste0 ("<<", ## 对象名称([[我]]),”,回声= FALSE > > = "), paste0(“显示([[”,# #我对象 , "]])"), "@\ n”、“\ \{图}[开始!hbt)”、“< < dev =“pdf”,呼应= FALSE, fig.width = 5, fig.height = 5, fig.align = '中心 '>>=", ## paste0([[”,我“情节(对象 , "]])"), "@", "\\ 结束{图 }", ## "\\ clearpage ") ## } ## < 字节码:0 x55da47f4fdc0 > # # <环境:名称空间:qcmetrics >
qcmetrics::: Qc2Tex (n15qcm, 1)
## [1] "\\section{15N收纳率}" ## [2]"<<15N收纳率,echo=FALSE>>=" ## [3] "show(object[[1]])"## [4] "@\n" ## [5] "\\begin{figure}[!]hbt)“# #”[6]< < dev =“pdf”,呼应= FALSE, fig.width = 5, fig.height = 5, fig.align = '中心 '>>=" ## [ 7]“阴谋(对象[[1]])”# # (8 ] "@" ## [ 9)”\ \{图}”# #[10]“\ \ clearpage”

让我们研究一下如何根据QcMetric状态,目标是突出积极的QC结果(即当状态为真正的)用绿色圆圈(或笑脸),用红色圆圈(或皱眉)表示消极结果,如果状态为,则使用空的黑色圆圈NA(对应的符号来自LaTeX包wasysym).

Qc2Tex2

为了使用这个特定的分段代码,我们将新函数传递为qcto当生成报告时。要生成笑脸标签,请使用Qc2Tex3

qcReport(n15qcm, reportname = "report", qcto = Qc2Tex2) ##笑脸/皱眉
定制QC报告

图3:定制QC报告

完整的pdf报告可在以下网址下载:

browseURL (example_reports(“自定义”))

4.2新的报表类型

报告功能是一种功能

  • 转换适当的QC项目部分(例如Qc2Tex2上面描述的函数)。

  • 可选地将QC项目部分包括到附加页眉和页脚中,可以直接写入这些部分,也可以将这些部分插入到适当的模板中。中提供的报告功能qcmetrics可在qcReport ?reporting_tex对于tex类型,报告\ _pdfpdf这些函数应该使用相同的参数qcReport尽可能的。

  • 一旦写入到报表源文件,最终的报表类型就生成了。针织是用来将Rnw源转换为tex编译成pdf使用工具::texi2pdf.Rmd内容直接写入一个文件,该文件编织并转换为html使用knit2html(这叫markdownTOHTML).

reporting_abc函数可以直接调用或传递给qcReport使用记者论点。

4.3质量控制方案

而在章节中给出的例子3.采用灵活快速的方法设计QC管道原型,生产管道需要更稳健的机制。R打包机制非常适合这种情况,因为它提供了版本控制、文档、单元测试以及易于分发和安装的工具。

虽然包开发的详细描述超出了本文档的范围,但是提供一个QC包开发的概述是有意义的。使用包装器函数,可以使用它创建包结构

包中。skeleton("N15QC", list = "N15QC")

描述文件将需要更新。的包qcmetrics,MSnbas将需要指定为依赖项进口:中导入的名称空间文件。文档文件N15QC /人/ N15QC。理查德·道金斯(可选的)将需要更新。问

5结论

R和Bioconductor非常适合于高通量生物学数据的分析。它们提供了一流的统计例程,出色的图形功能和选择的界面,以导入和操作各种组学数据,正如所提供的丰富包所证明的那样QC功能

qcmetrics包装不同于现有的R包装和一般的QC系统。它提出了一个独特的独立于领域的框架来设计QC管道,因此适用于任何用例。本文中给出的例子说明了qcmetrics包含单个或多个样本的数据或不同技术的实验运行。也可以为一组重复的(并且不断增长的)标准样本分析自动生成QC度量实验室的记忆类型的QC报告,随着时间的推移跟踪受控标准样品的一组指标。它可以应用于原始数据或经过处理的数据,并根据精确的需求进行定制。整合方法的普及,以新颖的方式组合多种类型的数据,强调了灵活的QC发展的需要。

qcmetrics是一个多功能的软件,允许快速和简单的QC管道原型和开发,并支持直接迁移到生产级系统,通过其定义良好的打包机制。

确认:非常感谢Arnoud Groen提供的N15数据,以及Andrzej Oles对软件包和本文档的有用评论和建议。

6会话信息

用于制作本文件的所有软件及其各自版本如下所示。

sessionInfo ()
## R版本4.2.0 RC (2022-04-19 r82224) ##平台:x86_64-pc-linux-gnu(64位)##运行在Ubuntu 20.04.4 LTS ## ##矩阵产品:默认## BLAS: /home/biocbuild/bbs-3.15-bioc/R/lib/libRblas。/home/biocbuild/bbs-3.15-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]stats4 stats graphics grDevices utils datasets methods ##[8]基础## ##其他附加包:## [1]ggplot2_3.3.5 MSnbase_2.22.0 ProtGenerics_1.28.0 ## [4] S4Vectors_0.34.0 Biobase_2.56.0 BiocGenerics_0.42.0 ## [7] mzR_2.30.0 Rcpp_1.0.8.3 qcmetrics_1.34.0 ## [10] BiocStyle_2.24.0 ## ##通过命名空间加载(且未附加):## [13] pillar_1.7.0 lattice_0.20-45 glue_1.6.2 ## [19] htmltools_0.5.2 preprocessCore_1.58.0 plyr_1.8.7 ## [22] MALDIquant_1.21 XML_3.99-0.9 pkgconfig_2.0.3 ## [25] magick_2.7.3 bookdown_0.26 zlibbioc_1.42.0 ## [28] purrr_0.3.4 xtable_1. 4 scales_1.2.0 ## [4] pander_0.6.5 yaml_2.3.5 impute_1.70.0 ## [13] pillar_1.7.0 lattice_0.20-45 glue_1.6.2 ## [19] htmltools_0.5.2 digest_0.6.29 colorspace_2.0-3 ## [28][40] crayon_1.5.1 evaluate_0.15 ncdf4_1.19 ## [43] fansi_1.0.3 doParallel_1.0.17 MASS_7.3-57 ## [46] tools_4.2.0 lifecycle_1.0.1 string_1 .4.0 ## [49] munsell_0.5.0 cluster_2.1.3 pcaMethods_1.88.0 ## [52] compiler_4.2.0 jquerylib_0.1.4 mzID_1.34.0 ## [58] MsCoreUtils_1.8.0 rmarkdown_1.0.14 ##gtable_0.3.0 ## [61] codetools_0.2-18 DBI_1.1.2 R6_2.5.1 ## [64] knitr_1.38 dplyr_1.0.8 fastmap_1.1.0 ## [67] utf8_1.2.2 clue_0.3-60 stringi_1.7.6 ## [70] parallel_4.2.0 vctrs_0.4.1 tidyselect_1.1.2 ## [73] xfun_0.30

参考文献

阿莱尔,JJ, J Horner, V Marti和N Porte, 2013。Markdown: R的Markdown渲染http://CRAN.R-project.org/package=markdown

福斯特,K M, S Degroeve, L Gatto, M Visser, R Wang, K Griss, R Apweiler, L marttens, 2011。公共蛋白质组数据管理和重用的后验质量控制。蛋白质组学11(11): 2182-94。https://doi.org/10.1002/pmic.201000602

盖托,L, K S利利,2012。MSnbase -用于等压标记质谱数据可视化、处理和定量的R/生物导体包。生物信息学28(2): 288-9。https://doi.org/10.1093/bioinformatics/btr645

格林,A, L托马斯,K利利,C马龙戴泽,2013。信号分子依赖性蛋白磷酸化的鉴定与定量方法Mol Biol1016: 121 - 37。https://doi.org/10.1007/978-1-62703-441-8_9

Krijgsveld, J, R F Ketting, T Mahmoudi, J Johansen, M Artal-Sanz, C P Verrijzer, R H Plasterk和A J Heck. 2003。线虫和黑腹线虫代谢标记的定量蛋白质组学研究。生物科技Nat》21(8): 927-31。https://doi.org/10.1038/nbt848

Pedrioli, P G A等人。2004.质谱数据的通用开放表示及其在蛋白质组学研究中的应用生物科技Nat。》。22(11): 1459-66。https://doi.org/10.1038/nbt1031

谢艳。2013。动态文档与R和针织.查普曼;大厅/ CRC。http://yihui.name/knitr/