2000年12月 台北榮總學訊 我的「生物資訊學」之旅 趙坤茂 如果你問十個人:「什麼是生物資訊學呢?」,你很可能會得到十一種答案,為什麼呢?因為每個人給你的定義大概都不盡相同,而根據這十種答覆,你自己又可以歸納出一種新的看法,所以可能有十一種答案啊! 是的,生物資訊學是個正在蓬勃發展的領域,它是一個跨世紀及跨領域的研究,除了參與的研究者背景多元外;它的研究主題也隨著科技的演進而時時在變,因此,每個人對它的詮釋都不盡相同。 對於生物資訊學,我的看法是:生物資訊學是一個結合生物學、分子生物學、醫學、藥學、資訊科學、數學、物理及化學等跨領域的研究,它的終極目標是了解生物特性及生命本質。它的主要子領域有:一、大量資料的分析演算法及統計方法;二、各種生物序列及結構的分析與解釋;三、管理及使用各種型態資訊的軟體工具;四、生物醫學及藥物的開發等。 我從1990年時,開始投入這個跨領域的研究,屈指一算,也已有十年的光景。(明年起,十根手指就不夠看了,要連腳趾頭也屈一屈。) 十年前,我為什麼會投入這個當時仍為冷門的研究領域呢?說來也是因緣巧合,其實我最原始的研究興趣是演算法,演算法就是計算機方法,是設計適合計算機執行的方法,如同神農氏遍嘗百藥的精神一般,計算機科學家針對任何疑難雜症的計算問題,總設法找出最好的解決方法,只是不必以身試毒,而是讓數位計算機代為受罪罷了。 我的大學專題主要是研究可攜性的C語言編譯程式,而幾乎在同一時期我也初次接觸到演算法的奧妙與樂趣,從那時開始,我就對計算機方法產生了濃厚的興趣,尤其是對設計實用演算法更是愛不釋手。在碩士班時,我曾參與實作一個C語言的語法導向編輯程式,讓使用者在輸入C程式時,也能同時檢查程式語法的正確性。從這課題出發,我們也探討如何對某些語法做漸進性及平行性的解析及編譯。 十年前,我唸博士班時,當我正要決定研究主題時,我希望能朝向實用演算法的方向研究,而我的恩師Dr. Webb Miller也正要找有資訊理論基礎的學生,來協助解決DNA序列分析時所碰到的計算難題,我們一拍即合,相見恨晚。Miller教授那時剛參與完BLAST軟體的寫作,他們所寫的那篇論文,在1990年到1999年的十年裡,被引用了八千多次,是SCI論文中前個十年被引用次數最多的一篇文章。 Miller給我的第一個題目是找一個速度比BLAST慢,但精確度比BLAST高的序列分析方法,他心中已有約略的解題方向,我在研讀一些相關論文及遭遇難處的設法解決後,花了一年的時間,將整個軟體寫了出來,那個軟體給我最大的挑戰是如何把很艱深的想法用程式表達出來,雖然吃了不少苦頭,但我獲益良多。 我的老師給我的第二個題目是如何在一個長條區域中,用線性空間的方式,找到兩個序列間精確的相似度,他知道這問題的重要性,但並不清楚解題的正確方向。我一整個暑假都圍繞著這個問題打轉,兩個月後,我心灰意冷,覺得這問題可能根本不存在好的解法,正要放棄時,看到研究室牆上的裂縫,突然靈機一動,兩天就把它的所有難處解決了,並花了半天把軟體寫出來。這個軟體正好可以改進FASTA軟體最後一個階段的效率,所以這三百行的程式就被套用在廣受歡迎的FASTA軟體中,我深覺與有榮焉。一個軟體寫了以後,只有在真正被使用後,你才會覺得它被賦予生命了。 我和老師合作的第三個題目是,如何在任何形狀的區域中,用線性空間的方式,找到兩個序列間精確的相似度,這個方向是我們多次討論後所得到的共識,可是整個秋天的構思,除了愁,還是愁,能否有好的解法,我們毫無把握。就在校園下了第一場雪,而我老師外出度假回來後,我們不再坐困愁城,聯手突圍,找到了一個好的解法。我老師還說要常去度假,這樣手氣會比較好,沒想到老外也是有那麼一些迷信呢! 後來,我的老師就讓我天馬行空,找自己喜歡的主題及問題來解,如果有一陣子沒有好的結果,我潛意識的罪惡感就會督促我向前衝。學從放心處來,功夫下多了,成果自然就會呈現出來了。至今,我仍深深感激恩師對我的指導,讓我在這個多彩多姿的跨領域研究裡,從無到有,很有系統地成長了許多。這份感激,在自己也做了研究生的指導教授後,更加深刻,對老師的敬業精神及專業知識不禁要肅然起敬! 我畢業後,在美國國家衛生研究院的國家生物科技資訊中心(NCBI)訪問了一年,讓我在實際的應用領域上,又多了一種新的體驗。回國後,我主要的研究方向是在序列分析及演化樹建構,我們找到了一些有趣的問題及新穎的解法。同時,為了試圖去解決演化樹的建構問題,我們深入研究了一些展開樹問題的近似演算法,而令人振奮的是,這些問題湊巧也是網路連接上重要的課題,我們很幸運地解決了一個在計算機科學上懸了二十年的未解問題。 有好一陣子,我的研究主題都是長序列的分析,雖然在當時,很長的序列極為罕見,但我們已體認到這問題在未來的重要性,這經驗也讓我理解到「制敵機先」的道理。尤其生物資訊這種跨領域的合作,更需要在問題尚未發生前,就事先洞悉問題的可能性及其重要性,這樣才有充裕的時間來好好地解決問題。我的一些經驗告訴我,分子生物學上的應用常常是迫在眉睫,和時間在競賽;而演算法的設計及資訊軟體的開發,卻常常要慢工出細活。如何協調這兩個截然不同的研究步調,是成功與否的重要關鍵。 不同的領域自然會孕育出不同的文化,當我們進行跨領域合作時,一定要尊重彼此的專長,這樣才能合作愉快。以我的專業而言,如果我盡寫一些實用軟體,但這些軟體在設計上並沒有太大的挑戰性,那我在自己的本業是得不到肯定的,因為那些專家會說我只寫一些平常程式設計員就可以做的事。所以,我必須時時構思可能的難題,設計新的演算法,這樣我才可以在自己的本業立足,也才更能在跨領域的合作上放手一搏。我的專業如此,我相信其他背景的人也一定都有他們本業一把衡量的尺,真是家家有本難唸的經啊! 這些年來,很幸運能與良師益友共同來完成一些研究成果,我內心非常感激。我也會繼續鞭策自己更加努力,我相信只要我們用心,一定能對專精的研究領域有實質貢獻的。