APP下载

基于Web的色质数据解析平台设计与开发

2019-12-11卢红兵杨华武庹苏行

计算机技术与发展 2019年12期
关键词:谱峰质谱检索

孔 波,邹 有,卢红兵,杨华武,庹苏行

(1.湖南中烟工业有限责任公司技术研究中心,湖南 长沙 410007;2.中南大学信息与网络中心高性能计算中心,湖南 长沙 410083)

1 概 述

色谱-质谱联用仪[1]是色谱分离技术和质谱分析技术紧密结合的产物,在环境监测、食品安全、生命科学等领域有着广泛的应用。色谱-质谱联用仪主要是由硬件和配套的分析软件两部分组成,其工作流程是通过一系列的物理、化学反应,将输入的待测物质转化成为一系列的二进制色质数据,并交由仪器自带的分析软件进行分析,最后得出分析结果。随着计算机技术的快速发展,新的技术和设备不断出现,不同设备通常配备着不同的数据分析软件,这些软件的性能和使用方法上存在较大的差异,也为用户使用这些软件产生了一定的障碍。

色谱-质谱联用仪主要有两种形式:气相色谱-质谱联用(GC-MS)[2]和液相色谱-质谱联用(LC-MS)[3],这两种方法互为补充,适用于不同性质化合物的分析。

气质联用技术是最早商品化的联用仪器,适用于小分子、易挥发、热稳定、能气化的化合物,其质谱仪器的电离源一般采用电子轰击电离(EI)源。液质联用技术主要适用于大分子、难挥发、热不稳定、高沸点化合物的分析。相较于液质联用技术,色质联用技术出现较早,1957年,Holmas和Morrell第一次实现了气相色谱仪与质谱仪(GC-MS)连接使用[4]。之后,随着气相色谱技术和质谱技术的不断进步,以及色质联用接口技术的发展,这项分析技术因其高通量、高分辨率的特点已经成为药品分析[5]、环保监测[6]、农药残留监测[7],以及兴奋剂监测[8]等领域的重要监测手段。

目前,随着生命科学的发展,待测样品更加复杂,分子范围更大,高效色谱-质谱联用技术的研发愈受到重视。近年来,在国内外研究人员的共同努力下,高效色谱-质谱联用技术研究取得了一些进步,但是仍然存在一些问题。这些问题主要表现在如下两个方面。

首先,硬件设备对实验条件要求较高,分析软件庞大、笨重,且与硬件设备捆绑使用。由于仪器设备对运行环境有较高的要求,必须在专门的实验室环境下运行,不便于移动。另外,实验人员必须在仪器周围,全程参与、监督整个分析过程。即使实验人员将生成的色质数据进行暂时保存,在后期的分析过程中还需要安装庞大、复杂的专用分析软件,而这些专用软件都是与相应硬件设备捆绑销售,利润极高,极大地增加了数据分析成本,在这一系列复杂软件中有部分软件还对使用范围作了限制,这给数据分析应用带来了巨大的不便,严重影响了该领域的发展。

其次,仪器分析软件存在多种缺陷,在某些应用场景中无法得到准确的结果,而仪器的封闭性强,更好的解决方案无法载入。仪器分析软件存在多种缺陷,在诸如重叠峰解析等一些应用场景中无法得到准确的结果。另外,即使研究人员对于这些缺陷有比较好的解决方案,也会因仪器设备和软件开放性较差而无法实施。分析软件的缺陷和封闭性严重影响了该领域的应用和发展。

虽然不同色谱-质谱联用仪配备的数据分析软件各不相同,但是它们实现的功能却大致相似。比如,曲线平滑与去噪、线性-非线性拟合、模式识别、数据管理及其常见的运算模式等。当前这些设备配备的软件在功能上存在低水平的冗余,在数据分析层面这些软件却没有较好的兼容性。综上所述,设计和开发一款准确性高、开放性好、灵活便利的色质数据分析平台具有重要的现实意义。

目前,国外研究人员已经开发了一些用于色质数据解析的软件或软件包,例如:由Biller和Biemann提出的“点比较”算法广泛应用于纯净质谱图的自动提取[9]。Colby在Biller算法的基础上进行了延伸,将同时达到最大峰的质荷比归为同一物质,以获得准确的保留时间信息[10]。斯坦福大学的Dromey等提出了“峰型比较”的退卷积算法,被广泛用于数据噪声去除[11]。尽管这些软件都得到了很好的应用,但是使用前还是需要对其进行安装和配置,通用性受到了一定程度的限制。基于Web平台的解析系统可以更加方便地为用户提供服务,其无需安装和配置,点击浏览器,输入网址就可以进行相应操作。目前,基于Web平台的解析系统较少,比较典型的有AIST[12]和SDBS[13],这两个系统是运行在Web上免费提供质谱检索功能的检索系统。

目前,国内色谱-质谱联用仪的绝大多数市场份额都由进口设备占领,而这些进口设备中,又以美国安捷伦(Agilent)公司和日本岛津(shimadzu)株式会社生产的色谱质谱联用仪为主。该研究以烟草行业使用较多的安捷伦气相色谱-质谱联用仪输出的色质数据为主要输入数据,开发一款基于Web的色质数据解析平台。平台所接受的数据输入适用于安捷伦仪器产生的MS格式数据,平台所涉及的算法适用于通用的气相色质数据分析。国内研究人员也已经开发了一些解析用色质数据的软件,例如:北京科技大学的陈海勇等研发了用于TVS-2200红外热像仪图像数据解析的分析软件[14];南京理工大学的董海波等研发了用于VECTOR32型FTIR光谱仪图像数据解析的软件[15];中国农业大学的王一鸣等研发了近红外光谱品质检测软件[16]。虽然在国内外研究人员的努力下,数据解析软件的研发取得了长足的发展,但是仍然不能满足现实需求。

Express是一个简洁而灵活,基于node.js的 Web应用框架,提供了一系列强大特性有助于创建各种Web应用和丰富的HTTP工具。使用Express可以快速地搭建一个完整功能的网站。Express框架核心特征包括:(1)可以设置中间件来响应HTTP请求,中间件就是处理HTTP请求的函数,它最大的特点就是,一个中间件处理完,再传递给下一个中间件。应用程序在运行过程中会调用一系列的中间件,每个中间件可以从应用程序实例接收三个参数,依次为request对象(代表HTTP请求)、response对象(代表HTTP回应)、next回调函数(代表下一个中间件)。每个中间件都可以对HTTP请求(request对象)进行加工,并且决定是否调用next方法,将request对象再传给下一个中间件;(2)定义了路由表用于执行不同的HTTP请求动作;(3)可以通过向模板传递参数来动态渲染HTML页面。

文中基于Node.js的Express应用框架,设计开发了基于Web的色质数据解析平台。该平台可以实现色质数据的可视化、谱峰检测以及质谱检索等功能。为了提高数据处理效率,采用GPU技术对多任务并发的运算进行加速。该平台使用便捷、数据处理高效,易于部署。

2 气相色谱-质谱联用技术原理描述

气相色谱(GC)作为一项成熟的分析技术可连接多种检测器,在火焰离子化检测器(FII)质谱检测器中最为常见。质谱检测器可以通过标准谱图库提供化合物的结构信息,并具有高灵敏度等优势。气相色谱-质谱(GC-MS)联用技术是鉴定挥发性复杂混合物中化合物的首先方法,其分析过程是通过将挥发性有机混合物样品经由微注射器进入气相色谱的进样口,经过色谱柱、电离源、质量分析器并最终达到检测器,从而被检测出转化成质谱信号输出到计算机存储处理。化合物在给定的色谱分析条件下会在某一时间段内流出色谱柱,并在某一时间点达到流出浓度的峰值,这一时间点被称为该化合物的保留时间。多种化合物的混合物根据其成分,保留时间的不同依次通过色谱柱。在电离源中,色谱的流出物被电离成碎片离子,碎片离子进入质谱分析部件,首先被电离成带电离子,然后进入质量分析器,不同质荷比(m/z)的离子将在不同的位置、时间和轨道进行分离,得到按质荷比大小排列的质谱,从而被物质分析器检测出。一个色质检测的实例如图1~图3所示。

(x轴表示质荷比,y轴表示保留时间,z轴表示离子丰度(或相对丰度))

图2 将图1中数据矩阵按保留时间累加得到的总离子流图

图3 将图1中数据矩阵保留时间为49.24 min的数据得到的该时刻质谱图

2.1 色质数据格式

不同厂商生产的色谱-质谱联用仪,其输出的色质数据格式各有不同。例如:安捷伦使用的是MS格式、岛津使用的是CDF格式、Finnigan使用的是RAW格式、Waters使用的是DAT格式等[17]。这些文件包含了实验数据的色谱和质谱信息,并且以独有的二进制格式存储,使用二进制存储可以有效地减少文件占用的磁盘空间,但是同时也给第三方使用带来了一定的不便。例如,安捷伦使用的MS文件存储结构如表1所示。

表1 MS文件存储结构

2.2 色质数据解析

色质数据解析主要包括谱峰检测和质谱检索两大关键技术,谱峰检测是在色谱中确认峰的位置,并计算其大小。质谱检索则是将未知组分的质谱与质谱数据库数据进行匹配度计算,从而实现定性。

3 基于Web的色质数据解析平台设计与实现

目前,Web服务技术已从基础设施的构建与概念推广阶段向大规模应用阶段快速发展。B/S(Browser/Server)结构即浏览器和服务器结构,它是随着Internet技术发展而兴起,对C/S(Client/Server)结构进行优化或者改进的结构。在B/S结构下,用户工作界面通过浏览器实现,不同身份,不同地点,不同介入方式(比如LAN,WAN)的用户都可以通过浏览器共同访问和操作用户工作界面,能够更好地实现资源共享和互联互通。另外,B/S结构的开发和维护成本相对较低。B/S结构系统能够一次性开发到位,功能添加和修改只需在服务器端进行,大大减小了系统维护成本。随着JAVA这样的高级语言的发展,基于B/S结构的平台系统能够很好地满足用户跨平台使用的需求。

3.1 平台框架

Node.js是基于Chrome V8引擎的JavaScript运行环境,由于其轻量而高效,被广泛应用于Web和移动应用开发之中,近年来随着桌面应用的发展,Node.js由于其灵活性已被广泛应用在桌面应用的开发之中。色质数据解析过程中存在大量文件读写和数值计算操作,而Node.js的非阻塞式I/O模型可以有效地满足这种情形下的任务并发。基于上述原因,该项目组选用Node.js的Express应用框架进行系统开发。图4展示了平台的基本架构。客户端(Web端)主要承担数据输入、数据展示、用户交互、结果展示、结果输出等功能,服务端则承担数据运算功能,包括文件解析、谱峰检测和数据检索等内容。

图4中的箭头走向揭示了色质数据从输入平台至生成解析结果的一般流程。其具体解析过程可以描述为以下4个步骤:(1)客户端输入MS格式数据后,服务端对其内容进行解析,得到色质数据矩阵。随后,服务端以数据文件的MD5校验码为文件名,以JSON格式进行存储。此过程中采用MD5校验码为文件名,主要是考虑到MS数据通过网络传输到服务端需要一定的时间,如果客户端上传的内容在服务端已经存在,则可直接调用历史数据,避免重复传输耗费不必要耗费的资源;(2)服务端返回色质数据矩阵用于客户端的可视化展示。客户端采用百度公司开发的JS可视化插件Echarts进行可视化展示,该插件功能强大且完全免费,完全可以满足平台的数据可视化需求;(3)客户端发出谱峰检测请求,服务端调用谱峰检测器进行色质数据的谱峰检测,并保存检测结果;(4)客户端发出质谱检索请求,服务端调用质谱检索引擎对谱峰位置质谱进行检索,保存检索结果,并返回客户端用于查看。

3.2 平台实现

从3.1节所述的数据解析流程可以分析出系统主要功能模块,包括:MS数据解析、谱峰检测器、质谱检索引擎三大部分。下面将对三大核心部分的详细设计与实现分别进行描述。

3.2.1 数据解析

根据表1提供的MS文件存储结构,采用C++开发MS文件解析模块。解析MS文件有两个关键点:(1)MS数据采用Little endian模式存储,即低位字节排放在内存的低地址端,按字节读取多字节数据(如long、int等)时,需采用相应的模式进行转换;(2)MS数据中不同信息的数据存储所占的字节数略有不同,如表2展示了主要数据信息的单个数据占用字节,只有按字节读取正确的字节数,并转换成对应的数据类型,才能得到正确的色质数据。

表2 MS文件存储结构

3.2.2 谱峰检测器

谱峰检测在信号处理领域应用非常普遍。在色谱、光谱数据分析的诸多相关研究之中也有涉及。文中采用连续的小波变换,将峰检测问题转换成小波系数矩阵的脊线检测问题,以此定位谱峰位置。连续小波变换是对信号缩放和平移的基函数乘积的积分,其数学表述如式1和式2所示。

(1)

(2)

其中,s(t)为信号函数;a为尺度因子;b为平移因子;Ψ(t)为墨西哥帽小波基函数;Ψa,b(t)为经缩放和平移的小波基函数;C为小波系数矩阵。

谱峰检测算法的基本流程可以描述如下:

(1)对原始数据进行小波变换,得到不同尺度下的小波系数;

(2)连接不同尺度下小波系数的局部最大值,得到脊线;

(3)通过脊线确定峰的位置;

(4)过滤信噪比低的假峰。

该平台基于Armadillo C++科学计算库实现,图5展示了真实数据下,使用上述算法进行谱峰检测得到的最终检测结果。其中x轴表示保留时间,单位是分钟;y轴表示数据的丰度。

图5 使用连续小波变换进行谱峰检测的结果

3.3 质谱检索引擎

在一些包含复杂成分的色质数据中,经过谱峰检测后会得到许多待检索的未知质谱,每一个未知质谱都需与标准质谱库中的质谱计算匹配度,以此来决定其对应的定性结果。目前使用较多的标准质谱数据库有Wiley数据库和NIST数据库,两者均为商业数据库。以NIST08版数据库为例,该库的主库收录了212 961种物质的标准质谱。假设未知质谱数量为n,质谱库标准质谱数量为m,则需进行mn次匹配度计算,以烟草行业焦油数据为例,一个数据的匹配度计算量就达数以千万计。与桌面端应用不同的是,Web应用还需考虑多任务并发情形下的计算效率,当有p个并发检索任务时,匹配度计算量为m∑(n1+n2+…+np)。为加速匹配度计算,该项目组提出了一系列预检索算法,先采用简单策略快速过滤质谱库中明显不是候选结果的质谱,以此来减少后续匹配度计算的次数,这些策略对提高检索速度都起到了非常重要的作用。但面对Web模式下的多任务并发带来的大量未知质谱检索,仍然难以在可观的时间内完成。为此,文中利用GPU在并行计算中的优势,设计并实现了基于CUDA(compute unified device architecture)的快速检索方法。CUDA是NVIDIA公司针对其GPU门产品生产的一套可以使用类C语言进行通用计算的开发环境和软件体系,通过它可以调用GPU来完成协同计算。目前许多领域的计算问题都通过GPU加速得到了改观。GPU是一种非常适合于单指令多数据流(SIMD)模式计算的硬件,针对质谱检索问题,由于每个未知质谱的检索过程完全独立且完全相同,因此可以很好地应用到GPU上进行加速运算。此外,CUDA环境专门提供了一套GPU版本的线性代数库(CUBLAS),可以非常方便高效地实现向量运算的并行化。

另外,为使计算速度更快,本平台也采用一种基于强峰过滤的预检索方法。该方法首先对谱库进行筛选,得到候选质谱,然后采用夹角余弦公式进行未知质谱与候选质谱的匹配度计算。基于强峰的预检索方法为:将未知物谱图中最强峰与库中标准谱图第一至第八强峰进行比较,判断是否存在能匹配的质谱峰;然后将未知物谱图中第二强峰与库中标准谱图第一至第九强峰进行比较,判断是否存在能匹配的质谱峰;以此类推,直到未知物谱图中第八强峰与库中标准谱图第一至第十六强峰进行比较;如果都有能匹配的质谱峰,则入选为候选质谱,否则抛弃。使用夹角余弦进行匹配度计算时,为减小未知质谱中杂峰带来的影响,仅采用与候选质谱相同出峰位置的谱峰参与计算。在计算过程中,质谱库数据首先从主机内存复制到GPU端的全局内存(Global Memory)之中,以便每个线程都能访问该数据。随后,系统会给每一个未知质谱分配一个线程(Thread)用于预检测和匹配度计算。CUBLAS库中用于匹配度计算的cublasSdot内积函数描述如下。

//计算大小为arrSize的向量a、b的夹角余弦匹配度

float MatchFactor(float *a,float *b, int arrSize){float* d_a; float* d_b;

//为设备端数据分配内存空间

cudaMalloc((void**)&d_a,sizeof(float)*arrSize);

cudaMalloc((void**)&d_b,sizeof(float)*arrSize);

cudaMemcpy(d_a,a,sizeof(float)*arrSize,cudaMemcpyHostToDevice);

cudaMemcpy(d_b,b sizeof(float)*arrSize,cudaMemcpyHostToDevice);

cublasCreate(&handle_cos);

float* result=(float*)malloc(sizeof(float));

float* a_result=(float*)malloc(sizeof(float));

float* b_result=(float*)malloc(sizeof(float));

//调用cublas库进行内积运算

cublasSdot(handle_cos,channel,d_a,1,d_b,1,result);

cublasSdot(handle_cos,channel,d_a,1,d_a,1,a_result);

cublasSdot(handle_cos,channel,d_b,1,d_b,1,b_result);

cublasDestroy(handle_cos);

return *result/(sqrt(*b_result)*sqrt(*a_result));

}

4 运行测试与分析

表3描述了平台开发环境和服务器端的软、硬件情况。实验中所采用的客户端和服务端为同一计算机。其中,CPU的型号是i7,主频为3.4 GHz,内存大小为8 GB,GPU的型号是NVIDIA GTA1060,显卡显存为6 GB,CUDA版本是8.0,CUDA单元数为1 280。

表3 平台开发环境

客户端和服务器端都采用Windows 10操作系统。应用程序的运行需要Java环境支撑(JDK1.8以上),系统数据存储在MS文件存储结构中,通过C++开发MS文件解析模块,实现MS文件解析。

4.1 检测结果

实验采用安捷伦7890A-5975C气质色谱仪对某烟叶产地的烟丝在600℃下的裂解产物进行检测,并将输出的色质数据输入该平台进行检测,实验中的部分检测结果见表4。

表4 检测结果

续表4

4.2 检测结果分析

实验采用安捷伦7890A-5975C气质色谱仪对某烟叶产地的烟丝在600℃下的裂解产物进行检测,检测结果如表4所示。从表4可以看出,该平台可以较清晰地展现出谱峰检测的结果。为了验证平台解释色质数据的准确性,将该平台产生的解析结果与安捷伦7890A-5975C气质色谱仪产生的最后分析结果进行了比较,比较结果如表5所示。其中第一列为文中方法所产生的保留时间;第二列为文中方法产生的解析结果利用NIST05检索软件在标准库中的检索结果;第三列为安捷伦气质色谱仪所产生的保留时间;第四列是安捷伦气质色谱仪所产生的解析结果利用NIST05检索软件在标准库中的检索结果。从表5给出的实验结果可以看出,文中方法和安捷伦气相色谱仪两种方法产生的解析结果利用NIST05检索软件在标准库中的检索结果具有较好的一致性,这也说明该项目组开发的解析平台准确可靠。

表5 检测结果准确性验证

续表5

5 结束语

色谱-质谱联用仪对实验条件要求较高,分析软件庞大、笨重,且与硬件设备捆绑使用。由于仪器设备对运行环境有较高的要求,必须在专门的实验室环境下运行,不便于移动。另外,实验人员必须在仪器周围,全程参与、监督整个分析过程。即使实验人员将生成的色质数据进行暂时保存,在后期的分析过程中还需要安装庞大、复杂的专用分析软件,而这些专用软件都是与相应硬件设备捆绑销售,利润极高,极大地增加了数据分析成本,在这一系列复杂软件中有部分软件还对使用范围作了限制,这给数据分析应用带来了巨大的不便,严重影响了该领域的发展。其次,仪器分析软件存在多种缺陷,在某些应用场景中无法得到准确的结果,而仪器的封闭性强,更好的解决方案无法载入。分析软件的缺陷和封闭性严重影响了该领域的应用和发展。文中基于Node.js的Express应用框架,设计开发了一款基于Web的色质数据解析平台,实现色质数据可视化、谱峰检测以及质谱检索功能,并采用GPU加速技术解决多任务并发的运算速度问题。该平台便捷、高效,部署和使用都十分简单。实验结果表明,该平台在保证解析结果准确性的同时,能有效地提高工作效率。

猜你喜欢

谱峰质谱检索
连续波体制引信多谱峰特性目标检测方法
气相色谱质谱联用仪在农残检测中的应用及维护
X射线光电子能谱复杂谱图的非线性最小二乘法分析案例
基于无基底扣除的数据趋势累积谱峰检测算法
岩性密度测井仪工作原理与典型故障分析
2019年第4-6期便捷检索目录
专利检索中“语义”的表现
吹扫捕集-气相色谱质谱联用测定水中18种挥发性有机物
枣霜化学成分的色谱质谱分析
Modeled response of talik development under thermokarst lakes to permafrost thickness on the Qinghai-Tibet Plateau