上海源葉生物科技有限公司
主營產(chǎn)品: S30260異硫氰酸胍,30259鹽酸胍,嗜熱菌蛋白酶 |
聯(lián)系電話
15921386130
公司信息
- 聯(lián)系人:
- 何小姐
- 電話:
- 86-021-61559134
- 手機:
- 15921386130
- 傳真:
- 86-021-55068248
- 地址:
- 上海市松江區(qū)長塔路465號6幢
- 郵編:
- 200433
- 網(wǎng)址:
- www.shyuanye.com
如何從零開始掌握生物信息學分析(新手寶典)
2015-8-13 閱讀(360)
今天的世界大不同,表現(xiàn)在生命科學研究領(lǐng)域,就是一切都開始進入了大數(shù)據(jù)時代,無論是DNA序列,顯微圖片,還是質(zhì)譜數(shù)據(jù),研究人員都越來越需要對這些龐大的信息進行收集、整合、處理和詮釋。
對于許多生物學家們來說,這并不容易完成,傳統(tǒng)的科研培訓方式主要集中于科學的基礎(chǔ)原理和實驗方法,而不是計算機編程和數(shù)據(jù)統(tǒng)計,因此當不少研究人員發(fā)現(xiàn)自己需要面對大量的數(shù)據(jù)量時,他們不知道如何處理這些問題。
目前其實也不乏現(xiàn)成的計算工具,而且不少都是免費的,但對于門外漢來說還是有些難。通常情況下研究人員還是需要深入了解這些界面并未友好的程序,才能運行,而這需要計算運行的深厚知識。
這就會導(dǎo)致研究人員在進行大數(shù)據(jù)研究的時候,不得不自己編寫一些程序來進行可重復(fù)和得到證實的信息處理。然而這些過程也需要小心處理,一不留意犯錯了,就有可能危及數(shù)據(jù)本身。
近期The Scientist雜志了幾位科學程序員,了解他們所使用的工具是什么,如果是菜鳥需要進行哪些訓練等。
選擇一種語言
生物學家可以從各種各樣的編程語言中選擇一種,對于許多應(yīng)用來說,隨便選擇一種都可以,不過目前zui流行的可能就是Python 和 R?!熬湍壳岸裕@就像是科學研究的二重奏",來自加州大學戴維斯分校的生物信息學家Vince Buffalo說,他剛完成了一本名為《生物信息學數(shù)據(jù)分析技巧》(O’Reilly Media Inc.)的新書。
Python 和 R相對來說都比較好用,但前者能完成多項任務(wù),而后者主要針對的是統(tǒng)計方面的內(nèi)容,兩種語言都有其各自的使用用戶群,因此具有特定功能預(yù)生成代碼(prebuilt code)數(shù)據(jù)文庫,比如以R語言為基礎(chǔ)的Bioconductor Project (www.bioconductor。。org),能為顯微,測序和芯片數(shù)據(jù)提供模塊。另外Python 公共文庫也有:Anaconda (continuum.io/downloads)。
來自華盛頓大學基因組科學系的助理教授Cole Trapnell利用R語言完成了單細胞基因組數(shù)據(jù)集的處理,“單一細胞基因組學問題牽涉到許多的統(tǒng)計學方面的內(nèi)容,R語言很適合。"
此外,還有一種受到大家認可的語言,那就C/C++(Julia (www.julialang。。org)),這種語言特別合適用于那些相對較慢或內(nèi)存密集型任務(wù),Trapnell說。
如果能將Python的語法,R語言的圖形靈敏性和C++的速度結(jié)合在一起,那就了,“這也就是說,這種代碼很好編寫,而且也很快,",來自加州大學戴維斯分校的遺傳學副教授Titus Brown說,但這需要你花費大量經(jīng)歷掌握這些語言,他建議,可以選擇你同事已經(jīng)在應(yīng)用的語言,這樣他就能幫助你解惑。
所需的工具
UNIX 和 Linux系統(tǒng)都有預(yù)安裝軟件,如果你沒有,那么通過操作系統(tǒng)管理員也很容易獲取。Macs系統(tǒng)包含一個現(xiàn)成的Python 解釋器和C/C++ 編譯器,但必須單獨安裝 R(www.r-project。。org)。Windows系統(tǒng)在默認狀態(tài)下,不包含任何一種編程語言,因此你可能需要自己安裝。
程序員還需要的一個工具就是一個好用的文本編輯器,這是用于處理純文本文件的程序,與之相對的就是處理特殊格式的程序,如Microsoft Word。核心程序員通常喜歡使用命令行編輯器 vi 或 emacs,在Linux 和 Mac系統(tǒng)中這兩者都有預(yù)裝?,F(xiàn)在也有一些很強大的可配置程序,但是對于新手來說很難掌握,“這要求你自己想代碼,因此我還是建議使用自己擅長的方法,"Trapnell說。
同時你還需要找到一種能夠用特定顏色標記特殊語言關(guān)鍵詞(“syntax highlighting"),語法檢查 (比如說要能找到錯誤的方括號和圓括號),代碼格式,以及處理多種文件的編輯器。
常用的兩種就是Windows系統(tǒng)的Notepad++ (notepad-plus-plus.org),以及Mac和Windows、Linux系統(tǒng)通用的Sublime Text (www.sublimetext。。com)。同時還有一種Mac界面可用的AquaMacs (aquamacs.org)。
“我向我的學生強調(diào)的關(guān)鍵一點就是,盡量少用鼠標,"威斯康辛大學麥迪遜分校生物統(tǒng)計學和醫(yī)學信息學教授Karl Broman說,“每當你將手從鍵盤中移開的時候,就在減慢速度。"
另外,如果你計劃在某個平臺(如 Mac 或 Windows)上從一種特殊語言開始的話,那么也許你應(yīng)該嘗試一下集成開發(fā)環(huán)境(IDE,integrated development environment),這是用于程序開發(fā)環(huán)境的應(yīng)用程序,一般包括代碼編輯器、編譯器、調(diào)試器和圖形用戶界面工具,這能簡化你的工作。
Mac C/C++程序員可以用免費的Xcode (developer.apple.com/xcode), Windows 用戶可以使用Microsoft Visual Studio (www.visualstudio。。com)。而對于 R 編程來說,常用的一種選擇就是RStudio (www.rstudio。。com)。Eclipse IDE (eclipse.org/ide)是一種支持多種語言的模塊化工具,所有這些平臺的基本版本都是免費下載,有些適用于用戶的附加功能也可以獲取。