APP下载

多功能动态三维GC-MS虚拟实验室的构建

2012-07-25林丛丛张永策付晓靓刘志广

计算机工程与设计 2012年3期
关键词:工作站质谱仪器

林丛丛,张永策,付晓靓,刘志广

(大连理工大学 化工学院,辽宁 大连116024)

0 引 言

随着虚拟现实技术的发展,虚拟实验室已成为研究热点,其仿真性、交互性、资源共享性、用户自主性[1]等方面的不断提升使虚拟实验与实物实验的互补优势逐渐发挥出来。因此,虚拟实验室得到了科学研究、教育培训等方面的普遍认可,并取得了较快的发展[2-14],但如何提高虚拟实验室的沉浸感、交互性、人性化则是关注的焦点。

气相色谱-质谱联用 (GC-MS)技术是应用广泛的一种联用仪器技术,集中了两种分析仪器的优点,因而以其为研究对象来构建虚拟实验室具有较大的挑战性,特别是基于虚拟现实技术、由虚拟人物引导、可进行非线性交互操作等多功能模式的GC-MS虚拟实验室,目前还未见报道。基于此,本文以Flash为工作站开发平台、Virtools为三维场景开发平台,并引入虚拟人物,构建了一个可进行虚拟实验条件优化、初步谱图数据查询解析,能提供实时指导与评价及数据处理功能的网络化多功能动态GC-MS虚拟实验室。所构建的虚拟实验室沉浸感强、功能完善、交互操作逼真,而且谱图库采用开放性设计,可以根据需求向谱图库中自行、无限制添加谱图,从而制作出自己的完整GC-MS虚拟实验室系统。其构建模式及技术也将对其它分析仪器虚拟实验室的研究具有借鉴意义。

1 气相色谱-质谱联用仪虚拟实验室的总体设计

高交互的GC-MS虚拟实验需要实现参数设定、实验条件优化、谱图数据分析查询等多种功能,则必然涉及到数据与信息的实时传递,由于其结构的复杂性和功能的多样性,下面对GC-MS虚拟实验室进行总体框架结构与功能的设计。

1.1 虚拟实验室的结构框架设计

构建网络化、场景化、高交互、智能化的GC-MS虚拟实验室需要包括虚拟场景、虚拟仪器和虚拟人物3个主要的因素。按照真实实验过程,将虚拟实验室分为 “实验学习”、“仪器介绍”、“气瓶室”、“样品分析室”、“指导与评价”、“谱图分析”六大模块,其中作为整个虚拟实验过程核心的 “样品分析室”又可分为自由操作和线性操作两种平行模式。通过调节载气流速,设定进样量和程序升温等条件获得不同的色谱分析流出曲线,进而得到各个组分的质谱图和其检索结果,完成定性分析。模块间进行数据与信息的实时传递,构成完整的气相色谱-质谱联用仪虚拟实验室。其总体框架如图1所示。

图1 三维GC-MS虚拟实验室的结构框架

虚拟实验室中的工作站、谱图的动态绘制分析界面是工作的重点之一。本文曾采用Virtools中的二维帧 (2D Frame)进行制作,但其实现过程只是将使用位图的二维帧进行简单的显示、隐藏和其脚本模块的罗列,灵活性不强,并且位图过多还会导致文件容量增大,降低系统运行效率。基于此本文采用了图像质量精确、交互功能强大的Flash为工作站的开发平台,而实验仪器操作环境则选用能实现更佳视觉效果和沉浸感的Virtools三维开发平台构建,但由此面临着如何将Flash和Virtools两种软件作品整合以及如何实现它们之间的数据通信等关键技术问题。有关构建方法及技术将在后面讨论。

1.2 虚拟实验室的功能结构设计

(1)实验条件优化功能:使用者可以通过改变分析参数,观察条件改变后总离子流色谱图中各组分的保留时间、分离度等的变化来确定最佳实验条件。本文通过确立数学模型预测色谱保留时间,实现分析参数与工作站间数据的实时传递,并绘制不同实验条件下的总离子流色谱图。

(2)质谱图解析查询功能:使用者可将质谱图导入,通过系统把谱图数据化来识别、重绘,得到质荷比 (m/z)和质荷比的差值,根据事先输入的化学规则来初步推断化合物类型、是否含有同位素离子峰、最右端的峰是否具有合理的质量丢失等信息。同时,还可通过输入化合物的分子量、分子式、中文名称和英文名称来进行质谱图和相应裂分过程的检索。

(3)仪器内部结构和工作原理的可视化功能:GC-MS为封闭运行且价格比较昂贵,为了让使用者对仪器有直观的认识,本文中可以通过点击来移动仪器外壳以便观察仪器内部结构及连接状态,并可利用鼠标拖拽从不同角度查看,有利于了解GC-MS的结构流程。另外,为了让使用者对GC-MS工作原理有具体的认识,还通过二维交互动画方式展现其工作过程。

(4)监控评价功能:对使用者的操作过程进行实时跟踪评价体现了虚拟软件的人性化设计,本文通过对线性操作模式和自由操作模式分别进行操作步骤跟踪提示和错误警告,将动态交互操作数据进行记录与管理的同时跟踪操作质量,根据分数和实验时间最终给予评价。

2 气相色谱-质谱联用仪虚拟实验室的构建方法与实现技术讨论

虚拟实验中装置仪器和工作站是主体,交互操作是核心,跟踪评价为灵魂。GC-MS虚拟实验室构建过程中,对仪器设备及场景环境进行三维建模及优化是整个系统开发工作的基础。同时基于Flash的工作站和谱图分析也是虚拟实验室的重要部分。下面就对虚拟实验室的具体构建方法进行讨论。

2.1 虚拟实验室中模型的构建

本文采用3ds Max进行建模,建模过程中需要考虑优化问题,在保持物体相像的同时尽量降低面的使用,一些具体技巧如下:①模型的顶点和边要对齐,并焊接位置重合的点;②次要模型要简化,删除不在场景中显示的面;③Loft(放样)建模,尽量减少放样路径和截面形体的Steps;④若场景中有多个相同物体,采用Instances(关联复制)复制出其它物体,这样复制的模型导入Virtools中共用一个Mesh,有效地减少了面数,如试样瓶、溶剂瓶的建模。所构建的虚拟实验室和工作站如图2所示。

图2 虚拟实验室及工作站界面

2.2 虚拟实验三维场景中交互的实现

虚拟实验中的仪器操作、人物的控制、自动跟踪评价等内容均在Virtools中实现。本文采用将BB模块与VSL编程结合的方法进行制作。下面就以自动进样盘转动进样和自动跟踪操作步骤为例对实现交互的具体构建方法进行讨论。

2.2.1 自动进样盘转动效果的制作方法及技巧

自动进样器具有效率高、精度高、操作方便等优点。本文模拟的自动进样器中的进样盘,可以根据在工作站中设定的试样瓶编号和进样前后洗针次数来转动进行自动洗针、取样和进样。实现此效果,首先要确定进样盘的转动角度,由图3可知进样盘上相邻两瓶之间的角度θ为(360°-95°)/10。在采用VSL编程的wash1模块中,设置输入参数pIn,将洗针次数xizhen1的值赋给pIn。定义变量i代表循环次数,经过一次wash1模块,i++。当i小于pIn时,重复转动洗针;当i等于pIn时,洗针结束,继续向下激活取样模块。此时进样针对准溶剂瓶A,要实现进样针按要求转到指定的试样瓶上,运用Calculator、Bezier Progression、Rotate模块连接,将样品瓶编号SampleNum的值赋给a。可以推出溶剂瓶A和试样瓶a之间的角度为(11-a)θ。因此在Calculater模块中输入公式 (11-a)*26.5/180*π,即可计算出进样盘应转动的弧度。交互脚本如图4所示。

图3 进样盘设计

图4 Virtools中的进样盘交互脚本流程

2.2.2 自动跟踪操作步骤功能的实现

交互操作中采用同步显示操作步骤的方式来进行虚拟实验的指导。例如图5中第1步,当虚拟人物打开气瓶间的门进入时,连接的send message模块即向level层里如图6所示的ID Resolution模块发送消息A00,第一步文字后面就会出现 “√”,表示此步骤已完成,图6中快捷方式Section Array为所选试样对应的操作步骤。

2.3 虚拟实验室中二维工作站和查询解析系统的构建

工作站是仪器的重要部分,基于Flash的GC-MS虚拟工作站对三维仪器操作面板上输入的实验参数进行数据处理,进而实现谱图的动态绘制和分析。根据不同的条件进行实时的数据输出,通过分析总离子流色谱图得出相应组分的质谱图。

2.3.1 数学模型确立和流出曲线的绘制

本文采用式 (1)预测保留时间、式 (2)确定色谱流出峰的半峰宽Y1/2和式 (3)修正的高斯分布模型[5]来描述组分色谱峰y

式中:k——分配比、L——色谱柱长、T——分离柱温度、u——载气流速、σ——标准偏差、cpara——组分含量修正的峰高值,常数项A、B、m、n均可根据实际的实验数据确定。基于上述数学模型,采用ActionScript 2.0编写流出曲线绘制程序,根据样品种类、设定的柱温、流速、进样量等参数,计算得出不同总离子流色谱图。动态出图的部分程序代码如下:

_global.draw_curve=function (target:Object){

target.createEmptyMovieClip (" _curve",2);

target._curve.lineStyle(0,0x0000FF,100);

var a=real_pixel(0,0);

target._curve.moveTo (a [0],a [1]);n=0;

refreshme=function(){n++;

Var h= normalCurve (tr1,0.12,sigma1,n/60)+normalCurve (tr2,0.25,sigma2,n/60)+normalCurve(tr3,0.25,sigma3,n/60)+normalCurve (tr4,0.35,sigma4,n/60)+normalCurve(tr5,0.4,sigma5,n/60)+2;

a=real_pixel(n/60,h);

target._curve.lineTo (a [0],a [1]);};

intervalID=setInterval(refreshme,1000/60);};

2.3.2 谱图查询和解析功能的实现

谱图查询界面如图7所示,查询界面上设置输入文本,使用者输入要查询的化合物,点击查询按钮,系统调入检索外部XML数据进行搜索,当变量中的数据与XML数据中某一项相匹配时,系统调入谱图库中对应的谱图。此外还运用FileReference类把质谱图调入系统,采用鼠标Press事件调用BitmapData.getPixel()方法,获得谱线的颜色值,通过判断颜色来比较得出相同横坐标上纵坐标最大的点,用lineTo方法函数垂直横坐标画线即可重绘谱图,从中提取峰信息,使用者点击质荷比差单元格时,DataGrid.cellPress向侦听器广播,调用结构判断函数,在右侧显示可能的结构。如图8所示。

3 三维仪器场景和二维工作站之间消息传递的实现

虚拟实验室涉及到进样口温度、程序升温及载气流速等参数在二维和三维软件之间的数据通信和信息共享,需要对数据进行传输。通过将Virtools和Flash导出成网页格式,放在xampp/htdocs下的文件夹中,用Dreamweaver将这两个网页整合在一起,编辑HTML源代码,给<head>标签添加JavaScript,如下所示,实现三维仪器设备交互操作和二维工作站间数据与信息的传递:

<script language="JavaScript"for="VT"EVENT="VirtoolsEvent(EventName,EventData)" >

SendToFl(EventData);

function SendToFl(EventData)

{ window.document.fl.SetVariable ( EventName,EventData);

if(EventName=="start"){

window.document.fl.TGotoLabel (" —root","start");} }

<script language="JavaScript"for="FL" >

function SendToVT (Tag,Msg)

{var cmd = "SendMessage" +′′+ "′" + Tag+"′" +″+"′" +Msg+"′";

var object= document.getElementById ("VT");document.VT.DoCommand (cmd);}

3.1 Virtools向Flash消息的传递

利用Virtools中的Fire Virtools Event模块在网页中触发virtools事件,并在Dreamweaver中编辑HTML源代码获得此模块的两个参数 (EventName和EventData),通过两种方式来实现消息的传递。一是在EventName处写入要向Flash中传数据的动态文本绝对路径,此模块激活时便不断向动态文本发送数据,实现数据同步显示;二是在EventName处写入一个名称,例如写入start,用上面的代码:if(EventName=="start")在网页内判断,如果为真,则运用TGotoLabel(target,label)函数跳转到" —root"目标时间线上"start"指定的帧标签。

3.2 Flash向Virtools消息的传递

交互设计中实现同步显示操作步骤,当二维工作站中点击相应操作按钮时,即向Virtools发送消息:getURL("javascript:SendToVT (tag,msg)")。其中tag为发送消息的目标位置,msg为发送的消息。例如图5中,第10步点击二维工作站中的 “编辑方法”按钮,在 “编辑方法”按钮上写入代码:on(release) {getURL ("javascript:SendToVT (′level′,′A09′)" );},当 按 钮被点击 时,即 向level层发送消息A09,图6所示的ID Resolution模块接收消息,实现Flash向Virtools的消息传递。

4 结束语

本文以GC-MS为研究对象,以Flash为工作站开发平台、Virtools为三维场景开发平台,并引入虚拟人物,构建了一个二维与三维结合的、可进行虚拟实验条件优化、谱图数据分析查询,能提供复杂交互操作、数据处理及实时跟踪评价功能的网络化多功能动态GC-MS虚拟实验室。所构建的虚拟实验室实现了二维工作站中总离子流色谱流出曲线的动态绘制、Virtools和Flash之间的消息数据传递及多种功能的交互设计,同时谱图库采用开放性设计,增强了软件的灵活性和扩展性。在仪器操作培训、GC-MS实验的网络学习等方面具有较大的应用价值,对今后复杂系统的构建奠定了基础,也对相关虚拟现实作品的构建具有一定的借鉴作用。

[1]LI Yun,WU Huifeng.Research and application of virtual laboratory based on web [J].Examination Weekly,2010,4(20):165(in Chinese).[李云,吴慧峰.基于Web的虚拟实验室的研究和应用 [J].考试周刊,2010,4(20):165.]

[2]Beatriz Barros,Timothy Read.Virtual collaborative experi-mentation:An approach combining remote and local labs [J].IEEE Transactions on Education,2008,51 (2):242-250.

[3]Wies aw T acza a,Grzegorz Grajner.Virtual laboratory with simulated nuclear physics experiments [J].Expert Systems with Applications,2008,57 (8):1766-1770.

[4]Milo D Koretsky,Danielle Amatore.Enhancement of student learning in experimental design using a virtual laboratory [J].IEEE Transactions on Education,2008,51 (1):76-85.

[5]Barney Dalgarno,Andrea G Bishop.Effectiveness of a virtual laboratory as a preparatory resource for distance education chemistry students[J].Computers and Education,2009,53 (3):853-865.

[6]Carlos A Jara,Francisco A Candelas.Real-time collaboration of virtual laboratories through the internet [J].Computers &Education,2009,52 (1):126-140.

[7]Maria Limniou,Nikos Papadopoulos.Integration of simulation into pre-laboratory chemical course:Computer cluster versus WebCT [J].Computers and Education,2009:45-52.

[8]WANG Wenjun,LI Bing.Application of virtual simulation technology in medical education [J].China Medical Education Technology,2008,22 (3):230-232 (in Chinese).[王文军,李冰.虚拟仿真技术在医学教学中的应用初探 [J].中国医学教育技术,2008,22 (3):230-232.]

[9]WANG Hongxu,YANG Xue.Application of Virtools in the development of 3Dnetwork virtual experiment [J].Research and Exploration in Laboratory,2009,28 (2):75-78 (in Chinese).[王洪旭,杨雪.Virtools在开发网络三维虚拟实验中的应用 [J].实验室研究与探索,2009,28 (2):75-78.]

[10]LIU Zhiguang,LI Wencai.Simulation of PTGC retention time and construction of GC- MS virtual laboratory [J].Computer and Applied Chemistry,2009,26 (11):1497-1502(in Chinese).[刘志广,李文彩.基于程序升温法保留时间预测的气-质联用系统构建虚拟实验室 [J].计算机与应用化学,2009,26 (11):1497-1502.]

[11]YAN Na,LV Baohe.Research on simulation technology of whole scene of producting beer training in miniature [J].Computer Engineering and Design,2009,30 (13):3234-3239(in Chinese).[闫娜,吕保和.小型啤酒生产实训全场景仿真技术研究 [J].计算机工程与设计,2009,30 (13):3234-3239.]

[12]YANG Dagui,AI Jingbo.Development and application research of 3Durban simulation systems based on Virtools [J].Geomatics & Spatial Information Technology,2010,33(5):94-99 (in Chinese). [杨大贵,艾靖播.基于 Virtools的数字城市三维仿真系统开发与应用研究 [J].测绘与空间地理信息,2010,33 (5):94-99.]

[13]FANG Liwei.Research and realization of 3Dvirtual laboratory based on Virtools [J]. Experimental Technology and Management,2010,27 (5):83-86 (in Chinese). [方利伟.基于Virtools的三维虚拟实验室研究与实现 [J].实验技术与管理,2010,27 (5):83-86.]

[14]LI Zhaoxin,ZHANG Dakun.Implementation and its applications of 3Dmodel dynamic interactive movement [J].Computer Engineering and Design,2010,31 (2):455-458 (in Chinese).[李兆歆,张大坤.基于VSL语言的三维动态交互移动实现及其应用 [J].计算机工程与设计,2010,31 (2):455-458.]

[15]LIU Zhiguang,WANG Yabin.The simulation of gas chromatography analytical process and the build of web virtual apparatus based on action script [J].Computer and Applied Chemistry,2006,23 (12):1323-1326 (in Chinese). [刘志广,王雅彬.基于ActionScript程序设计的气相色谱分析过程模拟与网络虚拟仪器的建立 [J].计算机与应用化学,2006,23 (12):1323-1326.]

猜你喜欢

工作站质谱仪器
左权浙理大 共建工作站
《现代仪器与医疗》2022年征订回执
《现代仪器与医疗》2022年征订回执
气相色谱质谱联用仪在农残检测中的应用及维护
戴尔Precision 5750移动工作站
我国古代的天文仪器
吹扫捕集-气相色谱质谱联用测定水中18种挥发性有机物
枣霜化学成分的色谱质谱分析
Modeled response of talik development under thermokarst lakes to permafrost thickness on the Qinghai-Tibet Plateau
移动式CIP及SIP工作站(可记录型)