吳曉明 杜建強 劉麗麗 王 旭 祁長樂 張虎勤 王 波
【摘要】介紹了多媒體網絡課件中的交互式技術,提出利用網絡組件,通過Web瀏覽器運行Linux平臺生物信息軟件,并實現網絡課件中交互功能的方案。基于這一方案,開發(fā)了生物信息學網絡課件的部分內容,構建了Blast、Emboss等常見生物信息學算法和軟件的運行環(huán)境,實現了網絡環(huán)境下生物信息學算法教學的實踐環(huán)節(jié)。
【關鍵字】網絡課件;生物信息學;交互操作;Linux
【中圖分類號】G40-057 【文獻標識碼】A 【論文編號】1009—8097 (2009) 02—0100—04
引言
隨著計算機技術和教育信息化建設的發(fā)展,多媒體網絡課件在教學活動中開始發(fā)揮重要作用。多媒體課件通常包含傳統課本中的文字和圖片,以及動畫、音頻、視頻等數字化信息,展示能力很強。新發(fā)展的虛擬現實技術、流媒體技術等,為各類信息的展示提供了更豐富的效果和途徑。網絡課件還能夠發(fā)揮網頁的程序分析能力,從而開發(fā)出具有很強交互能力的應用。
利用網絡課件,可以達到隨時學習和自主學習的效果,實現多通道的知識傳播。交互式功能的實現能夠提高學生學習的興趣,從而加深對一些知識的理解和掌握,促使自主學習過程的形成。此外,利用網絡平臺,構建大范圍的協作關系,可以實現關聯學習過程。因此開發(fā)高水平、內容豐富、具有交互特性的網絡課件是教學改革和創(chuàng)新的重要內容。
一 網絡課件設計的主要技術
許多傳統技術已經被應用于設計多媒體課件[1]。動畫GIF是一個非常簡單、顯示動態(tài)信息的方法,瀏覽器不需要額外的軟件支持,本身就能夠顯示動畫,許多課件用它實現了運動展示、過程模擬等功能。與此相類似的還有全景圖像,它首先對物體進行360?全景攝像,然后將圖像進行拼接、視角變形等技術處理,借助插件,給瀏覽者展現虛擬物體的三維全貌。RM格式流媒體能夠顯示視頻、音頻信息,適合網絡的傳輸。利用這些技術制作出的課件功能豐富,但缺乏交互性。近些年,一些新的交互方法的使用,增強了網頁和網絡課件的展示效果。
1 FLASH技術
FLASH是一種交互式矢量多媒體技術,可以將聲音、動畫以及交互式響應融合在一起,能制作出高品質的顯示效果。它使用的矢量圖形可任意縮放尺寸而不影響圖形的質量,通過使用關鍵幀和圖符使生成的動畫文件非常小,流式播放技術使動畫可以邊播放邊下載,適合網絡傳輸的現實狀況。聲音格式支持MP3等高度壓縮的格式,使包含音樂的動畫文件也能保持小文件體積。此外,通過ActionScript和FSCommand的交互性,使Flash更加靈活,成為新的多媒體課件支持技術。
2 JavaScript動態(tài)網頁編程
目前的WEB網頁含有或多或少的JavaScript程序。它能對網頁中的信息進行處理,實現許多應用程序才能夠完成的功能。除了增強顯示的效果之外,它還可以用于實現簡單的數據分析。用于生物序列處理在線工具包(the Sequence Manipulation Suite,SMS)[2]就是利用JavaScript實現了數個生物信息學的應用的一個例子,它是DNA與蛋白序列分析的線工具集合,其功能涉及就是密碼子使用、CpG島識別、ORF查找、限制酶切位點識別等。
3 VRML、X3D技術
虛擬現實語言(VRML)能夠描述三維場景中對象的尺寸、形狀、色彩、材質、紋理、燈光等屬性,通過對簡單形狀的組合,可以構建復雜的幾何形狀,描述三維物體,同時它也支持交互功能。通過程序接口和使用JavaScript編程,可以由外界程序實現對VRML場景的完全控制,完成VRML語言本身不能實現的轉折、分支、循環(huán)等基本過程控制。在遠程教育系統中,利用虛擬現實語言,結合Java、數據庫技術可以建立基于Web 的交互型虛擬實驗室[3],學生不必親臨實驗室,卻能達到同樣的效果。在課件的設計和制作方面也有廣泛的應用[4][5]。許多生物分子的三維顯示是通過該方法實現的[6][7]。
4 Java Applet技術
Java Applet是一種在網頁中運行的Java小應用程序, 直接嵌入到Html語言中,通過網頁發(fā)布。運行時需要在計算機上安裝Java運行環(huán)境??梢詣?chuàng)建集文字、聲音和動畫于一體的多媒體WEB頁面。許多算法的示教也是通過該方法實現。例如,蛋白質相互作用網絡使用Applet表現,有很好的顯示效果[8]。由于能顯示較好的三維效果,常用于醫(yī)學圖像的示教網頁[9]和相互作用組學的顯示[10]。
5 具有較強交互功能的技術
通過使用服務端編程,可以實現更加復雜、功能強大的交互。當用戶執(zhí)行一些操作后,信息會返回到服務器端的程序,執(zhí)行下一步的指令,實現真正的用戶-服務器之間的交互,這些方法包括JSP技術和ASP技術等。JSP由Sun公司發(fā)布,ASP由Microsoft公司開發(fā),兩者技術非常相似,都提供了在Html代碼中混合程序代碼、并由語言引擎執(zhí)行的能力。此時,Html代碼負責描述信息的顯示,而程序代碼則用來執(zhí)行相應操作。
二 通過網頁實現多服務器的交互-組件方法
在生物信息學的教學中,許多算法對應有源程序,而且大多都是基于Linux系統的程序,對這些軟件的安裝、運行和使用能加深對算法的理解。這些軟件中許多是命令行程序,可以通過Telnet的方式運行。網絡課件所展示的信息都位于Web服務器上,而當需要更多交互式應用時,完全依賴Web服務器本身就比較困難。通過在網絡服務器上添加網絡通訊的服務,連接到其它計算機執(zhí)行交互式操作,再把結果返回給用戶,就能夠減輕服務器的負擔,并實現一些在此之前不可能實現的功能。
為了更為有效的實現“算法學習”——“測試運行”的結合,可以通過服務器端編程,在網頁上實現Telnet的功能,把程序測試和算法介紹融合在一起。本文的一個目的就是實現這樣的功能:在網頁上實現Telnet,遠程登錄到安裝有生物信息學算法軟件的Linux主機上,主機上的生物信息學資源就可以在B/S環(huán)境中得到更加充分的利用。要實現這樣的功能,一些組件可以使用,它們包括:Webtelnet,XceedSoft,TeraTerm、PowerTCP Telnet Tool,ActiveSocket等,這里對它們做一簡單介紹。
1 TeraTerm
是一個開源的終端模擬通訊軟件,能夠實現和其它計算機的通訊功能。當運行在服務器上,可以通過調用URL傳遞的參數,執(zhí)行通訊功能。它的最新版本是TeraTerm Professional 4.58,對應的下載地址是 http://ttssh2.sourceforge.jp
2 PowerTCP Telnet Tool
是美國Dart Communications公司開發(fā)的ActiveX控件。支持Visual Studio、ASP、C++Builder、Delphi等開發(fā)環(huán)境,提供了建立、使用和終止會話的方法,使用者不必關心協議實現細節(jié),極大的簡化了使用這些協議的編程難度??丶梢院蚒nix主機、路由器、終端服務器等設備直接進行Telnet通信,并支持間接的Telnet訪問。通過ASP中的ActiveX控件編程,可以使用Telnet協議訪問Unix主機,從而實現網頁中的Telnet功能。
3 ActiveSocket
是ActiveXperts公司(http://www.activexperts.com)開發(fā)的網絡通訊組件。把各種網絡通訊的協議進行了封裝,使普通編程人員也能夠利用網絡實現通訊,而不需要特別的專業(yè)知識。能夠實現Http,Ftp,UDP,DNS,ICMP等應用,當然,也能夠實現Telnet的功能。ActiveSocket控件使用簡單,使用方法是利用程序創(chuàng)建一個針對具體通訊協議的對象,如需要Telnet時,創(chuàng)建一個Telnet對象,就可以使用一些專門針對Telnet定制的一些屬性和方法,進而利用這些屬性和方法,在程序中的有目的的調用,實現通訊的工作。
(1) 組件的主要屬性:
ConnectionState:表明當前的連接狀態(tài),通過該屬性可以了解組件和網絡的連接狀態(tài)。
RemoteAddress:表示當前連接的IP地址。
LastError:返回最后一次方法調用時的出錯信息,用于判斷方法調用是否成功,可以用來獲取控件執(zhí)行每個指令的結果。
(2) 組件的主要方法:
Connect:建立一個連接,格式為:Object.Connect Host,Port。其中Host為要連接的主機地址,Port為需要連接的端口,對于Telnet服務Port缺省為23。
Disconnect:關閉一個已經打開的網絡連接,格式為 Object.Disconnect。
SendString:當網絡連接已經建立好后,向服務器發(fā)送數據,實現通訊過程中的數據傳輸。
ReceiveString:通過網絡連接接收字符串,即從服務器獲取數據。
Sleep:控件等待服務器響應的時間,以便服務器所進行的操作執(zhí)行完畢并返回結果,用于處理網絡延遲。
三 生物信息學算法實時交互網絡課件的開發(fā)
在生物信息學課程的教學中,對基本算法的理解和掌握非常重要。這些算法屬于多個領域,如序列比對、系統發(fā)生分析、蛋白質二級結構預測、數據庫查詢、格式轉換等。在生物數據的信息學分析過程中,基本的算法會經常用到,熟悉每個算法的參數,掌握軟件的使用技巧尤為重要。對于BLAST程序,這些參數包括WordSize、打分矩陣名稱、空位罰分等。這些參數對算法的結果影響很大,通過使用不同的參數運行這些程序,并比較結果之間的差異,可以達到對算法的較好掌握。
對于Linux環(huán)境下的生物學相關軟件和算法,因為涉及到Linux系統的一些專門知識,安裝、運行和試用并不容易。同時,由于學生的課程較多,配置一個可以進行生物學軟件的運行環(huán)境需要耗費大量的精力,對于本科生來說幾乎不現實。此外,許多軟件還涉及生物數據庫的配置,也增加了安裝和調試的困難。借助互聯網,把配置好的計算機提供給用戶使用,可以避免學生學習過多的Linux系統專門知識,使他們的注意力集中在算法本身上,因此具有很好的應用價值。
1 系統規(guī)劃
一臺網絡服務器,在其上可以安裝網絡課件。一臺Linux的服務器,安裝多個生物信息學的軟件、生物數據庫,網絡服務器能夠訪問Linux服務器。用戶通過網絡服務器瀏覽網絡課件,當瀏覽到包含一些算法的時候,網頁中就會出現一個專門開發(fā)的頁面區(qū)域,也就是連接到Linux服務器的區(qū)域,由服務器端的程序控制。在該區(qū)域可以輸入Linux的命令,這些命令會傳遞到網絡服務中的程序,程序調用控件中的方法連接到指定的Linux服務器,并進行數據的雙向傳輸工作,如圖2:
2 服務器軟硬件配置
(1) Linux服務
Linux服務器主要安裝生物信息軟件。在生物信息的應用中,Blast是最為常見的一個程序,有著廣泛的用途,具有一定的代表性。雖然許多網站有WEB格式的Blast程序,但這些程序大多是WEB服務器調用命令行版Blast程序,并處理其結果。為了更好的了解其程序的功能,需要熟悉其中的若干參數,而作為Web服務的Blast,許多參數都是用的是默認值,以至于不被注意。
命令行的Blast可以自由設置這些參數,通過使用不同參數運行程序,并比較其結果,可以加深對該程序的理解。在這里,我們利用一臺計算機配置了一個Linux服務器,并在其上安裝了Blast軟件和Emboss軟件包,配置了Telnet服務。安裝的數據庫包括:swissprot、ecoli等。Emboss生物信息軟件包有多個類別的生物信息學程序,每一個都可以單獨執(zhí)行。其中的許多軟件對應于非常簡潔、明確的算法,如GOR程序和Smith-waterman程序。
(2)Web服務器
Web服務器安裝Telnet控件ActiveSocket、IIS、網絡課件和服務器端Asp程序,包含有調用ActiveSocket組件的代碼。生物信息學算法介紹、程序的使用方法等也都位于該服務器上。
(3)硬件
Web服務器:Dell Precision T5400工作站:Intel Xeon E5410,4G內存,250G硬盤。
Linux服務器:Dell PowerEdge 1300服務器:Intel pentium III,733MHz(主頻),256M內存,18G硬盤
3 使用方法和界面
在瀏覽器地址欄輸入http://192.168.0.1/webcourse/ testpage.asp后,就可以進入測試頁面,同普通的網頁一樣,包含有算法的文字介紹、對應軟件、運行參數、測試數據等信息。
頁面的左邊是一個樹形的節(jié)點列表,每個都對應一個知識點,中間是每部分的內容介紹。當需要進行測試的時候,在頁面右邊有一個類似窗口的區(qū)域,在該區(qū)域能夠實現Telnet的功能??梢酝ㄟ^該區(qū)域向Linux服務器發(fā)送各種命令,執(zhí)行該服務器上的生物信息學程序,等同于連接到真正的Linux服務器。程序的返回結果也在該區(qū)域能夠查看。若結果較多時,也可以通過提供的鏈接下載文本格式的結果文件到本地計算機進行查看。
4 系統的測試運行
Blast程序:
登陸到頁面,填好IP地址,用戶名,執(zhí)行連接,顯示連接成功,在命令文本框輸入:
blastall -p blastn -d ecoli.nt -i test.txt
在命令結果文本框就會出現Blast的結果。
由于在調用Blast程序的時候,沒有使用-o 參數,若使用通用的Telnet 軟件執(zhí)行該命令后,結果會顯示在Telnet軟件的終端,而不會輸出到文件。當通過ActiveSocket執(zhí)行該命令時候,ActiveSocket會模擬一個Telnet的終端,獲得執(zhí)行結果的數據,這些數據最終被服務器端ASP腳本語言接收,并顯示在命令結果區(qū)域,出現圖4所示的結果。
實際上,對于任何一個安裝在Linux服務器上的生物信息軟件,都可以通過網頁調用Telnet的方法運行,并在結果區(qū)域查看運行結果,了解算法對應的參數、使用技巧等知識。通過把Telnet功能和WEB頁面集成在一起,可以非常方便地實現算法介紹、測試運行、分析結果的一套完整方案,多目標段學習內容都能夠通過一個網頁實現,達到隨時學習、隨時測試的目的,比傳統的網絡課件功能廣泛而強大。
四 結論
網絡新技術由于有更出色的表現力和功能,逐漸增強并取代著傳統的技術。不斷發(fā)掘和應用這些新的技術,使網絡課程的設計和建設能達到高效、快捷、多功能的目標,它們的應用能使網絡課件獲得更加出色的表現形式。
本文通過使用網絡組件提供的計算機間通訊,實現網絡課件的交互功能。利用ASP程序開發(fā)了動態(tài)頁面,在頁面中加入了訪問運行生物信息軟件的局域網其它計算機的功能,由WEB Server端的ASP程序登錄到Linux主機,完成指定操作,運行相關生物信息學軟件。以Blast程序為例,介紹了系統構架和使用方法。實際上,只需要在Linux服務器上配置更多的算法和軟件,它們也都可按照類似的方法運行,即通過WEB頁面顯示算法的信息,并實現通過WEB的測試運行。在學習過程中,學生只需要訪問網絡課件所在的服務器,根據課件教程,在網頁實現相關算法的運行測試,提升了教學效果。
參考文獻
[1] 徐雷.網絡課件若干關鍵技術實現研究及其具體應用[D].杭州:浙江大學,2003.
[2] 序列處理在線工具包(SMS)生物軟件網翻譯版[EB/OL].
[3] 陸峰,李新.基于Web 的交互型虛擬實驗室[J].忻州師范學院學報,2006,22(2):54-57.
[4] 林浩.基于X3D的交互式三維課件設計[J].中國科技信息,
2005,24:190.
[5] 胡奇光.VRML在網絡課件中的應用[J].計算機時代,
2005,3:38-39.
[6] 何敏,謝桂榮,周家駒.VRML在分子模型中的應用[J].計算機與應用化學,2000,17(2):133-134.
[7] 劉瑋,胡歡,徐士進,等.VRML和JAVA融合機制用于晶體結構建模[J].計算機與應用化學2007,24(10):1329-1332.
[8] Ralf Mrowka. A Java Applet for Visualizing protein-protein interaction[J].Bioinformatics. 2001, 17 (7):669-671.
[9] Chun-Shan Yam, Deborah Levine, Mizuki Nishino, et al. A Simple Method for Displaying Cine Images on Web-Based Teaching Files[J]. AJR: American Journal of Roentgenology, 2005, 184(2):691-694.
[10] Aaron N. Chang, Jason McDermott, Ram Samudrala,. An enhanced Java graph applet interface for visualizing interactomes[J]. Bioinformatics, 2005, 21(8):1741-1742.