檔案名稱:tech-autogcg.htm

回生工秘笈

生工秘笈第零零貳帖

GCG分析自動化


前言

批次檔的介紹與應用

  批次檔-電腦的作業簿 
  產生批次檔 
  執行批次檔 
  牛刀小試 
  練習1 

由批次檔啟動GCG套組程式

實兵操演

  範例1
  練習2


前言

隨著電腦科技的日新月異,電腦在各個領域所扮演的角色均日形重要,生命科學研究自然也不例外。然而以大家依賴甚深的GCG套組為例,GCG雖然提供許多強大的功能,但其使用方便性卻仍不甚理想,更別提「揣摩上意」或「觸類旁通」等幾近人工智慧的自動化要求。在您辛苦地學會GCG程式的指令,正準備利用GCG套組快速而有效率地處理大量的序列資料時,您可能會猛然發現,您依然必須花費許多時間跟GCG程式以「一問一答」或「一個口令,一個動作。」的方式完成您的工作,使用電腦工具的便利與效率立刻為之大打折扣。所幸,電腦雖然不聰明,發明和使用電腦的卻是聰明人,只要利用批次檔(Batch File)執行GCG套組,上述問題即可迎刃而解。本文主要目的為介紹如何利用批次檔達成GCG套組分析自動化,並透過範例協助大家熟悉利用批次檔達成分析自動化的實際操作要領。

批次檔的介紹與應用

批次檔-電腦的作業簿

熟悉個人電腦DOS作業系統的人對於批次檔應該不陌生,如果您對DOS不熟悉也不必擔心,顧名思義,批次檔所扮演的正是「整批交付,次第執行。」的媒介。換個角度來看,批次檔其實就像一本作業簿,逐一記錄著您要交給電腦執行的工作,電腦讀到此本作業簿時便依作業簿內之記錄逐一執行,就如同您以「一問一答」或「一個口令,一個動作。」的方式指揮電腦工作。

產生批次檔

那麼該如何產生這本電腦的作業簿呢?其實,批次檔只是一個簡單文字檔。由此著眼,要產生一個批次檔必須要有能夠產生與編輯簡單文字檔的工具。這類工具並不難取得,各作業系統中均有此類工具,例如視窗作業系統中的「記事本」(Notepad)與UNIX作業系統中的"vi"均是。利用這些工具您可以輸入並儲存您在「一問一答」時回答的答案或「一個口令,一個動作。」時下達的命令。依照這些要領,您即可輕鬆地產生一個替您分憂解勞的批次檔。

執行批次檔

有了批次檔後,又該如何執行呢?如果您利用自己的個人電腦或麥金塔電腦產生批次檔,您必須先將此一批次檔以檔案傳輸協定(ftp)傳送到GCG套組所在的電腦主機。如果您直接在GCG套組所在的電腦主機上以"vi"產生批次檔則不需要此一步驟。不過不論您採取前述哪一種方式,因為權限不允許,您都無法執行這個檔案。檔案權限是UNIX系統為維護系統安全而設計的保護方式,您必須擁有執行此一檔案的權限方能執行此一檔案。因此接下來您必須重新設定您對此一批次檔的權限,以便執行此檔案。設定的方式非常簡單,您只要進入存放此一批次檔的目錄,並鍵入"chmod 744 xxxxxxx"指令。此處的"xxxxxxx"代表您的批次檔檔名。依照此一方法重新設定權限後,您已擁有執行此一檔案的權限,您只要鍵入您的批次檔檔名即可執行。在UNIX作業系統上使用批次檔的流程請見下圖。

圖1,UNIX作業系統使用批次檔流程圖。

牛刀小試

大家每次連上GCG電腦主機時均須重新進入GCG作業環境,遇有需要時還必需設定週邊設備與圖形處理模式。這些工作雖然並不困難,但總是繁瑣無趣之事。下面的練習幫助大家熟悉使用批次檔的流程,同時此批次檔將啟動GCG作業環境(go指令)並替大家簡化GCG使用環境的設定方式,最後替大家取回稍後「實兵操演」將使用的序列資料檔案(fetch指令)。

練習1

1.利用個人電腦視窗作業系統中之記事本程式(NotePad)編輯內容如下之批次檔,並以"test.bat"檔名存檔。

go 
alias screen xwindows color 
alias htm gif gif89a g.gif 
alias laser hpgl laser graphics.dat 
fetch GB_BA:HPAE000523 test.seq

2.利用個人電腦視窗作業系統中之檔案傳輸程式將批次檔test.bat傳送至GCG電腦主機。

3.利用個人電腦視窗作業系統中之遠端簽入程式(telnet)與GCG電腦主機連線,並更改您對批次檔test.bat之權限為允許執行。

4.執行批次檔test.bat。

由批次檔啟動GCG套組程式

瞭解使用批次檔的方法後,接下來的問題便是應該如何填寫這本作業簿才能達成分析自動化的目的。或許有人會直覺地反應,認為想啟動哪個程式就鍵入哪個程式的名字。沒錯,利用這樣的方式確實能夠啟動GCG套組內的程式;但是這樣的方式卻無法達成分析自動化,您仍然必須和電腦以「一問一答」的方式完成您的工作。因為,您只鍵入程式的名字,卻忽略了程式執行所需要的必要參數(Propmted Parameter);沒有這些參數,程式根本無法運作。舉例來說,對大部分的GCG程式而言,您想要分析序列的名稱即是一個非常重要的必要參數,否則程式根本不知道該分析哪個序列。因此,遇到這類情況時,程式便會停下來要求您輸入需要的參數,而這也就是「一問一答」發生的原因。況且,只鍵入程式的名字還有一個缺點,這樣的方式無法更改選擇性參數(Optional Parameter)。如前所述,GCG程式缺少必要參數時會停下來要求使用者輸入參數,但是如果您未在啟動程式時一併輸入您要設定的選擇性參數,程式並不會停下來給您輸入的機會,而是直接使用預設值。GCG程式缺少參數時之處理方式請參考圖3-2。顯然,如果您希望能夠利用批次檔一次執行完畢多個工作,畢其功於一役,編輯批次檔時,除了鍵入程式的名字之外,您必需一併輸入程式需要的必要參數;如果您希望更動選擇性參數,您更必需一併輸入您要設定的選擇性參數。那麼啟動程式時,有哪些必要參數必需輸入?有哪些選擇性參數可以更動?該如何輸入這些參數呢?GCG的「程式使用手冊」GenManual對於程式的使用有非常完整的說明,前面幾個問題您都可以在此找到答案,此處不多作介紹。

圖2,GCG程式參數取得流程圖。

實兵操演

我們使用BLAST(FastA)分析AE000523序列(已利用練習1之批次檔取回,並命名為"test.seq"。)中各開放讀架與資料庫中其他基因之相似性;分析結果顯示該序列3'端存在三個開放讀架(反向5241-7145、反向7603-9243和反向9268-99624)與已知基因極為相似,可判定為是可轉譯為蛋白質的區域(Coding Sequence),而在5'端則存在一個相似性較低之開放讀架(反向200-700間),需要進一步分析。接下來的範例中,我們將先利用3'端之三個基因產生此一物種的密碼使用頻率表(CodonFrequency),並利用此頻率表重新預測5'端開放讀架之位置(Frames)。此外,我們亦將利用StemLoop、FitConsensus與Terminator這兩個程式對包含此5'端開放讀架附近之區域進行初步分析。連續執行前述工作之批次檔內容請見範例1。其中」-default」參數功能為要求程式對於未給定之必要參數一律採用預設值,無需詢問。因此,進行自動化分析時建議使用此一參數,以免因疏忽而未指定必要參數致使程式停止執行。其他參數請參考「程式使用手冊」GenManual。除了各自獨立的GCG分析程式之外,批次檔亦可用於串聯具有次序關聯性的GCG分析程式,範例1的前四個步驟即是一例。範例1的前三個步驟首先計算此一物種的密碼使用頻率表,下一步驟則利用此頻率表預測5'端開放讀架。

範例1,test.seq序列5'端開放讀架附近區域之初步分析。

codonfrequency test.seq -default -beg=5241 -end=7145 -rev -out=test.cod 
codonfrequency test.seq -default -beg=7603 -end=9243 -rev -out=test.cod -cod=test.cod 
codonfrequency test.seq -default -beg=9268 -end=9624 -rev -out=test.cod -cod=test.cod 
frames test.seq -beg=200 -end=700 -rar=test.cod -thr=0.05 -all 
stemloop test.seq -default -beg=200 -end=700 -out=test.stem 
fitconsensus test.seq \ cons.csn –default –beg=200 –end=700 –out=test.fit 
terminator test.seq -default -beg=200 -end=700 -out=testp.trm 
terminator test.seq -default -beg=200 -end=700 -rev -out=testm.trm

練習2,經過範例1的分析,並綜合其它資料研判,5'端開放讀架之位置可推定為反向217-633,請大家利用批次檔一次完成此一開放讀架的進一步分析。分析項目及條件如下,未指定之參數請使用預設值。

1. 計算此開放讀架的蛋白質分子量。(PeptideMap、PeptideSort) 
2. 估計此開放讀架的蛋白質pI值。(Isoelectric) 
3. 預測此開放讀架的蛋白質是否為膜蛋白。(PepPlot、PeptideStructure、PlotStructure、Moment) 
4. 預測此開放讀架的蛋白質之二級結構。(PepPlot、PeptideStructure、PlotStructure) 
5. 預測此開放讀架的蛋白質之signal peptide序列。(SPScan) 
6. 預測此開放讀架的蛋白質中之重要單元。(Motifs) 
7. 預測此開放讀架的蛋白質是否具有helix-turn-helix結構單元。(HTHScan) 
8. 預測此開放讀架的蛋白質是否具有coiled-coil結構單元。(CoilScan) 
9. 預測此開放讀架的蛋白質是否具有amphipathic helix結構。(Moment) 

採購找生工,預算最輕鬆。

回頁首↑ | 回首頁←


中華民國95年07月10日更新