蛋白质组学数据分析 (Proteomics data analysis, Bioinformatics for proteomics)
Identification
- Mass spectrometry data format
- MS data converter
- Protein inference
- FDR for proteomics
- Peptide identification algorithms
Quantification
- Protein quantification algorithms
蛋白质组学统计软件
- R for proteomics
- Python for proteomics
亚蛋白质组学
- Bioinformatics for CL-MS
- Bioinformatics for glycoproteomics
- Subcellular localization prediction
问题
在一篇2018年发表的非常有趣的论文中,Smith^[10.1021/acs.jproteome.8b00015]调查了软件用户和软件开发者对生物学领域中应用于质谱的相关软件的看法。受访者提出的主要问题之一是缺乏针对非开发者用户的软件支持。另一个问题是,许多软件项目往往是为了回答特定的研究问题而启动的,在发布后便被弃用。作为一名自20世纪90年代中期以来从事生物结构质谱领域的软件开发者,这篇综述的作者承认,软件用户普遍感到沮丧,主要原因是软件开发过程常常表现为“一次性”的软件生产流程,而忽视了任何软件产品都需要长期维护,以修复漏洞、改进或添加功能以及编写详细文档的事实。缺乏恰当编辑和格式化的文档进一步加剧了人们对无人维护软件的抱怨。在本综述中,仅包含那些持续开发和维护的软件,并且没有忽视文档编写的问题。
FOSS(自由和开源软件)的定义包含一个基本原则,即用户能够在无需任何形式的显式请求的情况下获取程序的源代码(例如,没有强制性用户注册或通过电子邮件请求)。
“蛋白质和肽质谱”实际上包括了多个专业领域。这些专业领域并不使用相同的软件工具。
使用FOSS挖掘和/或可视化质谱数据要求这些数据采用非专有格式。然而,大多数仪器供应商将质谱数据打包成二进制文件,这些文件的内部格式未公开。其中一个值得特别强调的例外是Bruker公司,该公司采取了不同的态度:他们向FOSS开发者提供其数据文件格式的详细信息,使开发者能够创建能够原生使用其数据文件的软件。在其他情况下,FOSS用户需要首先将质谱数据从专有格式转换为开放数据格式。本综述将以描述各种开放数据格式及一个强大的数据转换软件项目为开端,该项目能够将几乎所有专有格式的数据文件转换为开放数据格式。
在质谱领域,FOSS项目可以分为两大类:
用于构建分析工作流程的软件项目
随着现代质谱技术生成的数据量快速增长,需要强大的方法来高效处理这些数据。为实现质谱数据的综合处理,需要将必要的程序或库函数以有序的方式串联起来,使质谱数据从一个处理任务流向另一个处理任务。
OpenMS
OpenMS 是一个大型软件项目,旨在为用户提供定制质谱数据处理工作流程的所有必要工具。 OpenMS 从基础开发,采用多层结构,包括一个核心框架core framework,提供构建文件和数据库输入/输出、数据可视化功能和算法的 C++ 基础模块。 项目输出的库,支持开发者和最终用户的所有软件工具——这些工具统称为 TOPP(The OpenMS Proteomics Pipeline)。 TOPP 包含用于开发者定制质谱数据处理工作流程的所有工具^[10.1007/978-1-60761-987-1_23],其工具数量超过50个,分类包括:图形工具、文件处理、信号处理和预处理、定量分析、映射对齐、肽和蛋白质鉴定、靶向实验、肽性质预测。
主要的用户界面工具包括:
TOPPView^[10.1021/pr900171m]:允许用户查看、检查和交互式应用 TOPP 工具箱中的功能。
TOPPAS^[10.1021/pr300187f]:一个强大的图形化分析工作流程构建器,用户可以轻松组装工具和例程,定制质谱数据处理工作流程。
OpenMS 还支持 KNIME 工作流程规范框架^[10.1002/pmic.201400391],并且提供 Python 绑定以通过 Python 代码驱动 C++ 库^[10.1002/pmic.201300246]。
许可协议:BSD-3-Clause
官方网站: https://www.openms.de
源代码: https://github.com/OpenMS/OpenMS
Trans-Proteomic Pipeline (TPP)
TPP 软件项目^[10.1002/pmic.200900375][10.1002/prca.201400164]汇集了一系列用于 MS/MS 数据分析的软件,旨在可靠鉴定蛋白质。 尽管 TPP 的开发者并未开发常规的肽段鉴定搜索引擎(例如 X!Tandem),但 TPP 包含 SpectraST 程序以构建和搜索光谱库^[10.1002/pmic.200600625]。用户可以通过将常规搜索结果转换为 pepXML 格式来使用 TPP。通过基于串联 MS 数据库搜索生成的数据,用户可以使用多个程序来验证肽段鉴定结果:
PeptideProphet :实现了一种统计模型,用于估计肽段序列与通过数据库搜索获得的串联质谱数据之间的相关性的准确性。该程序的输出是一种改进的肽段鉴定评分,用于筛除错误分配的肽段;
iProphet ^[10.1074/mcp.M111.007690]:在 PeptideProphet 基础上实现了一种优化算法;
PTMProphet:实现了一种评分算法,用于计算肽段上翻译后修饰位点的定位置信度。
定量分析过程通过多个程序实现:
蛋白质鉴定的优化过程由 ProteinProphet ^[10.1021/ac0341261]处理。该程序实现了一种算法,用于验证基于数据库搜索程序分配给 MS/MS 谱的肽段而得出的蛋白质鉴定结果。
TPP 软件还包含大量辅助程序,功能涵盖从格式转换到统计建模、定量分析和光谱处理。
许可协议:GPLv2 和 LGPL
官方网站:http://tools.proteomecenter.org/software.php
源代码:https://sourceforge.net/projects/sashimi
ProteoWizard
ProteoWizard 软件项目生产了一些工具和库,例如:
从信息学的角度来看,该库的代码文档非常完善且结构良好。不幸的是,其使用的构建系统极为复杂,许多项目选择提取所需的最小文件集并将其集成到自己的构建系统中。这种情况令人遗憾,因为这个功能丰富的库在一定程度上失去了它的一个重要特性:通用性。
许可协议:Apache2
官方网站:http://proteowizard.sourceforge.net
源代码:https://github.com/ProteoWizard/pwiz
Python pyMzML
pyMzML 项目^[10.1093/bioinformatics/bty046]是一个高度评价的 Python 解决方案,用于解析和加载 mzML 数据文件。其创新的 gzip 压缩格式允许随机访问读取压缩数据。
许可协议:MIT
官方网站:https://pymzml.readthedocs.io/en/latest
源代码:https://github.com/pymzml/pymzML
MzJava
MzJava 项目^[10.1016/j.jprot.2015.06.013]是 Java Proteomic Library (JPL) 的继任者,由瑞士生物信息学研究所开发。其最新功能包括利用 Apache Spark 处理大量质谱数据的能力^[10.1021/acs.jproteome.5b00877]。
许可协议:Apache2
官方网站:https://mzjava.expasy.org
源代码:https://bitbucket.org/sib-pig/mzjava
Pyteomics
在过去十年中,Python 语言已成为首选的科学脚本语言,并在开发速度至关重要的领域中越来越多地被使用。其与基于 C/C++ 的库的紧密结合使其即便是面对最苛刻的应用需求也足够强大。
Pyteomics 项目^[10.1021/acs.jproteome.8b00717]提供了一个基于 Python 的蛋白质组学库框架,旨在简化以下功能的软件开发:
读取 LC-MS/MS 数据;
处理搜索引擎输出;
处理蛋白质序列数据库;
理论预测保留时间;
计算多肽的电化学性质;
质量和 m/z 的计算。
许可协议:Apache2
官方网站:https://pyteomics.readthedocs.io/en/latest
源代码:https://github.com/levitsky/pyteomics
基于 GNU R 的软件与 Bioconductor
GNU R 是一种统计计算和图形编程环境,Bioconductor 提供了大量 R 包用于高通量基因组数据的分析,包括质谱研究的相关工具,例如:
MzR^[S. N. Bernd Fischer, mzR. Bioconductor, 2017]:支持 mzXML、mzData 和 mzML 等解析。
MSnbase^[10.1021/acs.jproteome.0c00313]:高效的质谱数据处理和可视化工具。
mzId : An mzIdentML parser for R.
pepXMLTab : Parsing pepXML files and filter based on peptide FDR.
MSnID : Utilities for Exploration and Assessment of Confidence of LC-MSn Proteomics
Identifications.
Isobar^[10.1021/pr1012784]^: Analysis and quantitation of isobarically tagged MSMS proteomics data.
MALDIquant^[10.1093/bioinformatics/bts447]^: Quantitative Analysis of Mass Spectrometry Data
IsoSpecR^[10.1021/acs.analchem.0c00959]^: Isotopic cluster calculations.
Topdownr^[10.1021/acs.analchem.8b02344]^: Investigation of Fragmentation Conditions in Top-Down Proteomics.
protViz: Visualizing and Analyzing Mass Spectrometry Related Data in Proteomics
(https://cran.r-project.org/package=protViz).
MSstats^[10.1093/bioinformatics/btu305]^: Protein Significance Analysis in DDA, SRM and DIA for Label-free or Label-based Proteomics Experiments.
Synapter^[10.1021/pr300776t]^: Label-free data analysis pipeline for optimal identification and quantitation.
Software projects for the end-user
Proteomics, Peptide, Protein and Proteoform identification
The X!TandemPipeline/MassChroQ integrated environment
The main FOSS project providing a desktop-based solution for protein identification is **X!TandemPipeline**. Originally developed in Java, it was rewritten in C++ for enhanced performance and new features, including peptide theoretical isotope cluster visualization and extracted ion chromatogram browsing. This software interfaces with the X!Tandem protein database search program, offering a user-friendly platform for configuring database searches and performing protein inference. The companion tool, **MassChroQ**, focuses on quantification of identified proteins (labelled or label-free peptides) and supports data formatted according to the MassChroQML format. 提供全功能的基于桌面的蛋白质鉴定解决方案的主要开源项目是X!TandemPipeline^[10.1021/acs.jproteome.6b00632]。 最初发布的版本是用Java开发的。该软件组件已完全用C++重写,以大幅提高性能和增加许多功能,如肽段理论同位素簇可视化和提取离子色谱图浏览。 通过利用X!Tandem蛋白质数据库搜索程序^[10.1093/bioinformatics/bth092]的非常好的特性,X!TandemPipeline提供了一个用户友好的界面。 磷酸化位点鉴定也基于蛋白质数据库搜索,并实现了基于简约原则的聚类算法,为用户提供可管理的数据。 X!TandemPipeline还能够加载使用除X!Tandem之外的其他数据库搜索引擎获得的鉴定数据,以执行其蛋白质推断任务。
配套软件MassChroQ ^[10.1002/pmic.201100120]处理已鉴定蛋白质的定量,无论是标记还是未标记的肽段。只要鉴定数据按照MassChroQML格式格式化,MassChroQ也能够处理来自其他来源的数据,该格式是有文档记录的。这些程序是用C++11编写的,带有可移植的控件集(Qt库),使它们可以在GNU/Linux和Microsoft Windows上移植。为这两个平台提供了二进制文件。
searchGui and PeptideShaker
searchGui 和 PeptideShaker 提供了一个用户友好的界面,分别用于数据库搜索引擎(searchGui)^[10.1021/acs.jproteome.8b00175]或它们的输出(PeptideShaker)[10.1038/nbt.3109]。这两个软件都是用 Java 编写的,可以在所有三个常见的计算机平台上运行。 使用逻辑是首先运行 searchGui 来实际执行数据库搜索步骤,然后将程序的输出加载到 PeptideShaker 中。searchGui 程序的一个优势是它支持不少于十种蛋白质组学和从头开始的搜索引擎。
https://github.com/compomics/searchgui https://github.com/compomics/peptide-shaker
TopPIC
TopPIC软件项目^[10.1093/bioinformatics/btw398]涉及完整蛋白质质谱数据分析。 这款软件建立在像THRASH^[10.1016/s1044-0305(99)00157-9]和MS-Deconv^[10.1074/mcp.M110.002766]这样的开创性软件之上。该软件的总体目标是表征样本中的蛋白质异构体。 软件的操作遵循一个概念模式,这与过去几十年中在自下而上的蛋白质组学中实践的模式相似。软件首先接收带有质心峰的mzML数据文件(msConvert转换)。然后,将碎片质量谱数据反卷积为单同位素质量,进而用于执行数据库搜索以鉴定蛋白质异构体。TopPIC的一个强大功能是其追踪未知蛋白质化学修饰的能力。
在2016年,Kou等人^[10.1093/bioinformatics/btw398]从1914个蛋白质异构体谱匹配中鉴定出301种蛋白质。用于这项分析的数据集来自大肠杆菌样本的自上而下的蛋白质组学实验。这项研究的一个有趣的结果是,结合CID和ETD的碎片数据比仅使用其中一种(大约比单独使用CID或ETD数据多20%)提供了显著更好的蛋白质异构体鉴定结果。
从信息学的角度来看,程序代码布局非常好,使用的构建系统使得构建项目变得容易。请注意,GUI程序只是命令行驱动程序的用户友好前端。手册页面详细,软件的一般操作描述清晰。
Data visualization and analysis
Mass spectrometry data visualization and mining software
在涉及复杂的翻译后修饰或纯化蛋白质和肽的化学修饰的项目往往需要手动审查数据。 人眼审查质谱数据对于提取自动化工作流程无法预测建模的数据片段至关重要^[10.1021/bi900327f][ 10.1007/s00216-013-7326-y]。
MZmine2
MZmine2项目^[10.1186/1471-2105-11-395]是一个备受推崇的液相色谱-质谱(LC-MS)数据处理软件项目。 它用Java编写,天生具有跨平台的特性。软件的功能很多。 MZmine2可以加载多种开放数据格式,例如mzML、mzXML、mzData等。 程序的功能可以分为原始数据处理方法、峰值列表方法、统计分析和数据可视化。每个类别都有许多功能,应该能够为大多数数据可视化任务提供解决方案。MZmine2缺少的一个功能是对离子迁移质谱数据的支持。
xiSPEC
xiSPEC项目^[10.1093/nar/gky353]是一个有趣的项目,提供了一个基于网络的质谱数据查看器, 用户的任务是加载质谱数据文件,格式为mzML或MGF。 虽然程序设计用于自下而上的蛋白质组学环境,但它也可用于通过手动检查质谱数据来深入检查其他环境中的质量数据。 数据加载和处理使用pyMzML库进行,并且用Python编码。 数据可视化组件是用无处不在的JavaScript语言编写的。质谱图的可视化可以像其他基于桌面的软件程序一样进行,具有缩放和平移操作、质量峰之间的距离测量以及根据分析物的电荷状态对其进行反卷积。程序的一个有趣功能是允许用户注释谱图。通过提供肽序列,用户可以设置选择性翻译后修饰,尝试将测量数据与结构假设相匹配。在这方面,软件处理交叉链接的能力值得强调。可以轻松更改交叉链接位置,以在质谱图中搜索相关匹配项。
源代码可用,并提供了构建软件的说明,以便自托管网站。该项目似乎得到了维护。
BatMass
BatMass项目^[10.1021/acs.jproteome.6b00021]生成了一个质谱数据可视化软件,可以加载mzML或mzXML数据文件。 软件的个特别优势是其能够以热图的形式绘制多个文件的质谱数据。在热图中的数据导航允许通过锁定所有热图区域到一个参考热图来动态比较多个样本的任何感兴趣的质量谱特征。 另一个有趣的功能是能够以表格视图的形式显示质谱数据,该表格视图可以链接到数据的热图表示。通过在表格视图中选择感兴趣的行,热图区域会更新为缩放操作,与表格视图中选择的数据相匹配。能够从表格视图驱动热图数据探索是一个强大的数据导航范式。
4.2.4. emzed
emzed软件项目^[10.1093/bioinformatics/btt080]是一个有趣的Python语言项目,旨在允许用户通过图形用户界面进行简单交互或无需太多开发技能即可脚本化该界面。用户界面包括TIC色谱图、热图和表格数据视图,允许与质谱图集成。一个特别感兴趣的功能是集成开发环境,它使得直接在目标应用程序中开发脚本变得容易。 emzed3已经支持完整的Python3。
UniDec
UniDec软件项目^[10.1021/acs.analchem.5b00140]旨在提供与质谱数据反卷积和分析相关的广泛功能。 其对离子迁移质谱数据的支持尤为显著。 该软件使用Python开发,尽管密集的数值计算由C代码处理。数据可以通过专有软件(利用专有动态链接库)或文本格式(支持mzML)加载到软件中。UniDec软件允许用户设置一些非常底层的参数来处理数据。例如,可以定义电荷剂的质量(对于质子化,那将是1 Da,例如)。同样有用的,m/z值的分箱可以配置,这是一个重要的设置,当开始对质谱数据进行最精细的审查时需要控制。 软件的一个优势是其能够以多种方式绘制处理后的数据,特别是将m/z比率与电荷或到达时间相关联,在IM-MS实验中。IM-MS数据的一种特别有用的表示形式是立方体,例如,三个可见面显示与m/z数据相对于到达时间、到达时间与电荷以及最终m/z数据与电荷相关的热图。图形绘制可以以多种方式配置,产生适合出版的图表。 项目代码布局非常清晰,软件构建过程通过脚本得到妥善处理,适用于MS Windows或GNU/Linux。
msXpertSuite
msXpertSuite项目汇集了两个子项目:massXpert和mineXpert。两个软件部分都是用C++编写的。 massXpert可以追溯到90年代末,经历了多次全面重写^[10.1093/bioinformatics/btp504][10.1186/1471-2105-7-226][10.1093/bioinformatics/18.4.644]。 mineXpert是一个较新的项目,最近才发表^[10.1021/acs.jproteome.9b00099]。
massXpert软件的设计目的是让生物化学家能够模拟任何类型的线性聚合物。一种语法允许生物化学家描述要模拟的聚合物化学的任何特征。例如,可以定义同位素、原子、单体、化学修饰、交联剂、酶/化学裂解试剂、气相裂解模式、电离规则等。程序附带了高度详细的蛋白质、糖和核酸聚合物化学定义。一旦给定的聚合物化学定义准备好了,就可以定义聚合物序列,并对其进行任何典型的样品处理,无论是在液相还是气相中,如化学修饰、交联、消化、裂解。对于这些处理中的每一种,都会产生相应的蛋白质/肽质量集合。程序具有大量无法在此描述的功能。软件旨在与实际样品分析并行使用,作为一种决策辅助程序。例如,在分析以不寻常方式修饰的蛋白质的肽段时,能够测试结构假设在“碎片化一切或任何东西”不可选时至关重要,因为质谱会话是交互式进行的。基于可以在程序中验证的结构假设,实际的肽段裂解可能有助于确定假设的正确性。
mineXpert程序专门用于质谱数据的可视化和挖掘,因此是massXpert的配套程序。程序加载mzML、mzXML、MGF或文本数据文件。一旦加载了数据文件,就会自动计算TIC色谱图。对于IM-MS数据,还会计算与m/z和漂移时间相关的热图。这两个图表作为数据集成到任何可用类型的数据图表的起点:XIC色谱图、质谱图、漂移谱图和漂移谱图与质谱图热图。程序的一个强大功能是可以将任何类型的图表的数据集成到任何类型的图表中。 由于mineXpert旨在进行超精细的质谱特征检查,用户可以在将它们集成到质谱图中时配置m/z数据的分箱。箱大小可以定义为绝对值、ppm相对值或分辨率相对值。这在处理来自不同供应商软件的质量数据时非常有用。可以使用Savitzky-Golay算法平滑轨迹,用户可以控制全套参数。
mineXpert旨在满足作者的要求,作者专门从事结构生物学质谱数十年。手动检查复杂光谱一直是他活动的核心,没有软件能够执行质谱的半自动外部注释。该功能是数据挖掘过程的核心,并设计如下:用户选择挖掘发现的输出,如剪贴板、程序的控制台窗口、磁盘上的文件或任何组合。一旦定义了此设置,用户可以通过放大质谱特征来开始挖掘数据,例如。反卷积可以在鼠标拖动操作中获得,并计算分析物的电荷和Mr。也可以计算质谱特征的强度。所有这些计算值存储在内存中,直到下一次计算。用户可以随时按下空格键,所有这些数据将写入最初配置的输出。用户可以使用一组占位符格式字符串配置程序应写入输出的段落,这些字符串将被上述计算的值替换。mineXpert的另一个关键特性是同位素簇计算接口到IsoSpec库[68]。用户输入分析物的公式和电荷状态,指定仪器的分辨率,mineXpert计算与IsoSpec返回的理论同位素分布相匹配的质谱图。IsoSpec库不易配置,因为它显然针对准确性和速度进行了优化。mineXpert允许用户直观地配置化学元素的同位素丰度,并以最精细的细节模拟标记分子的同位素分布。
如上所述,mineXpert全面支持IM-MS数据,并已在Waters Synapt2和Agilent仪器上的数据集上进行了测试。mineXpert的一个限制是它只处理MS1数据,这个限制在代码的全面重写中得到了解决。新的mineXpert2软件程序现已可用,并将逐渐取代旧版本。它具有任意MSn功能,性能得到了很大改进,广泛使用了多线程,并完全重写了绘图控件框架,允许在处理图表时具有更大的灵活性。还提供了数据的表格视图,以便使用多个可以逻辑组合的标准进行数据过滤:MS级别、保留时间、漂移时间、前体离子m/z值、前体离子电荷或前体离子谱图索引。过滤后剩余的谱图集合可以集成到所有可能的目的地:质谱图、TIC色谱图、漂移谱图、各种热图,这些热图将保留时间与质谱图或漂移谱图或漂移时间与质谱图相关联。
massXpert和mineXpert/2都附带了详细的用户手册,格式为HTML和PDF。视频教程可从网站获得。软件可在Debian GNU/Linux及其衍生发行版,如Ubuntu上使用。为MS Windows和Apple macOS提供了二进制文件。
https://salsa.debian.org/debichem-team/minexpert2