生物信息學一些基本的常用軟體有哪些?

生物信息學一些基本的常用軟體有哪些?入門級的


簡單羅列一些,主要是基於二代測序數據的群體基因組學常用軟體。


Coding language

Perl &

Python &


R &

Cookbook for R &


Plot

ggplot2 &

Circos &


Color

Colorbrewer2 &


Mapping

BWA &

Maq (out-of-date) &

stamps (out-of-date) &

Bowtie (out-of-date) &

Bowtie2 &

minimap &

SAM/BAM flag explain &

lastz &

- axt format &

- maf format &

SNP/Indel calling

samtools &

gatk &

angsd &

soapsnp &

soapindel &

pindel &

dindel &


Variant call format

about vcf format &

vcftools &


CNV call

CNVnator &

Genome STRiP &


Genotype phasing, imputation

beagle &

impute2 &

phase &

fastphase &

SHAPEIT &


Phylogenetic tree

fasttree &

RAxML &

Phylip &


Phylogen Programs &


Analysis tools

plink &

ngstools &


LD

haploview&


IBD

beagle &

germline &

Population Structure analysis

frappe &

structure &

admixture &

ngsAdmix &


PCA

eigensoft &


Demographic history

dadi &

psmc &

msmc &

treemix &

fastsimcoal2 &

ChromoPainter/fineStructure/GLOBETROTTER &


Seletive sweeps

sweep &

ihs and xpehh &

nSL &

SweepFinder &

SweeD &

xp-clr &


Transcriptome

Trinity &

velvet &

Tophat &

cufflinks &

HISAT2 &


Database

DDBJ &

ENA &

NCBI &

ensembl &

ensembl plant &

KEGG &

GO &


GWAS

FAST-LMM &

GAPIT &

EMMAX &


RAD-seq

Stacks &


SNP annotation

SNPeff &

NGS-SNP &

ANNOVAR &


Gene annotation

EVidenceModeler(EVM) &


Protein functional effects

PolyPhen-2 &


Venn diagram

VennPainter &

Venny2.1 &

Cancer相關主要參考兩個機構

ICGC &

CGA &

就當我自己的index吧


其實做生物信息的人並不是都在自己寫軟體,只有少部分研究模型演算法的人才需要自己寫軟體。大部分只是用現有的軟體(比如上頭列的這些)利用好手頭的數據,解決想要解決的生物學問題,編好故事,發文章。常用的腳本語言如perl,python只是為了方便處理數據,將各個軟體各種分析的結果串起來。或者進行一些簡單的數據整合、批量化計算,這頂多算個腳本,還不是自己寫的軟體。除了研究模型演算法的人,生物信息還是注重對於生物學問題的理解,理解清楚了數據不是問題,軟體也不是問題。


學習使用新軟體時,先粗略地把Manual、Readme、軟體涉及的文章(包括附件里的內容,往往會提供可用的細節)都過一遍,然後使用樣例數據跑跑看。遇到問題不要慌張,善用搜索工具進行檢索(英文),你能遇到的大部分別人都遇到過,看看別人的求助貼和討論內容一般都能解決問題。


搜索解決不了問題還可以考慮給作者寫郵件,注意清晰描述遇到的情況(描述問題本身就是理清思路的過程),寫郵件或者發帖問問題盡量具體明確一點,同時注意提問的條理和內容的可讀性。


不要使用 「對於***分析,你有什麼建議?」這樣太泛的提問方式。


而要問,對於A事情,我是這麼理解的blablabla,同時我覺得我先可以這麼做:

1. blablabla...

2. blablabla...

3. blablabla...

請問我理解的對不對,你更建議哪種做法?


讓對方做選擇題,降低他回答的成本,而不是讓他擬答案。這樣的方式更容易獲得回復,也更容易解決問題。


-----------------------


多地保持同步更新有點費勁,後續更新可參照: Awesome-BioinfomaticsSoftware


感興趣的也歡迎關注我的微信公眾號:wanglizhong0726,這裡「沒有關於生物信息的硬知識,只是我的感觸、寫作練習和成長分享,謝謝。


.


在鄙人剛剛開始接觸生物信息學的時代——大概是十一二年前(暴露年齡了),在那個時候,能用一些軟體分析分析一點生物數據,就可以算是懂生物信息學了,因為大多數生物學家電腦都不一定會用。做一個 CLUSTALW 序列比對,用 PHYLIP 算一個進化樹,上 NCBI 做一個 BLAST,知道這三個就已經算可以了。但是這十年來生物信息學已經徹底變成了一門新的學科。生物信息學變成為生物學研究者提供分析工具的學科,滲透到生物學的幾乎每一個研究領域。而你要做的是編寫軟體,而不是學用別人的軟體——要是人家都已經寫好給你用了,還要你做什麼?

目前的生物信息學需要掌握的技術和寫開源軟體的碼工差不太多。我個人並非專業的生物信息學研究者,但是研究中很多工具也是不得不自己寫的。

最常用的東西:
1,你需要會用 Linux,會使用 bash

2,高於入門級的統計學知識,以及一門統計語言,比如 R

3,至少一門編程語言,一般來講 C++, Perl, Python, Java 這幾種中的一種。

4,對於你工作的領域,需要懂這方面的生物學知識,也需要知道目前人們在這個領域裡都用什麼其他軟體。

以上四點我覺得必不可少。其他的知識則取決於你是什麼領域。比如如果你要研發高性能的序列比對軟體,則演算法和並行計算的知識必不可少。——本人自己演算法很渣,所以沒有把算啊列在以上必備的知識里。如果要頻繁存取大量數據,則懂得一種資料庫必不可少,比如MySQL。

舉一個例子來說明吧。比如在我個人研究的遺傳學領域裡,目前大部分的生物信息學研究集中在二代測序(High-throughput sequencing)數據的分析工具上。很顯然你需要明白測序是怎麼回事,了解一下測序儀的原理,這種數據有哪些特點,其誤差大概是什麼樣的分布,會對你的軟體有何影響。以上這些需要生物學和統計學的知識。另外做二代基因測序的序列比對(Alignment),現在軟體多如牛毛,但最常用的基本還是 bowtie, bwa 等少數幾種,各自的演算法不同,在研究自己的方法之前當然把其他方法的演算法學會。單個的測序數據結果目前一般不用資料庫存儲,但是數據量更大一些的話,某種形式的indexing,或者資料庫就需要了。這種數據和大規模運算一般只能在大型伺服器上運行,毫無疑問的需要會 Linux 和 bash,以及一些分散式計算的基礎知識。

---05/05/2014 補充

樓下的王理中同學說做生物信息不一定要自己寫程序。我認為這是不對的。定義生物信息學這個領域的雜誌是 Bioinformatics (Table of Contents),影響因子雖不高, 但是上面的文章就是標準的生物信息學文章,翻翻上面的目錄便知做生物信息學需要什麼技能。如果只是會用一堆軟體的人——比如在下——不算是生物信息研究者,而只算是會用一些生物信息工具的人而已。而這樣的工具每個領域都完全不一樣,做蛋白結構的人使用的工具和做測序的人使用的工具完全不一樣,他們歸不到一個領域裡面去。

這其中的區別可以這麼說,做生物信息的人主要是研究方法學,需要把自己的方法寫成軟體發表。用生物信息學工具的人則只是用別人的工具而已,發表的文章也就並不是生物信息學的文章,而是你自己領域裡的文章,比如群體遺傳學。到現在生物的絕大多數領域都需要用其他人寫的軟體處理大量數據,如果把所有這樣的文章都算在生物信息裡面,那 80% 的生物學文章得都是生物信息學文章了。


7月28日更新 :原鏈接失效了,已經更新。

上次回答的時候基因課的視頻教程還是個人興趣,業餘時間錄的,免費放到網上。

今年辭職全職做這個事情了,所以收費。只有收費才能保證內容精良和持續輸出。每門課程也只有幾十塊錢。

收費的另一個原因是,很多同學沒有 Linux 伺服器,沒法練習,我們為大家購買了雲伺服器供練習。

————————————————————————————

1. 基礎語言

1.1 Linux

操作系統,是基礎。
生物信息對Linux的要求其實並不高,並不是要做系統開發者或管理員,只需要會用就行。複製粘貼、處理數據、安裝軟體等。

Linux學習視頻鏈接

軟體安裝絕對是一個大坑,很多時候信誓旦旦說下午要把數據分析完,結果半夜了軟體還沒裝上,各種報錯。

軟體安裝鏈接

1.2 perl或python

處理個性化問題、軟體之間的對接等。
這兩門語言至少應該熟練掌握一門自己寫程序用,另外一門要能看得懂。寫點小腳本感覺差別不大,但是perl寫大程序不合適。很多人認為python是趨勢,但至少截止目前更多生信軟體是用perl寫的。
所以,如果剛開始學,建議主打python, 看懂perl。

perl學習視頻鏈接

python視頻17年再錄。

1.3 R

數據處理、統計、繪圖、數據分析。
R語言的數據結構跟其他語言差異較大、而且總感覺語法比較散,不好記。但是R的軟體包卻異常強大。數據處理的reshape2, dplyr;繪圖的ggplot2;還有Bioconductor里的幾千個包。不得不會。

R學習視頻鏈接

R自帶的畫圖命令用起來感覺渾身難受,ggplot2是R的一個包,學會了感覺自己是藝術家

ggplot學習視頻鏈接

2 基本工具

2.1 數據過濾和質控

拿到測序數據之後,先看看數據質量咋樣,把不合格的扔掉
質控軟體fastqc
過濾軟體Trimmomatic

測序數據過濾和質控學習視頻鏈接,
不過寫回答的時候還沒有錄完。

2.2 常用軟體

太多了,比如blast,seqkit,MEGA等。

3 做什麼

生物信息做的最多的就是基因組、轉錄組、重測序,每一類都有套路,每一步主流軟體也就那麼幾個,沒有太多選擇

3.1 一個物種的基因組

基因組denovo的套路就是組裝-&>注釋-&>比較基因組分析-&>。。。

Genome assembly: SOAPdenovo, ALLPATH-LG等
Genome annotation: 結構注釋推薦用maker,學習視頻

注釋完成之後,可以搭建個JBrowse基因組瀏覽器看看,後面分析也用得上,有精力可以做手工注釋。

後面比較基因組內容很多,推薦一個工具MCScanX,能實現大部分基因組之間的比較。

3.2 重測序、變異檢測、群體分析

重測序的套路是 測序reads比對到參考基因組-&>各種變異檢測-&>。。。

DNA比對軟體最主流的就是bwa, 比對完了生成一種叫sam/bam的比對格式,這個格式夠你研究一下午的。

變異檢測包括SNP、indel和結構變異SV,拷貝數變異CNV等。SNP和indel最主流的軟體就是GATK,變異檢測生成一種VCF的文件格式.

得到的VCF通常需要做一些處理,比如過濾掉質量低不可靠的變異位點。順手的工具是vcftools。

完成變異檢測之後,你可能想知道,這些變異都對基因功能產生了什麼影響,這就是變異的注釋。最主流的軟體之一是SnpEff。

如果做的是群體重測序,要算一下PI,LD,Fst等,vcftools 也可以搞定。

3.3 多個樣品的轉錄組

轉錄組是做的人最多,價格最最便宜,但其實也是信息分析最複雜的。為什麼呢?因為轉錄組即包含了類似基因組denovo的拼接、類似重測序的比對和變異檢測,而且分析起來更為複雜。

轉錄組原理篇學習視頻

如果沒有參考基因組,就需要進行拼接,應該95%以上的都是用trinity軟體拼接得到轉錄本序列,然後使用bowtie2比對到轉錄本序列上的到sam格式比對文件。然後根據比對結果使用RSEM軟體進行表達定量。

無參轉錄組分析實操 學習視頻

如果有參考基因組,直接使用 hisat2(替代tophat)或STAT 將測序結果比對到基因組上,結合基因注釋就可以計算出每個基因的表達。

有參轉錄組分析實操 學習視頻

拿到表達數據之後,最常做的是差異表達基因的鑒定。記住兩款軟體DESeq2和edgeR,根據一些測評文章,這兩款是大多數情況下最靠譜的,cuffdiff哪些就不要用了。

暫時就寫這麼多吧。

推薦一個網站,生物信息軟體大全啊,omictools


要說軟體的話,我這裡有1000款,你肯定可以找到你需要的,生物信息學常見1000個軟體的安裝代碼!


BLAST: BLAST: Basic Local Alignment Search Tool
Joinsolver: Welcome to JOINSOLVER? (用於分析免疫球蛋白序列)


這問題咋頂出來的。 @周傑 說的很好。

再說個網站吧:

The Galaxy Project: Online bioinformatics analysis for everyone


推薦這麼一個玩意,The Elements of Bioinformatics


本來不敢來回答這個問題的,看樓主是來問基本的常用軟體,所以斗膽來回答一下。
基本的綜合分析軟體DNASTAR的 Lasergene,我剛剛開始用的時候還是DNDstar,不知道為什麼現在變成這個名字了。
有些人喜歡用BioEdit這個功能和前面的差不多,不過我用的比較少。
做序列比對使用的Clustal X。
前面有人提到做進化分析的PHYLIP,這個我只用過一兩次。
還有就是MEGA,這個做進化分析比較好使些。
引物設計的Primer Premier, Oligo。
還有些看蛋白三維圖譜的軟體,我知道的比較少,期待後面有人來補充啦。


http://www.ncbi.nlm.nih.gov/
http://www.megasoftware.net/


http://weixin.qq.com/r/7XXw6AnEIVRerU2L9yD- (二維碼自動識別)

我們做的也有這塊的軟體,QIAGEN。感興趣可以看一下,裡面有很多案例。


mark


插眼


推薦閱讀:

一款新軟體的熱鍵設置是遵循其他軟體的默認設置的還是自我設定?是誰在搶佔我們的鍵盤?
Axure RP這個軟體名稱怎麼讀?
有沒有可以讓 Windows 平台的系統時間變慢的工具或軟體?
快手該不該被封殺?
惠普自帶的win10系統的隱藏分區怎麼備份?

TAG:軟體 | 生物信息學 |