生物信息學一些基本的常用軟體有哪些?
生物信息學一些基本的常用軟體有哪些?入門級的
簡單羅列一些,主要是基於二代測序數據的群體基因組學常用軟體。
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系統的隱藏分區怎麼備份?