如何自學生物信息學?

從頭開始學,好像快點處理數據,很多時候都不知道目的是什麼


先說一下自己吧,我碩士讀的是細胞生物學,今年4月開始在boss要求下自學perl,打聽了下,&這本書不錯,就買來開始看,等5月份去北京參加公司的培訓班時,&讀了一遍,&看了一部分。培訓回來,我們的項目就開始做了,9月拿到所有原始數據和分析結果。然後,我對照著公司的分析報告,試著自己走一邊分析流程,中間遇到問題,自己解決不了的,就發郵件求助。有幾點需要注意:

1. 我能理解你想早些玩兒數據的願望,但是在這之前,最好要有一個outline.需要知道數據從哪兒來的,怎麼產生的?其實就是測序儀的工作原理。然後是數據質量檢驗,為什麼需要數據過濾?接著是reads拼接和組裝。總之,要對整個流程有一個認識,而後在學習的過程中,再不斷回頭對比這個流程,這樣才不會有迷失的感覺。[這本書](Bioinformatics for High Throughput Sequencing)推薦看一下。
2. 有了基礎知識的鋪墊,就可以嘗試著自己做些練習了,paper上面都會給出他們的數據、原碼地址,可以找來自己試試,先看看自己能不能做出一樣的效果。當然,這時要是你手裡正好有項目,那就更好了。
3. 學生物信息,paper肯定是要跟蹤的。這兩個網站可以經常看一下:
[homologous](Homologus - Frontier in Bioinformatics) 覆蓋生物信息有趣的論文, 演算法,以及生物科學問題。這個網站還彙集了很多生物信息領域科學家的博客。再如BGI的主程羅瑞邦, SAMtools、BWA的作者Heng Li都有在這裡出現。
[RNA-Seq Blog](RNA-Seq Blog) 推薦新的論文、工作、培訓課程、大型會議等。

如果你是生物背景的,那麼計算機方面的知識需要補一下:

- 需要能在linux環境下舒服的工作。比如從源碼編譯安裝軟體、PATH配置,再比如舒服地使用google找到問題的答案 :-)
- 學會使用python/perl。比如有的時候運行一個軟體老是報錯,可能就是因為在一個包含幾十萬行的文本文件里,有隨機的那麼幾千行的末個位置,多一個冒號,[就像這裡](http://popucui.github.io/2013/09/14/using-htseq/), 這時候你知道需要怎麼做了?
- 學會R。要從一大堆基因裡面找出表達水平變化的基因來,需要統計分析和顯著檢驗;而要把我們的數據更直觀地展示出來,最好的方式就是圖形了吧。這兩個需要,R都能滿足。當然matlab也是可以的,區別在於R是開源工具。
- 具備了上述技能,那麼常用的軟體就能用起來了。隨著學習的深入,可能你的問題別人也沒遇到過,這時候就需要自己動手,要麼修改現成的工具,要麼自己做一個出來。這時候,除了python/perl,或許還可以學學C/C++/java,或許需要研究下比如BWT、De Bruijn Graph背後的原理。


在生物信息的坑裡面呆了好幾年,發現生物信息的定義越來越模糊了,就像我剛入行的時候一個師兄對我說的那樣,中關村賣電腦的如果賣給學生物的了,就說自己是做生物信息的。
同樣,我現在在寫一些軟體,設計一些演算法,也說自己是做生物信息的。
計算機系一些做體系結構和GPU編程的也會做一些生物信息的硬體加速演算法,他們也說自己是做生物信息的,畢竟文章都發到了Bioinformatics雜誌上了。
如果你想學生物信息中的演算法設計,那恭喜你,加州大學聖地亞哥分校的一系列課程正合你的胃口,Coursera - Free Online Courses From Top Universities 。這些演算法包括字元串演算法,圖論演算法,隨機化演算法等等。

你的提問中發現你想學習如何處理數據。
這也是生物信息的另一個教派,整合已經發表的軟體處理數據,也說自己是做生物信息的,我想你可能想點這個技能點。有點複雜,因為生物有太多研究方向了,做基因的,做蛋白的,做進化的,做結構的,做發育的。。每個分支又發表了很多軟體,而且很多不好用,好用的有些又過時了,沒過時的準確率也不見得有多高。
如果你能給我一個你的研究方向,我可以給你介紹一些很好用的軟體。

用軟體有幾個挺麻煩的問題,有些軟體安裝很麻煩,依賴庫很多,這個東西說實在的如果你沒有編譯背景有時候碰到了很難搞定,簡單的辦法就是直接給作者發郵件,一般作者想讓自己軟體的引用率高,所以發郵件都是秒回,如果作者博士畢業了,忽略此條。所以新的軟體,作者必回郵件。
用軟體另一個問題就是參數怎麼設置,這個其實挺坑爹的,因為有時候你要理解背後的演算法,可是這個對於學生物的同學來說太難了,這個其實是軟體用戶體驗不好,軟體作者閉門造車。Bioinformatics上還有很多文章說參數怎麼選的,比如基因組拼接的時候,kmer的選取。


軟體使用講完了,有些格式轉化,pipeline的,可能一個軟體做不了,就要你寫點腳本來完成這些事情,如果你只是想完成這點東西,那麼學python就足夠了,一個簡明的python教程就是dive into python。網上免費。

先寫這麼多,有時間了再補充和整理。

----------------------------------------------------------
加一個彩蛋,昨晚party和一個學數學的人聊天:
大神:做什麼方向啊?
---- 生物計算
大神:用偏微分方程模擬嗎?
---- 不是啊,就用基礎演算法,加一點machine learning
大神: 你這不就是生物信息嘛,怎麼能說自己做生物計算的
然後大神一臉鄙夷地憤然走開,留我愕然在原地


必學:1、計算機基礎(linux+perl+R 或者 python+matlab)

2、生信基礎知識(測序+資料庫+數據格式)

3、生信研究領域(全基因組,全轉錄組,全外顯子組,捕獲目標區域測序)

4、生信應用領域(腫瘤篩查,產前診斷,流行病學,個性化醫療)

分而治之:

一、計算機基礎,需要看三本書,一步步的學會學通,不需要刻意去找哪個書,一般linux是鳥哥私房菜,perl是小駱駝咯,R是R in action,但是看一本書只能入門,真正想成為菜鳥,必須每個要看五本書以上!我雲盤裡面有這基本上的高清列印版,大家可以去淘寶列印一下才幾十塊錢還包郵,對書比較講究的也可以買正版,也不過是一百多塊錢而已!

二、生信基礎知識,測序方面,在百度文庫找十幾篇一代二代三代測序儀資料仔細研讀,然後去優酷下載各大主流測序儀的動畫講解,再看看陳巍學基因的講解;資料庫先看看三大主流資料庫——NCBI,ENSEMBL,UCSC,還有一些也可以了解一些(uniprot,IMGT,KEGG,OMIN,TIGR,GO)同樣也是百度文庫自己搜索資料,但是這次需要自己去官網一個個頁面點擊看,一個個翻譯成中文理解吃透;數據格式講起了就多了,這個主要是在項目流程中慢慢學,或者你有機會去上課,不然你看來也是立馬忘記的,主要有sam,vcf,fasta,fastq,bed,gtf,gff,genbank,ensembl,psl等等

三、生信研究領域,各個領域主要是軟體繁多,合起來常用的估計有上百個軟體了,一般只有從業五六年以上的人才有可能把它們全部用過一遍,而且這也完全需要項目來訓練,而不能僅僅是看看軟體手冊,但是研究領域最重要的是背後的原理,需要看各大牛的綜述。

a) 生信基礎軟體(blast++套件,fastqc,flash,blast,solexaQA,NGS-QC-toolkit,SRA-toolkit,fastx-toolkit)

b) snp-calling相關軟體(bwa,bowtie,samtools,GATK,VarScan.jar,annovar)

c) 基因組相關軟體(velvet,SOAPdenovo2,repeatmasker,repeatscount,piler,orthMCL,inparanoid,clustw,muscle,MAFFT,quickparanoid,blast2go,RAxML,phyML)

d) 轉錄組相關軟體(trinity,tophat,cufflinks,RseQC,RNAseq,GOseq,MISO,RSEM,khmer,screed,trimmomatic,transDecoder,vast-tools,picard-tools,htseq,cuffdiff,edgeR,DEseq,funnet,davidgo,wego,kobas,KEGG,Amigo,go)

四、生信應用領域,講這一塊其實已經脫離了生信菜鳥的解釋範圍了,主要是想說社會上為什麼需要搞生信的人才,全是因為在腫瘤篩查,產前診斷,流行病學,個性化醫療等領域有所應用,可以造福人類!!!這方面政策不確定,產業不定型,所以也這絕對是藍海,但是也絕對不會有現成的資料直接培訓人才,我們必須關注各種微信公眾號,逛各種測序,醫學相關論壇,緊跟業界精英的腳本,同時追著大牛的文獻閱讀,如此這般才能保住菜鳥的身份!


現在有諸多的網路課程,所以你可以自學的。
PLOS Computational Biology: An Online Bioinformatics Curriculum
這個鏈接很全,很實用

這個目前已經有v2了:http://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1003662


成為頂級生物信息學家的五個等級(來自薛宇/科學網博客)

如何成為頂級的生物信息學家?看你的研究。業內人士Shirley將生物信息學研究(注意,不是生物信息學者本人)的水平劃分成五個層次。此外,Shirley不區分生物信息學(Bioinformatics)和計算生物學(Computational biology),因此這兩個概念不做區分。在這裡咱再重複一遍,生物信息學和計算生物學的區別,就是西紅柿炒蛋和蛋炒西紅柿的區別。

0級 (Level 0)

為建模、而建模(modeling for modeling』s sake)。簡稱:渣級。

Shirley在博客里提到說「如果你記得功夫熊貓」,問題是我沒記得這個,腦子裡想的是《憨豆的黃金周》里那段nothing, nothing, nothing… 原博舉的例子是,之前有人問:現在數據這麼多,能建模的東西一大把,那我們該干點啥呢?Shirley就問:你想解決啥問題?答:建模的問題。這就像我坐電梯看見認識的研究生,說小伙最近忙啥呢?答:做水稻呢。繼續問:具體研究的啥?不高興了,詫異:研究水稻啊!然後給我解釋了半天中國要研究水稻的必要性。我…兄弟我每天吃米飯還固定要研究水稻三遍呢。原文解釋,這個回答是OK的,如果科學家僅僅將自己當成數學家、統計學家、計算機科學家、物理學家,或者像我這樣用嘴巴研究水稻的吃貨,因為在這些學者各自的領域裡,確實有許多好的理論建模問題。但如果這些學者是認真對待生物信息學的研究,這個回答不OK。許多0級生物信息學家們從來不讀或者不發表生物學期刊上的論文,也不參加生物學的會議,因此這個級別屬於「未入門級」。根據人以類聚,物以群分的原則,0級生物信息學家們通常只閱讀自己或者其他0級生物信息學家的論文,並且,並且引用也是自引或者被同級別的學者引用。因此這類研究就是浪費資源。

1級(Level 1)

給數據、能分析。簡稱:菜鳥級。

這類研究一般是分析自己或者合作者實驗室里未發表的數據,並試圖獲得新的生物學發現。相比與0級,這已經有很大的進步,並且是訓練生物信息學者最好的途徑之一。可以練習將已有的生物信息學技術來做出真正生物學發現的技巧,學習更多的生信技術和生物學知識,可以啟發、衍生出2級和3級的好課題。評價1級科研的功底和水平要看數據有多複雜, 是否需要生信人員寫一些程序和演算法(而不是只用他人的工具),生信分析在整個研究中的有重要性 (最重要的假設發現是不是由生物信息分析出來的,文章中生信圖表的個數),實驗與計算的結合程度 (實驗與計算 環環相扣,而不是高通量實驗數據獲得完跟個生信分析就拉倒),以及研究中生物學的發現是不是真的有意思,等等。因此兄弟我的看法是,1級雖然是「入門級」,但非常非常重要,所有生信專業研究生的必經之路,非生信領域的學者或學生,能達到1級中已可算是高手,進階到1級上那就是鳳毛麟角了。

2級(Level 2)

想新招、玩數據。簡稱:肉鳥級。

具有2級水準的生信研究有:1) 設計方法解決生物醫學相關大數據分析中普適、定量的問題。比如咱生信課本里經典的用於雙序列比對的Smith-Waterman演算法等等;2) 設計演算法來分析新的高通量技術所獲得的數據,例如華大基因設計的用於二代測序短讀段 (read) 映射到基因組上的SOAP系列工具,這就是典型的2級工作;3) 從各種公共數據中通過整合建立資料庫或數據資源。這個太多了,生信領域各種專業、精心注釋的資料庫,都屬於2級的研究。2級比1級高的地方,在於1級只能幫助一個實驗室或者固定的、極有限的合作者,而2級的工作則可以幫助數百甚至數千的生物學家。2級的工作不必須發表在頂級的期刊上,時間會證明一切,比如分子進化領域的經典軟體MEGA,每年幾千的引用跟玩兒一樣。這些方法並不見得必須要非常新,利用已有的統計或者計算方法來解決新的生物學問題已經足夠保證其新穎性,但必須儘可能保證用戶的友好性。開發者一般在發表之後還需要做非常非常多的工作,比如維護、升級,即使不在發表後續的論文。評價2級的生信研究工作不能數影響因子,但做的好卻比較容易被領域認可(例如,華大基因發表NCS對咱搞生信的來說未必認可,但人家的SOAP系列做的肯定是專業水準的)。此外,2級的研究要做的好,生物信息學者一般需要專註於自己特定的方向,從而能夠較好地了解領域內相關的、新的計算方法和實驗技術。總體來說,國內生信專業的博士畢業,一般起碼要做出2級下水平的工作,總得有點兒新玩意兒,不然想畢業幾乎是不可能的。而對於非生信領域的學者,從1級進階到2級幾乎是不可能的,咱生信人的飯碗,不是想砸就能砸的了的。所以對於業餘票友們來說,與其花精力試圖進階2級,還不如找專業學者合作更划算。

3級(Level 3)

玩數據、作發現。簡稱:頂級。

3級的生信研究一般是整合公共的高通量數據,利用相當精緻的方法來做出生物學發現。因此這樣的工作一般是從數據開始,實驗驗證結束。這就需要生物信息學家具有非常紮實的生物學知識,並且能夠自己提出有意思的生物學問題。生物信息學家可以領導一個生物學的項目,並且實驗學的合作者能夠相信預測的正確性以及意義,並樂意開展實驗驗證。這個級別的研究一般都需要實驗驗證,不然頂級的期刊不收。對這類工作的評價,主要是看生物學的問題是否有意思,數據整合和分析是否有足夠的技巧和合理性,並且也可以根據雜誌發表期刊的檔次(影響因子)來判斷。例如我在《環形RNA分子:論開掛在生命科學研究中的重要性》提到的工作,這是典型的3級研究。從2級進階到3級很困難,兄弟我目前正在努力中。

X級(Level X)

玩科學、講政治。簡稱:神級。

在這個級別,生物信息學家要在巨型項目產生的海量數據的整合和模擬中發揮關鍵作用。做這個級別工作的生物信息學家一般具有良好的1級和2級的研究記錄,並且在團隊研究中要具有非凡的領導才能。這些工作一般都發表在頂級的期刊,並且引用極好,在研究過程中要注意協調方方面面。儘管有時生信對於這些論文的發表是重要的,但往往數據本身可能比方法更重要。例如期刊判斷論文要依據其數據量的大小以及潛在的引用,而不是生信。此外,這類工作更多的是反映第一作者老闆們的領導力以及在領域裡的地位,而不是第一作者的技術能力和創造力。所以X級論文的第一作者們往往並不會得到足夠的認可。因此,這些工作中的一作在獨立研究之後,往往是必須建立科學的聲譽,並且與之前X級工作無關。學者參加一些X級的生信研究無可厚非,因為這些項目的成員一般在各自領域都是頂級學者。但如果學者只開展或者只發表X級的工作,那就表明該學者在政治方面的關注已經超過科學了。兄弟我舉例:典型的X級生信研究工作如艾瑞克?蘭德 (Eric Lander) 領銜的人類基因組草圖的公布《Initialsequencing and analysis of the human genome》。艾瑞克是第一作者也是共同通訊作者,因為這篇論文主要是他寫的,所以數據也自然主要是他分析的。這篇論文影響深遠,最重要的就是基本確定了基因組學這類超級項目的研究範式以及論文的書寫格式,例如這類論文一般不帶後續的實驗驗證,所以也是有爭議。這也就是為什麼國內老是講華大在灌水的原因,第一,華大顯然是在灌水;第二,這個灌水模式是老外發明的;第三,那你很容易就能明白,其實老外灌的更狠;第四,你老外自己定的遊戲規則,你還玩不過華大,那你得懂「願賭服輸」這個道理。

Shirley總結,對於生物信息學者來說,一般從1級的研究開始,學習基本的生信技術;等到計算和生物學知識掌握差不多之後,可以嘗試想2級和3級進階,並且有可能也參與X級的研究。如果條件允許的話,一般有成就的生物信息學家的研究會從1級做到X級,不會專註某一個級別(所以搞生信研究不能挑食)。也有許多生信學者包括Shirley本人也在開始做實驗並且產生實驗數據,這樣實驗的內容要拿去跟實驗學家的工作去比,而計算部分則可按照上述五個類別來評價。因此,當您再讀基因組和生信的論文,可以帶著「這是什麼水平的生信工作」這個問題來閱讀。嘗試客觀的評價生信工作,而不是數論文發表期刊的影響因子。

註:本篇博文的觀點不代表本人觀點,但兄弟我對這些觀點表示無比的贊同。從1級到2級,對於生信專業的研究生和教師們來說不難,但2級到3級卻極其困難,對於和我年齡相當的同行朋友來說,要跨越這一步幾乎是難比登天。以及邁這個坎的,恭喜;如我般還在苦苦修鍊的,也不必心急,武功練到境界了,破關也就是水到渠成的事情。


這個問題打算好好回答一下,前面的朋友們說得都很好。
我從另外一個角度,講一講我是怎麼帶研一新生的吧,學科背景是生物相關專業。

第一、了解大致方向
對於零基礎小白,第一步是扔一本生物信息教材給他看。因為必須了解普通生物信息涉及的幾大內容:

  • 1.序列比對原理方法,(大家都知道的blast,不要看不起這簡單基礎的工具,靠著精巧的思路依靠大量的blast,進化分析以及畫龍點睛的實驗足夠支撐碩士甚至博士的工作了)
  • 2.蛋白質相關,預測、分析等,(在每一個地方紮根下功夫都是可以出成果的,例如一個預測蛋白質磷酸化位點的工作,優化演算法搭建平台,發兩篇paper,好的,一個博士又可以畢業了)(*^__^*) ……
  • 3.進化相關。關於進化我只想說一句:生命科學失去進化之光,將毫無意義!!
  • 4.蛋白組學
  • 5.晶元,基因晶元什麼的現在覺得似乎有些過時了,but,非常害羞的告訴大家我最近就在挖一批10年前的晶元數據.....還非常害羞的告訴大家,去年老闆的國自然基金的前期工作里的生物信息分析也是挖的多年前的晶元數據。生物信息是做什麼的?挖別人的數據,發自己的文章!~~~~~(沒事就花幾十萬幾百萬測序的土豪請無視我)
  • 6.系統生物學。嗯就是你們經常看到的那種很狂拽炫酷的網路圖之類的,例如醬嬸的:

(圖侵刪)

  • 7.二代測序。目前最火的東東!你必須了解!!從測序原理到分析流程,都要了解。因為生物信息畢竟不是IT,我們要解決的是生物問題,一切工具都是為了達到解釋生命現象的目的。最無法容忍不思考具體生物學問題,只會按著流程做從來不問why的孩子了。離開了思想,你的一切工作都可以被機器取代。現在二代測序的分析,以後有人在搞一站式服務了,也就是把原始數據扔進去,直接出最終的結果,當然還不夠成熟,但是化繁為簡是發展的必然規律。要想保住飯碗就要不斷進步(好吧,還沒畢業的我其實是沒有飯碗的 /(ㄒoㄒ)/~~)
  • 不想在這裡贅述了,我的意思是,必須對整個生物信息的大致方向和內容有初步的了解,不要會用個blast就出去說自己是生物信息的,還是網頁版的o(╯□╰)o

教材內容都差不多,就不具體推薦某一本了,半個月到一個月的時間,看上兩三本這種基礎教材,這是第一步。

第二步,學習處理文本的編程

先講必要性吧

據說在遙遠的四五六七八年前,俺們實驗室的生物信息前輩是手動做工作的,知道真相的我,眼淚掉下來。後來看了看他們的工作,發現處理的基因數量都是在三位數以內的,而且主要做進化等有現成軟體的工作。
可能有的朋友會說幾百個基因的工作量,手動也很難最的吧!沒錯,但是excel其實是黑暗系魔法武器,拆分合併去重各種公式計算,甚至火山圖炫酷型散點圖,都是能做到的!(反正我不會用excel做!)
就這樣,他們靠著新穎的設計和少量實驗驗證,都妥妥的拿到學位閃人了。

然後時光飛逝,歲月如梭,轉眼間,二代測序技術跟iPhone一樣,濫大街了,excel什麼的已經無法滿足分析需求了好嗎,上次腦殘貼了不知道幾萬條gene ID扔進去排序還是做什麼........嗯,不記得了,反正excel掛掉了。

所以,你必須學編程

語言的選擇呢,也是很重要的,我知道老派的一幫人(70後大哥,大叔?)還在用C++呢,我就問你信不信,服不服?C的速度確實快,但是真的不適用平時的文本處理工作,說多了都是淚。
perl或者Python,你值得擁有。
perl擁有自由的靈魂,Python是一個嚴謹的孩子。
因為渴望自由,所以我選擇了Perl。
因為比較嚴肅,我的師弟選擇了Python。但是他知道我們實驗室用Perl,就乖乖的切換成Perl了。如果你是一個人,學什麼無所謂,如果有一個團隊,那麼請跟隨集體的步伐。

如果學perl的話,就按照以下步驟:

  • 半個月到一個月的時間,好好研究小駱駝這本入門教材。我非常注重系統的學習,不喜歡零散型學習,遇到一個解決不了的問題度娘谷歌一下是有效的,也的確應該這樣,但是在此之前,請系統地看完一本完整的教材。
  • 需要做工作,嗯,一定要做一些基本的工作。我們學校的生物信息研究生培養非常的自由散漫,這一點上,好的大學做得很好,他們有全面的培養方案,不過課業也很重,例如F大學,ZN大學等,在那裡上學的朋友都跟我說過作業多得做不過來。我讓師弟/妹練手的工作,就是從朋友那裡的作業簡化過來,以及根據自己實驗室的工作,選了一些基礎的,對文本的操作。比如說,算個GC含量,從很多數據中篩選需要的內容,幾個文件之間的匹配調用,加深對正則表達、數組、哈希,文件夾操作等理解。

好了,應付日常的工作,會處理文本,其實就夠了。至於用perl寫網頁,與網頁交互操作這些不在本回答的範圍,perl的進階,就不講了。

生物信息的編程(如果不搞演算法開發軟體)對於真正做計算機的人來講,真的是小菜一碟。但是,朋友們,請自信一點,挺起胸膛,跟計算機的人,講生物!跟生物的人,講計算機!嗯,以己之長度人之短(~ o ~)~zZ


第三步 看文獻

對於非在校人員,不搞科研的話,這一步似乎可以跳過.........
有空再繼續說吧~~~~~~PS,第一次用電腦回答,廢話好多啊~~~~~~~


假設你打算從事生物信息行業或長期地使用生物信息學工具而不是因為寫文章之類臨時抱佛腳,個么個人認為可以分三個階段入手。
第一階段是基礎知識學習,找一本覆蓋面廣但是又不是很難啃的教材先對生物信息所涉及各個方面有所了解,比如人衛版李霞主編那本《生物信息學》,當然我只是隨便舉例,這本書很多章節的內容就是直接翻譯的網站文檔……
第二階段是一個逐步深入的過程,這個過程中要學會工具的使用。比如編程是學Perl還是Python,現在R也得學了。演算法方面最基本的那幾個比如Smith-Waterman、Needleman-Wunsch、Dynamic Programming等要了解清楚,結合一些工具比如blast來學習。一些資料庫網站也是需要了解清楚的比如NCBI之類的就不用說了,比如很多人都用DAVID來進行生物模式識別分析了當碰到來與你討論的人時你也要有所了解才行,合理地尋找和利用資源。多看e文書和文檔吧,多動手寫,一定要動手寫。
第三階段是進行研究,就你個人的興趣或者你的工作需要選定一個/些領域來研究,進一步學習更多東西,這就學無止境了,HMM啦Bayes啦ANN啦……比如我就對高通量測序和腫瘤遺傳學感興趣那麼我就來研究這個。
擱幾百年前,咱這就是個手藝人,把手藝弄好就是要熟能生巧博採百家才行。


從工科轉到生物信息學來,講一下自己的經歷。
首先得了解生物信息學做什麼。推薦一本入門的書:《探索基因組學、蛋白質組學和生物信息學》,這本書基本上把現在用到的生物信息的基本技術講了一遍。
然後是學會如何應用現有的工具。現在有很多已經寫好的工具,只要會看幫助文檔,對於解決手頭的工作是提供了相當大的幫助。
如樓上講的一樣,學習一門語言。python,perl,R,都可以,只要能夠幫自己解決問題就好。
因為你是生物學出身,所以能夠理解工具背後的含義。對於像我一樣從工科轉到生物信息方向的,需要好好了解生物學的意義。有助於更好的完成工作。
國內的相關論壇確實不多,相應的幫助可以去查看工具和資料庫的文獻。試試用英文解決問題~


稍微補充一點......咬文嚼字的話,生物信息學(bioinformatics)可以理解為生物的(bio-)信息學(informatics)。也就是說這是一種信息學。那麼的話應該以資訊理論的角度來理解問題。雖然說某種程度上這更接近一種"哲學",但是對於理解問題來說非常重要。有閑暇的話推薦閱讀Jeremy Ramsden的Bioinformatics an Introduction第三版,裡面花了很大篇幅在這上面。

例(CB21 p16)"信息"由兩個部分組成:一個是先驗部分,是信息原本存在的結構,比方說對於一個生物學實驗的測量方式決定了信息的結構,可以視為Kolmogorov information。一個是後驗部分,是在先驗部分以外的"未知"部分,即是在給定先驗部分之後系統仍然存在的自由度,可以用Shannon index來量度 =I_i 。在一個生物學實驗的觀測中,後驗信息的不確定性降低,並以某種方式被觀測者接收 =I_f 。這時候我們得到的信息 =I_f-I_i 。這就是一個基本的資訊理論模型。

為什麼這種理解對於生物學重要呢,這是因為生物學實驗是具有高度不確定性的實驗,也就是說即使精心設計了實驗,依然會面臨極大的不確定性。資訊理論是加深對這種不確定性理解的一個途徑。當然,如果你只在意統計上的技巧的話,也可以無視這種理論,但是最終要解決的問題是生物學問題的話,最好稍微考慮到生物學信息的本質。畢竟生物學最終還是要歸於對某種"編碼"的研究。


最近又有些感想,來補充一些可執行的乾貨。

因為很多人並不是想要聽道理,你就告訴我先學什麼後學什麼。

還是三步走吧。


第一步:打基礎。搞一台伺服器,學習 Linux 、Perl、R、生物信息軟體的安裝 ;還要大概了解下測序原理。

剛入門建議用雲伺服器,剛開始很容易折騰的亂七八糟,不行就重新開一個從頭再來。這個階段買最低配置就好,亞馬遜新用戶免費一年,夠你折騰了。阿里雲都是中文的,更容易上手些。

Linux 掌握常用命令(不超過20個)、搞清楚目錄結構、能使用FTP把數據傳到伺服器上、會用 wget 命令下載就可以了。

Perl 能看懂別人寫的程序、能自己寫出來一個小程序就可以。

生物信息軟體安裝是大坑,千萬繞著走。手動安裝的話,相信我,有的軟體也許一周過去了,你都沒裝上,請使用 bioconda 自動化安裝。

測序原理要了解下,知道什麼是文庫、接頭、插入片段、測序深度、flowcell 、lane 等。

掌握了這些基本就可以過了。「好想快點處理數據」,那就遇到問題再回頭帶著問題解決,學習從來不是一蹴而就的,用卓老闆的話說「知識這東西需要不斷的核實和訂正」。

所以,我這個三步走,更多的是走兩步退一步,偶爾還要回頭看看。


第二步:任務練習。做一個小任務,比如測序數據的過濾、質控,或者是把數據比對到參考基因組。

咱不是學了這麼多東西嗎,這時候就達到了題主的境界,「不知道學的目的是什麼」。

所以找一個小任務來練習,數據質控是個不錯的開始。需要用到軟體的安裝、數據上傳和下載、深入理解下測序原理、fastq 格式、軟體的運行方式、簡單 shell 等。

一個不夠,可以再試試本地 blast 。


第三步:項目實操。從重測序、變異檢測入手不錯。轉錄組也可以,但稍微複雜了些。

項目就是把一個個的任務穿起來,重測序項目是最理想的選擇。可以掌握怎麼下載參考序列、過濾、質控、比對、變異檢測等步驟;也許要還用到 awk 、sed 、grep 等命令。在學習過程中理論也要跟上,任務運行的間隙,去研究下原理。

轉錄組用到的 Trinity 軟體包是個寶藏,很多Perl 、R 的源代碼值得一讀。

經過這三個步驟,就算入門了。

———————————以下是原回答——————————————————————


題主的問題雖然簡單,細看信息量很大。

1. 「從頭開始學」
應該是剛開始學Linux、Perl這些。
2. 「好像快點處理數據」
好像,通好想。快點處理數據,說明已經學了一段時間,還是感覺不能上手做分析,也許想試試trinity, 結果折騰了兩天,軟體都沒裝上。
3. 「很多時候都不知道目的是什麼」
知道Linux的文件系統、perl里什麼位移操作符,有個毛用。

對自學生物信息來說,難就難在入門,入門之後就看悟性和興趣了。

很能理解這種感覺,我自己是學物理的,大學時候自學Linux,折騰了一個月也沒弄清楚,學完就忘。後來去了華大,一兩天就熟練使用了。14年,新公司招聘的時候,我錄了一些Linux的視頻,新員工來了,最快的半天Linux就上手了。

所以,生物信息入門也並不難,只是自學的時候沒人指路容易跑偏。

就以Linux為例吧。不知道題主是怎麼學的,很多人都推薦一本書《鳥哥的Linux私房菜》。專門下載了這本書我們一起鑒賞一下。

全書1774頁,學完可以改行做伺服器管理員了。學Linux,只是因為大多數生物信息軟體都是在Linux上運行的,你只需要學會複製粘貼,查看文件、編輯文件,安裝軟體基本就可以了。差不多是這樣的

總共不到一個小時的視頻,一天應該是搞得定的。

其他方面也是類似,我就不說了。。。

最後,可以看看http://genek.tv上的視頻,我沒事錄的。


生物信息學有兩方面意義:
  基於生物問題導向的和基於設計演算法解決某類抽像過的生物問題的。
  基於生物問題導向,主要還以訓練對生物問題的理解為主,同時了解些簡單的編程,如R, python,了解那些演算法可以處理你當前的問題。
  另一個方向是基於演算法設計的,需要把一些抽像過的生物問題解決的更好,比如eqtl,gwas,sequence alignment 等等,這些需要比較過硬的數學和演算法基礎。


看到推薦就來答一下。。非生信相關,只是畢設按著哈醫大大牛李霞老師一篇nr上因子9.4的論文做的,4月初剛複試完,沒有任何生物學基礎,前期準備了python並沒有用上,幸得博士學長的幫助勉強做完了,混了個良好評級。以下從一個有些許計算機背景的角度簡略談下:

1,有linux基礎,(我畢設老師看到文本就操起shell一頓敲,個人覺得沒必要不推薦),但是很多數據門戶你要會使用shell下載(例如最大的癌症資料庫TCGA),有台靠譜的機器(伺服器),我用mac做畢設的數據預處理時,一些50m大小的文本就讓wps(win下)崩潰了十幾次,excel(os X下)也卡的不要不要的,盡量用高計算性能的pc(最好有實驗室的伺服器)做數據分析。

2,學習r語言基礎,主要是看你做哪個方向,針對那個領域有相關的r語言包,能快速看明白英文文檔並試著敲例子很重要。

3,有些許數學,統計學基礎,題主數學專業我就不說了,一些線性回歸很重要。

4,極強的搜集信息的能力。因為是初學者,而生信的門檻是相對高的,或者說是相對獨立的圈子,你要能融入並從圈子中獲取信息。很多工具,方法,門戶你百度是沒有結果的,要能google,從國外的論壇中找答案是必備的,除非你有個啥都會的大牛。

5,接上點,因為生信里很多方案是成熟的(例如genepttern上給出了80個左右模型演算法,你只要導入數據就行),所以如何儘可能快速的搜索到相關網站以及了解使用方法很重要,如果沒人帶的話,你最好能找一個國人的生信組織(例如有個群叫中國生信人,然後死皮賴臉找個大牛不停的問吧)

6,接上點,初入一個獨立且高門檻的領域,有個靠譜領路人很重要。

7,以上,能讓你獨立完成一些例如通過某癌症DNA拷貝數,mrna表達量數據,進而得到蛋白質互作網路的結果分析,發一篇3分4分的文章也將將夠用了,具體可參考網路上一篇相關文章,你如果有心做下去應該會看到的,我就不給出鏈接了。

最後,有個網站叫genomspace,裡面集成了目前主要的數據門戶的入口,還有,多找工具,我做完畢設老師跟我說了好幾次謝謝,就是因為我給她說了好幾個處理各種數據的網站……還有excel和spss最好能學會,你要能獨立處理數據,不會編程也要會寫複雜公式。

更新,好像沒什麼時效性了,很傷,睡覺


我也是從一個藥學理科學生陰差陽錯成了國科大的生物信息的在讀小碩。其實萬事開頭難,一開始真的是各種迷茫,上的課都是什麼分子,細胞生物學,一點幫助都沒有。好在導師,是新PI,比較有幹勁,研一上帶了我一把,還出錢讓我去培訓。所以現在也可以分析一些NGS的數據。
其實想學,有人帶當然要省事多。如果沒人帶,就要多search一些網站尋求幫助,花的時間也會比較多。
總體來說,linux,perl,python,R的教程在網上都比較豐富,也都不是算太難學(對了,樓主大學都沒上過高數,更加沒有生物學背景)。coursera上的課程都是非常入門級的,如果想系統的學習,最好都要找一本對應的書,樓上都介紹很多了。
分析數據有時候很麻煩的是軟體非常多,也沒有很嚴格的標準,一般多用主流軟體。有些軟體安裝起來就是一個很頭疼的事情,還有很長的documentation要看,所以一開始要花很多的時間,所以要先有心理準備。
最好多和導師交流,多看papers熟悉套路,能多看些培訓就更好了,要是有資深學長學姐在組內那就更更好了。
想學什麼東西都要下決心,也要arrange time properly,因為時間真的很limited。
最後歡迎各位大神來交流啊


個人認為,先會做人的重測序分析。從下機數據BCL轉FASTQ,然後BWA,通過GATK做出VCF。把VCF做出後,確認關鍵的SNP,然後分析這些SNP的,一點一點積累。這樣對大部分學生物的或者使用到臨床的人就初步可以了。所以先把Linux學好,推薦使用CentOS,搭好平台,把需要的軟體都學會自己裝。同時學會illumina的BaseSpace,可以遠程再做個分析對比。


本身是生物信息專業,所以根據自己情況來回答你的問題。
生物信息專業的學生一般來自三個方向,生物專業,計算機專業和數學專業,那麼三個專業的學生對應的方向就是數據分析(一般是測序數據分析),軟體開發和資料庫建立,數學建模和統計分析。
當然不排除交叉學習的情況。
我本身本科是生物專業,主要做測序數據分析和生物問題探討。在Linux下工作,專業知識學習了perl、shell、R。R一般用來畫圖。現在在學python。
以上。


題主問到不知道自己學習生物信息學的目的是什麼,那我就回答一點實際的吧。我看到之前還有人問,只會做實驗,如何入門生物信息學。我猜測ta可能是醫學背景的吧。畢竟醫學專業的人還是相當看重文章產量的,所以,我就介紹一下如何利用生物信息學來發表sci吧。

其實利用生物信息學發表sci也不用學會什麼一堆編程軟體。現在的網頁生物信息學工具已經足夠你完成一篇sci所需要的所有圖表,你只需要精心調整一下就可以了。我這裡放幾篇生物信息學的範文,大家可以參考一下:IF=1.3,Identification of key genes and pathways associated with obesity in children;IF=2.4,CDKN2B-AS may indirectly regulate coronary artery disease-associated genes via targeting miR-92a;IF=3.3,Genome-wide gene expression profiling reveals that CD274 is up-regulated new-onset type 1 diabetes mellitus;IF=6.1, Network and Pathway-Based Analyses of Genes Associated with Parkinson』s Disease 。

首先你要多看幾篇別人的文章,然後看一下大概需要哪些圖表,接下來就是怎樣去做出這些圖表來。等你能把這些圖表做出來,並且模仿別人做出一篇文章來,大概你學習生物信息學更實際一點的目的也就達到了。

我們以IF=1.3的那篇文章為例,來講一下它的圖表。

首先是這個熱圖。這個熱圖是針對差異基因進行篩選後作出來的,所以首先我們要找到差異表達基因(DEGs)。通過pubmed的GEOdatasets找到文章中提到的GSE29718序列,然後點擊這個名字,我們可以在新彈出來的網頁中看到基因分析工具GEO2R,利用這個工具實際上就可以分析DEGs。我們在這個文章里看到作者說他是利用R的limma包進行DEGs分析的,實際上GEO2R本身也是ncbi在limma包的基礎上設計的一個網頁工具,大家可以看一下怎麼去用這個網頁工具。

等找到了想要的DEGs後,就可以把這些基因做成excel表格,然後去GenePattern Sign in這上網頁上註冊一個賬號,免費的。這個網頁裡面有許多現成的生物信息學網頁工具,其中就包括熱圖工具

另外,大家可以看到像比較有名的GSEA這裡也是可以直接實現的。當然,大家可以另外需要了解一下針對這網頁自動分析所需要的文件的格式是什麼樣子的,可以去這裡GenePattern,實際上要想好好利用網頁工具的話,基本的也是很重要的一點就是如何調整相應的格式。當然,這個照葫蘆畫瓢其實也不難。

大家可以看到,剛才的圖裡,不僅可以實現熱圖,還可以做聚類分析,這樣一來,第一張熱圖我們就搞定了。

接下來是GO注釋、KEGG、Reactome通路分析

這些東西看著嚇人,好像要學習的東西不少,其實並不然。找到DEGs後,只需要把這些基因放在DAVID Functional Annotation Bioinformatics Microarray Analysis裡面,上面的三個分析就都會自動生成,然後你再根據文獻調整一下就可以了。DAVID是一個集成工具,包含了許多資料庫的信息,更方便的是,它能夠自動幫你轉換基因名稱的格式,這可以省很大的工夫。因為像KEGG就需要的是它特定的命名格式,那就很麻煩了。關於DAVID的學習大家可以自己進行,我之後如果有時間的話,再來寫吧。畢竟如果詳細地講每一個網頁的具體使用還是很費時的。再說了,其實這些網頁都是有tutorial的。好了,這樣一來,對於基因的功能分析也完成了。

接下來是

找到DEGs後,將這些基因的名稱放在STRINGfunctional protein association networks裡面,就會生成相應的蛋白互作圖,然後將這個圖的文本格式的文下載後放到Cytoscape(User Documentation)裡面,就能夠進行所需要的調整,然後就能得到這個圖了。

這裡尤其要介紹一下Cytoscape這個軟體。因為它還可以放置很多插件,所以它的功能很強大。像文章後面的

這種文獻查閱它的插件也是可以實現的。

另外

這個圖可以在GSEA裡面實現,叫做前沿子集分析,大家也可以去學習了解一下。

其實這樣一來,除了文獻中還需要根據自己的目的進一步選擇的一下基因外,其它的圖表就都完成得差不多了,這篇1.3分的sci差不多就結束了。所以大家自己可以找一個感興趣的主題一步一步的來,等完成了這個主題,基本上對於這種應用性的生物信息學也就有了一定的大體體會了。

對於醫學生來說,生物信息學可能和meta分析一樣,是一種生產sci短平快的利器。除此以外,其實還可以篩選一些感興趣的基因,然後將生信與實驗結合起來,這樣發的文章可能質量更高。

以上。

轉載請註明出處。


這個問題太大了,很難給出一個人人都滿意的答案。生物信息學包含的面太廣了,直接學的話要麼無從下手,要麼就會迷失在其中。個人感覺最好的學習方法就是參與到具體的項目中,通過解決項目中遇到的問題再學習具體需要的知識。
當然了最基本的一些常用的資料庫(ncbi, ucsc, et. al)網站還是要了解的。簡單的編程還是要會的,具體編程語言(python/perl, R, java/c/c++, shell)的選擇就看個人喜好了。個人還是很推薦linux的,工作效率大大的提高啊。
剛開始的時候不要想著什麼都學,人的精力是有限的,知識的海洋是浩瀚的,夠用就好,邊學邊用,邊用邊學。


現在MOOC那麼火,去裡面逛一圈,幾乎相關需要都涵蓋其中。最關鍵的還是把生物信息學的來龍去脈,用到的工具等做個掌握。系統和細緻兼具吧


自己以前是學數學和計算機的(信息與計算科學),本身專業就帶有些數據分析的目的,所以碩士時就做生物信息學,個人認為生物信息學主要分偏數據分析的應用方向(生物信息分析員)和偏演算法理論的軟體開發方向(生物信息工程師)。所以在碩士階段我就很蛋疼,想做理論演算法及軟體開發吧,一個人搞不來(演算法背景不夠深),有本科階段學習的數學和計算機基礎,所以搞搞資料庫開發和基因組數據分析了,個人還是比較崇拜那些玩統計和演算法的生物信息學人, 無賴自己對這些都不夠深入,所以從生物信息學數據分析這個應用性的角度總結了該具備的基礎知識以及學習生物信息學的基本路線。http://www.iwhgao.com/?page_id=899 。 基礎打牢固了後,後面的具體分析方向還是很好掌握的。


寫個實實在在的軟體,做一兩個項目。期間根據興趣不斷學習演算法數據結構,編程語言,統計,機器學習,生物醫學和遺傳學。


推薦閱讀:

TAG:自學 | 生物信息學 | 計算生物學 |