剛開始入門生物信息學時,覺得自己無所不知;現在,越學越覺得自己什么都不知道。生物信息學涉獵繁多,我主要的工作是對微生物擴增子測序數據進行分析。
不論研究什么具體方向,生物信息分析入門,必要的是學會:
1. Linux系統基本操作
2. 熟練運用一種編程語言,對數據文件進行編輯統計
3. 常用工具的使用
所以,不經歷完以上我認為都不能算入門,只能算入門中或聽說過生信。Biostar handbook這本書學完,可以算半入門。其實入不入門不影響研究生畢業,完全可以和懂的人合作,生物醫學領域一年這么多畢業生,組學數據純自己分析的沒有幾個。入門之后的標準就是自學任何一個新工具一天無壓力,可用適合的統計方法闡釋數據。
入門后的階段,可以稱之為“流程”階段。入門時,學習單位是單個的工具,而進入流程階段,就是要把單個工具通過簡單的語言串聯,對數據實現自動化分析及報告。這個階段的主要學習資料就是文獻。學習新文獻,完善自己的流程。入門階段可能還要靠公司幫你分析部分數據,流程階段的指標就是比公司的標準流程更好。因為公司的標準流程一旦修改就牽扯整個業務線,公司選用的標準方案一般都是最穩妥的,期間會有部分工具稍微落后或者剛被某些新文獻推翻。
一個段子:IT界調侃一個程序員的最佳方式——“哇,又在寫Bug呢!”;而生信領域(BT界)的是——“哇,又在寫流程呢!”。流程完善來完善去終歸是拼湊,說白了就是熟練工。如何突破流程階段,進入下一階段——算法階段。生物醫學背景出身能跨越這一階段的,全球少有。算法階段需要什么:
1. 最優化的代碼
2. 透徹的舊算法理解
3. 熟練的新算法應用
這個階段我也不知道,說多了也純粹是YY。就對我而言,要進入這個階段,還差精通C/C++語言性能優化、計算機科學里的經典算法、云計算、生物信息學里的經典算法、人工智能的機器學習算法。
最后結合Biostar handbook里的一句話談一談最核心的一點。
“Bioinformatics is a data science that investigates how information is stored within and processed by living organisms.”
編程語言也好,算法也好,其始其終都是為了解決生物學問題。如果純粹為了炫技,就是本末倒置。