圖形化生物軟件專題(4):MEGAN

在這裏插入圖片描述
編者薦語:

MEGAN是一款非常優秀的物種分類工具,配合DIAMOND比對,可以完成完整的物種分類鑑定工作,並可以完成很多可視化的工作,本來想系統介紹一下,發現宏基因組公衆號已經有非常好的教程,這裏引用過來分享給大家。

以下文章來源於宏基因組 ,作者宏基因組

MEGAN-宏基因組功能和物種分類

MEGAN用於功能和物種分類官網。這裏有付費版和免費版本。我們以免費版爲例。

官網 https://www.wsi.uni-tuebingen.de/lehrstuehle/algorithms-in-bioinformatics/software/megan6/

MEGAN功能簡介
MEGAN6是用於交互式分析微生物組數據的綜合工具箱。在一個交互式工具。

使用NCBI進行物種分類或自定義數據庫分類(或SILVA)進行分類分析;

使用InterPro2GO,SEED,eggNOG或KEGG進行功能註釋;

簡單可視化 條形圖,詞雲,樹形圖和許多其他圖表;

多元統計分析:

PCoA,聚類和網絡;

支持元數據(metadata)

MEGAN支持許多不同類型的數據輸入

原理簡要示意圖
通過Diamond對序列進行比對(nr),對輸出的daa比對結果文件進行功能和物種使用MEGAN註釋。當然不止可以使用Diamond比對結果,還可以使用blast的結果。

MEGAN特有文件格式:RMA
這是MEGAN自己的文件格式,用於存儲序列和數據庫比對結果,就是RMA格式文件,以.rma格式爲後綴,比如BLAST結果,當然這裏還有我們的 Diamond輸出結果。這兩個典型的序列比對輸出類似,但是BLAST功能更加強大,Diamond在處理大的數據時速度更快。MEGAN的RMA文件也逐漸升級到RMA6,速度更快,體積更小(僅僅需要原來RMA文件的三分之一的體積),原來的就RMA文件仍然可以在新版本的MEGAN中打開。可以在軟件中通過File ——> Import From BLAST…導入。

RMA文件以許多標題行開頭,每行以開頭。這些行可以以任何順序出現。

@Creator MEGAN (version 4.0alpha20, built 14 Oct 2010)
@CreationDate Wed Oct 27 17:10:52 CEST 2010
@ContentType Summary4
@Names 155_PE_1_fixed-paired ecoli-testrun-2000-nr
@Uids 1288068180866 1288190195887
@Sizes 51246 2000
@TotalReads 200000
@Collapse SEED 2000041
@Algorithm Taxonomy tree-from-summary
@Parameters normalizedTo=100000
@NodeStyle KEGG piechart
前兩行是軟件及其版本信息和作者信息。第三行標識
註明格式爲Summary4,表示這是MEGAN 4的總結文件。
第四行列出了此文件代表的所有樣本的名稱,這裏有兩個樣本。第5行爲樣本唯一標識符編號(如果有才展示)。第6行列出了原始
樣本大小。第7行列出了序列的總數。第8行鍼對SEED分類指定展示中圖形樹中的節點分類。這裏除了SEED數據庫,可以用TAXONOMY或KEGG代替,例如
其他分類。第9行包含用於計算分類的算法的名稱。第二個是參數。第10行列出了運行參數用於生成文件。第11行指定分類節點的樣式。

MEGAN下載
MEGAN官網下載頁面:https://software-ab.informatik.uni-tuebingen.de/download/megan6/welcome.html

MEGAN提供了三種版本:

Win MEGAN_Community_windows-x64_6_18_4.exe

MAC MEGAN_Community_macos_6_18_4.dmg

Linux MEGAN_Community_unix_6_18_4.sh

如Linux版下載

安裝程序 102M

wget -c https://software-ab.informatik.uni-tuebingen.de/download/megan6/MEGAN_Community_unix_6_18_4.sh

NCBI-nr編號與物種和功能註釋 970M

wget -c https://software-ab.informatik.uni-tuebingen.de/download/megan6/megan-map-Oct2019.db.zip

核酸與物種信息 655MB

wget -c https://software-ab.informatik.uni-tuebingen.de/download/megan6/megan-nucl-Oct2019.db.zip
提供數據庫將NCBI-nr數據庫比對文件註釋到分類和功能:(taxonomy,eggNOG,InterPro2GO和SEED),但是免費版本就只能使用這只是到這四個,並在使用前解壓縮:

megan-map-Oct2019.db.zip

當然還有需要許可證的收費版本:數據庫就包含了KEGG。點擊此處申請密匙 https://computomics.com/megan.html
數據庫也不同於社區版本(megan-map-Oct2019-ue.db.zip)。我嘗試申請了使用密匙,但是三天了也還沒消息。

MEGAN(linux版本安裝)
直接在terminal中運行,會彈出圖形界面,按照提示安裝即可,如果不選擇位置,則在home下生成一個megan的文件夾。

軟件安裝

方法1. conda安裝 http://bioconda.github.io/ 6.12.3-0 built 14 Aug 2018,構建一個環境,但不是最新版

conda create -n megan # 創建megan環境
conda activate megan # 進入megan環境
conda install megan # 安裝megan,235Mb 版本太低

方法2. 直接安裝

wget -c https://software-ab.informatik.uni-tuebingen.de/download/megan6/MEGAN_Community_unix_6_18_4.sh
bash MEGAN_Community_unix_6_18_4.sh

JVM must be at least 11. Please define INSTALL4J_JAVA_HOME to point to a suitable JVM

java -version # 1.8.0_201

安裝完上面conda會變爲 openjdk version “11.0.1-internal” 2018-10-16

數據庫下載

NCBI-nr編號與物種和功能註釋 970M

wget -c https://software-ab.informatik.uni-tuebingen.de/download/megan6/megan-map-Oct2019.db.zip

解壓後爲 5 Gb 的db文件

unzip megan-map-Oct2019.db.zip

核酸與物種信息 655MB

wget -c https://software-ab.i nformatik.uni-tuebingen.de/download/megan6/megan-nucl-Oct2019.db.zip

解壓後爲 4.2 Gb 的db文件

unzip megan-nucl-Oct2019.db.zip

NCBI-nr完整蛋白序列庫和建diamond索引,2020/2/4,67G

wget -c ftp://ftp.ncbi.nlm.nih.gov/blast/db/FASTA/nr.gz
#嘗試使用pigz多線程解壓縮,123G
time unpigz -k -p 16 nr.gz # 8m, 26m
#gunzip -c nr.gz > nr
time diamond makedb --in nr -d nr -p 32 # 8m, 102m
MEGAN使用指南(Linux)
原始序列處理:如 https://www.ebi.ac.uk/ena/browser/view/ERR793599

下載

wget -c ftp://ftp.sra.ebi.ac.uk/vol1/fastq/ERR793/ERR793599/ERR793599_1.fastq.gz
wget -c ftp://ftp.sra.ebi.ac.uk/vol1/fastq/ERR793/ERR793599/ERR793599_2.fastq.gz

以任意的宏基因組數據爲例,ERR793599

#重壓縮測序文件
pigz -p 6 -dc ./ERR793599_2.fastq.gz | pigz -p 6 > ./C1_2.fastq.gz
pigz -p 6 -dc ./ERR793599_1.fastq.gz | pigz -p 6 > ./C1_1.fastq.gz

#去除barcode並進行指控
java -jar ~/sra/Trimmomatic-0.38/trimmomatic-0.38.jar PE -threads 6
-phred33 ./unpack/C1_1.fastq.gz ./unpack/C1_2.fastq.gz
./trimmomatic/C1_forward_paired.fq.gz ./trimmomatic/C1_forward_unpaired.fq.gz ./trimmomatic/C1_reverse_paired.fq.gz ./trimmomatic/C1_reverse_unpaired.fq.gz
ILLUMINACLIP:…/…/database/NexteraPE-PE.fa:2:30:10 LEADING:3 TRAILING:3 SLIDINGWINDOW:4:30 MINLEN:100 2> C1.log

#使用nr數據框對前端數據進行比對,每個樣本可能需要至少3-5小時,由數據大小決定

diamond blastx -c 1 --db /home/wentao/Desktop/biostack/database/nr/db/nr.dmnd -t /tmp -p 34 -q ./trimmomatic/C1_forward_paired.fq.gz --daa ./diamond/C1.1.daa

#使用nr數據框對後端數據進行比對
diamond blastx -c 1 --db /home/wentao/Desktop/biostack/database/nr/db/nr.dmnd -t /tmp -p 34 -q ./trimmomatic/C1_reverse_paired.fq.gz --daa ./diamond/C1.2.daa

#轉化雙端daa文件爲MEGAN特有額rma文件。

~/megan/tools/daa2rma -i ./diamond/C1.1.daa ./diamond/C1.2.daa --paired -ms 50 -me 0.01 -top 50 -mdb ~/db/megan/megan-map-Oct2019.db -o ./diamond/C1.rma
運行過程文件展示

Parsing file: ./diamond/C1.1.daa
10% 20% 30% 40% 50% 60% 70% 80% 90% Parsing file: ./diamond/C1.2.daa
10% 20% 30% 40% 50% 60% 70% 80% 90% 100% (810.8s)
Total reads: 443,738
Alignments: 9,103,355
100% (0.0s)
100% (0.0s)
100% (0.0s)
Linking paired reads
Number of pairs: 178,830
Binning reads: Initializing…
Initializing binning…
Using paired reads in taxonomic assignment…
Using ‘Naive LCA’ algorithm for binning: Taxonomy
Using Best-Hit algorithm for binning: SEED
Using Best-Hit algorithm for binning: EGGNOG
Using Best-Hit algorithm for binning: INTERPRO2GO
Binning reads…
Binning reads: Analyzing alignments
Total reads: 443,738
With hits: 443,738
Alignments: 9,103,355
Assig. Taxonomy: 443,738
Assig. SEED: 53,014
Assig. EGGNOG: 85,333
Assig. INTERPRO2GO: 204,180
MinSupport set to: 221
Binning reads: Applying min-support & disabled filter to Taxonomy…
Min-supp. changes: 1,599
Binning reads: Writing classification tables
Numb. Tax. classes: 92
Numb. SEED classes: 3,055
Numb. EGG. classes: 4,756
Numb. INT. classes: 6,832
Binning reads: Syncing
Class. Taxonomy: 92
Class. SEED: 3,055
Class. EGGNOG: 4,756
Class. INTERPRO2GO: 6,832
100% (728.6s)
Total time: 1547s
Peak memory: 24.6 of 125.8G
提取註釋內容(物種和功能):
rma2info:

用於提取rma文件中的物種和功能註釋信息。

提取物種註釋數據:
~/megan/tools/rma2info -i ./diamond/C1.rma -r2c Taxonomy -n true -v > ./diamond/C1Taxonomy.txt
n true 顯示菌名稱

paths true 顯示層級菌名

—ranks: true 顯示註釋到那個等級,會在序列前面加上菌等級的標記,P,S等等

—list true 添加簡單序列統計信息

—listMore true 添加運行參數等信息

我們把這些參數添加上再運行一次:

~/megan/tools/rma2info -i ./diamond/C1.rma -c2c Taxonomy -r2c Taxonomy -n true --paths true --ranks true --list true --listMore true --bacteriaOnly true -v > ./diamond/C1Taxonomy1.txt
提取功能:
SEED:功能註釋數據庫。07年有篇文章介紹了MEGAN分析SEED和KEGG:https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-12-S1-S21
EGGNOG:功能註釋;
INTERPRO2GO:將序列分類爲蛋白質家族,並預測重要結構域和位點的存在。InterPro是蛋白質家族,域和位點的集成資源。參考網址學習

提取EGGNOG註釋:

~/megan/tools/rma2info -i ./diamond/C1.rma -r2c EGGNOG -n true --paths true --ranks true --list true --listMore true -v > ./diamond/C1eggnog.txt
提取SEED註釋:

~/megan/tools/rma2info -i ./diamond/C1.rma -r2c SEED -n true --paths true --ranks true --list true --listMore true -v > ./diamond/C1SEED.txt
提取INTERPRO2GO註釋:

~/megan/tools/rma2info -i ./diamond/C1.rma -r2c INTERPRO2GO -n true --paths true --ranks true --list true --listMore true -v > ./diamond/C1INTERPRO2GO.txt
Win版安裝和使用:MEGAN安裝
軟件安裝:MEGAN提供win下的32和64位版本可供下載,這裏我們選擇64位;32位Windows版本的MEGAN配置只能使用1.1 GB內存。對於所有其他版本在安裝過程中,安裝程序將允許您在安裝過程中設置最大內存。在默認情況下,程序將建議使用2 GB。如果你的電腦有更多的可用內存,那麼,把這個限制定得更高。例如,如果您有4 GB的主內存,則設置將MEGAN限制爲3 GB。8GB內存可以設置5GB、16GB可設置12G。這是因爲所給的內存就越多,程序運行得越快。

MEGAN依賴java,這裏我我們首先要下載安裝java8以上的版本;

官網選擇exe程序下載;

雙擊安裝程序-同意協議,開始安裝

設置最大內存使用量:

我的電腦8G內存,可設置爲5G,大家可以根據自己實際條件設置分配內存數量。

安裝完成後,打開軟件:自動加載NCBI的物種三級分類:

Win版使用指南:MEGAN主界面介紹
主界面用於展示門類樹並且可以通過菜單欄去控制門類樹。在初始情況下,也就是剛剛打開MEGAN,還沒有導入RMA文件的時候,主界面展示NCBI的分類樹,默認展示三層結構,全部展示可以使用菜單欄的工具:rank。

一旦數據讀入,NCBI的分類樹就會被我們導入文件的樹所替代,樹中枝節點大小代表了註釋到該節點的物種所匹配的序列數量。雙擊節點我們可以看到一些信息,例如:匹配到該節點的序列數量,總序列數量。

下游節點可以被摺疊和展開,這通過菜單欄可以解決。鼠標右鍵也可以訪問菜單欄。

MEGAN輸入介紹
The File→New… item:打開空白項目;

The File→Open… item: 打開MEGAN文件 (e文件後綴名:

.rma, .meg 或者 .megan).

The File→Open Recent submenu :

打開最近的項目;

The File→Open From Server… item: 從MeganServer服務器上打開文件,(這也是MEGAN的示例文件);

The File→Compare… item: 打開比較對話框,對多個數據集進行比較;

The File→Import From BLAST… item: 打開序列比對或者序列文件(daa);

文件輸入:這裏我們可以輸入blast或者diamond序列比對後輸出的daa文件。

首先是示例文件,這裏我們選擇MEGAN服務器上的文件;

,按照如下操作,我們可以看到有好幾組示例數據,這裏我們直接選擇第一個做演示:

(打開速度與網速有關,因爲文件在網絡服務器上)

選擇之後就出現瞭如下界面:這是物種分類樹。

可以通過這幾個按鈕查看物種和功能信息樹(這裏導入rma6文件),現在MEGAN改版了,只要註釋出來RMA文件,都會有物種和功能,不用選擇數據庫了:

無論是物種註釋,還是功能都是以樹的形式展示,也就是說一定有一個根,對於樹,我們可以操作節點,選擇收起子節點還是展示子節點:

當我們瞭解了該樣本物種的功能組成後,需要導出對應數據。我們以SEED蛋白註釋爲例:摁住shift鍵,然後使用鼠標左鍵拉去需要保存的樹,變爲黃色的也就是目前可以保存的數據(其他功能和物種註釋保存類似操作):

摘取部分數據查看:第一列是功能單位,第二列是丰度信息(可以選擇是否輸出標準化信息)

“SEED” 7.0343728E7
“Amino Acids and Derivatives” 1303462.0
“Arabinose Sensor and transport module” 157.0
“Autotrophy” 2491.0
“2-Ketogluconate Utilization” 5.0
“2-O-alpha-mannosyl-D-glycerate utilization” 2141.0
“Acetoin, butanediol metabolism” 25694.0
“Acetone Butanol Ethanol Synthesis” 36732.0
“Acetyl-CoA biosynthesis in plants” 21184.0
“Acetyl-CoA fermentation to Butyrate” 29880.0
“acinetobacter tca” 97660.0
“alpha carboxysome” 25116.0
“Alpha-acetolactate operon” 4.0
“Alpha-Amylase locus in Streptocococcus” 38.0
“beta carboxysome” 3994.0
“Beta-Glucoside Metabolism” 12943.0
“Butanol Biosynthesis” 28782.0
“Calvin-Benson cycle” 79542.0
“Calvin-Benson-Bassham cycle in plants” 50638.0
“Carboxysome” 21503.0
“Chitin and N-acetylglucosamine utilization” 149992.0
“CitAB” 1.0
KEGG註釋查看:

“KEGG2011” 7.034416E7
“Carbohydrate Metabolism” 3721914.0
“K1000010 Glycolysis / Gluconeogenesis” 422395.0
“K1000020 Citrate cycle (TCA cycle)” 310392.0
“K1000030 Pentose phosphate pathway” 329485.0
“K1000040 Pentose and glucuronate interconversions” 340106.0
“K1000051 Fructose and mannose metabolism” 425046.0
“K1000052 Galactose metabolism” 816922.0
“K1000053 Ascorbate and aldarate metabolism” 53282.0
“K1000500 Starch and sucrose metabolism” 745091.0
“K1000520 Amino sugar and nucleotide sugar metabolism” 877177.0
“K1000620 Pyruvate metabolism” 492159.0
“K1000630 Glyoxylate and dicarboxylate metabolism” 212640.0
“K1000640 Propanoate metabolism” 242167.0
“K1000650 Butanoate metabolism” 198659.0
“K1000660 C5-Branched dibasic acid metabolism” 77196.0
“K1000562 Inositol phosphate metabolism” 33097.0
“Energy Metabolism” 1609134.0
“K1000190 Oxidative phosphorylation” 406172.0
“K1000195 Photosynthesis” 113692.0
“K1000710 Carbon fixation in photosynthetic organisms” 307788.0
“K1000720 Carbon fixation pathways in prokaryotes” 216803.0
“K1000680 Methane metabolism” 379958.0
“K1000910 Nitrogen metabolism” 382561.0
“K1000920 Sulfur metabolism” 95305.0
“Lipid Metabolism” 968704.0
“K1000061 Fatty acid biosynthesis” 164601.0
EGGNOG註釋查看:

“eggNOG” 7.0344072E7
“informationStorageAndProcessing” 4313603.0
“cellularProcessesAndSignaling” 5433823.0
“metabolism” 1.0153629E7
“[C] Energy production and conversion” 1243786.0
“[E] Amino acid transport and metabolism” 2183752.0
“[F] Nucleotide transport and metabolism” 738606.0
“[G] Carbohydrate transport and metabolism” 3057650.0
“[H] Coenzyme transport and metabolism” 712124.0
“[I] Lipid transport and metabolism” 607947.0
“[P] Inorganic ion transport and metabolism” 1538295.0
“[Q] Secondary metabolites biosynthesis, transport and catabolism” 155732.0
“Not assigned” 5.0519228E7
InterPro2GO註釋結果查看:

“InterPro2GO” 6.8526864E7
“GO:0071973 bacterial-type flagellum-dependent cell motility” 48865.0
“GO:0007155 cell adhesion” 23.0
“GO:0045454 cell redox homeostasis” 45236.0
“GO:0071840 cellular component organization or biogenesis” 740858.0
“GO:0006259 DNA metabolic process” 1580534.0
“GO:0016226 iron-sulfur cluster assembly” 47578.0
“GO:0008152 metabolic process” 1.0141539E7
“GO:0008218 bioluminescence” 29.0
“GO:0009058 biosynthetic process” 3593054.0
“GO:0005975 carbohydrate metabolic process” 3166996.0
“GO:0006091 generation of precursor metabolites and energy” 416010.0
“GO:0006629 lipid metabolic process” 503233.0
“GO:0015948 methanogenesis” 190.0
“GO:0006807 nitrogen compound metabolic process” 3833028.0
“GO:0016310 phosphorylation” 277450.0
“GO:0015979 photosynthesis” 276.0
“GO:0044281 small molecule metabolic process” 4018961.0
“GO:0006351 transcription, DNA-templated” 185610.0
“GO:0006412 translation” 328870.0
“IPR003821 1-deoxy-D-xylulose 5-phosphate reductoisomerase” 21365.0
“IPR006401 2,5-diamino-6-hydroxy-4-(5-phosphoribosylamino)pyrimidine 1-reductase, archaeal” 1.0
TAX物種註釋信息查看:默認輸出只有沒有level層次信息,可選輸出stamp,可以輸出帶有層級信息的註釋文件。

Level_1 Level_2 Level_3 Level_4 Level_5 Level_6 Level_7 Observation Ids Bob06
k__(null) p__(null) c__(null) o__(null) f__(null) g__(null) s__(null) ID1 462699.0
k__(null) p__(null) c__(null) o__(null) f__(null) g__(null) s__(null) ID131567 80876.0
k__Bacteria p__(Bacteria) c__(Bacteria) o__(Bacteria) f__(Bacteria) g__(Bacteria) s__(Bacteria) ID2 2493265.0
k__Bacteria p__(Bacteria) c__(Bacteria) o__(Bacteria) f__(Bacteria) g__(Bacteria) s__(Bacteria) ID1783270 0.0
k__Bacteria p__(Bacteria) c__(Bacteria) o__(Bacteria) f__(Bacteria) g__(Bacteria) s__(Bacteria) ID68336 6045.0
k__Bacteria p__Bacteroidetes c__(Bacteroidetes) o__(Bacteroidetes) f__(Bacteroidetes) g__(Bacteroidetes) s__(Bacteroidetes) ID976 721448.0
k__Bacteria p__Bacteroidetes c__Bacteroidia o__(Bacteroidia) f__(Bacteroidia) g__(Bacteroidia) s__(Bacteroidia) ID200643 0.0
k__Bacteria p__Bacteroidetes c__Bacteroidia o__Bacteroidales f__(Bacteroidales) g__(Bacteroidales) s__(Bacteroidales) ID171549 7600487.0
k__Bacteria p__Bacteroidetes c__Bacteroidia o__Bacteroidales f__Bacteroidaceae g__(Bacteroidaceae) s__(Bacteroidaceae) ID815 0.0
k__Bacteria p__Bacteroidetes c__Bacteroidia o__Bacteroidales f__Bacteroidaceae g__Bacteroides s__(Bacteroides) ID816 2.9878604E7
k__Bacteria p__Bacteroidetes c__Bacteroidia o__Bacteroidales f__Bacteroidaceae g__Bacteroides s__Bacteroides caccae ID47678 301910.0
k__Bacteria p__Bacteroidetes c__Bacteroidia o__Bacteroidales f__Bacteroidaceae g__Bacteroides s__Bacteroides caccae ID411901 100571.0
k__Bacteria p__Bacteroidetes c__Bacteroidia o__Bacteroidales f__Bacteroidaceae g__Bacteroides s__Bacteroides dorei ID357276 914270.0
k__Bacteria p__Bacteroidetes c__Bacteroidia o__Bacteroidales f__Bacteroidaceae g__Bacteroides s__Bacteroides dorei ID556260 101864.0
k__Bacteria p__Bacteroidetes c__Bacteroidia o__Bacteroidales f__Bacteroidaceae g__Bacteroides s__Bacteroides dorei ID997877 85211.0
k__Bacteria p__Bacteroidetes c__Bacteroidia o__Bacteroidales f__Bacteroidaceae g__Bacteroides s__Bacteroides dorei ID483217 225193.0
k__Bacteria p__Bacteroidetes c__Bacteroidia o__Bacteroidales f__Bacteroidaceae g__Bacteroides s__Bacteroides fragilis ID817 142742.0
k__Bacteria p__Bacteroidetes c__Bacteroidia o__Bacteroidales f__Bacteroidaceae g__Bacteroides s__Bacteroides ovatus ID28116 97339.0
k__Bacteria p__Bacteroidetes c__Bacteroidia o__Bacteroidales f__Bacteroidaceae g__Bacteroides s__Bacteroides uniformis ID820 112694.0
如此我們得到了樣本物種註釋和功能註釋的文件,可用於後續分析了。

MEGAN分析進階:雙樣本比對
爲了進行雙樣本比對,我們選擇了另外一個樣本按照同樣的流程再來一遍;
對ERR793603號樣本採取C1的流程,再來一遍:體驗合併rma文件的功能和MEGAN圖形界面可視化的功能。

這種模式也是我們通常基於測序數據分析的流程。重點

數據質控

#重壓縮測序文件
pigz -p 6 -dc ./ERR793603_1.fastq.gz | pigz -p 12 > ./S1_1.fastq.gz
pigz -p 6 -dc ./ERR793603_2.fastq.gz | pigz -p 12 > ./S1_2.fastq.gz

#去除測序接頭和引物序列並進行質控(軟件、輸入文件和接頭序列位置)
java -jar ~/sra/Trimmomatic-0.38/trimmomatic-0.38.jar PE -threads 6 -phred33 ./unpack/C1_1.fastq.gz ./unpack/C1_2.fastq.gz ./trimmomatic/C1_forward_paired.fq.gz ./trimmomatic/C1_forward_unpaired.fq.gz ./trimmomatic/C1_reverse_paired.fq.gz ./trimmomatic/C1_reverse_unpaired.fq.gz ILLUMINACLIP:…/…/database/NexteraPE-PE.fa:2:30:10 LEADING:3 TRAILING:3 SLIDINGWINDOW:4:30 MINLEN:100 2> C1.log
比對生成megan輸入文件

#使用nr數據框對前端數據進行比對
diamond blastx -c 1 --db /home/wentao/Desktop/biostack/database/nr/db/nr.dmnd -t /tmp -p 34 -q ./trimmomatic/S1_forward_paired.fq.gz --daa ./diamond/S1.1.daa

#使用nr數據框對後端數據進行比對
diamond blastx -c 1 --db /home/wentao/Desktop/biostack/database/nr/db/nr.dmnd -t /tmp -p 34 -q ./trimmomatic/S1_reverse_paired.fq.gz --daa ./diamond/S1.2.daa

#轉化雙端daa文件爲MEGAN特有額rma文件。
~/megan/tools/daa2rma -i ./diamond/S1.1.daa ./diamond/S1.2.daa --paired -ms 50 -me 0.01 -top 50 -mdb ~/db/megan/megan-map-Oct2019.db -o ./diamond/MEGAN_RMA/S1.rma
合併不同樣本的.rma文件

#運行命令,需要圖型界面支持,如遠程桌面,或本地安裝配置Xing/Xmanager
~/megan/tools/compute-comparison -i ./diamond/MEGAN_RMA/S1.rma ./diamond/MEGAN_RMA/C1.rma -o ./compared_all -v true
這個輸出文件:這就是MEGAN的標準輸出文件:以TAX爲例:第一列是NCBI id
,第二列是count數量。

@CreationDate Tue Feb 04 17:49:13 CST 2020
@ContentType Summary4
@Names C1 S1 C11
@BlastMode BlastX BlastX BlastX
@Uids 1580592065210 1580804730040 1580592065210
@Sizes 443738.0 751161.0 443738.0
@TotalReads 1638637
@Collapse Taxonomy 28384 2 12884 2759 12908 2157 10239
@Parameters minScore=0.0 maxExpected=‘10000.0’ minPercentIdentity=‘0.0’ topPercent=100.0 minSupportPercent=0.0 minSupport=1 lcaAlgorithm=naive minPercentReadToCover=0.0 minPercentReferenceToCover=0.0 minComplexity=0.0 longReads=false pairedReads=false identityFilter=false readAssignmentMode=readCount fNames= { Taxonomy SEED EGGNOG INTERPRO2GO }
@NodeStyle Taxonomy BarChart
@NodeStyle SEED PieChart
@NodeStyle EGGNOG PieChart
@NodeStyle INTERPRO2GO PieChart
@ColorTable Fews8 White-Green
@ColorEdits
TAX 1 1761.0 2274.0
TAX 2 40023.0 80016.0
TAX 1437201 46377.0 78736.0
TAX 5125 5877.0 8092.0
·······
INTERPRO2GO 16380 17.0 16.0
INTERPRO2GO 16381 1.0 0.0
INTERPRO2GO 16382 0.0 2.0
END_OF_DATA_TABLE
#SampleID @Source
C1 ./C1.rma
S1 ./S1.rma
導出詳細數據參考C1即可。

通過上面的教程我們基本瞭解了MEGAN的可視化界面,下面我們就兩個樣本進行可視化操作和分析。

MEGAN界面可視化-兩樣本(.rma)比對
第一步,導入MEGAN的rma比對註釋文件:打開megan,按照圖示選擇,我們進行兩個rma文件的比對

打開之後之後出現這個默認圖形:默認節點都是按照顏色填充的,僅僅顯示兩層物種結構:

物種信息可視化
第二步:首先我們進行簡單縮放(鼠標滑輪),修改配色(點擊如圖所示工具欄類似馬賽克的圖表,調整配色),調節Rank按鈕顯示的門類水平,可以從界到種:

第三步:物種註釋可視化方案:MEGAN提供的物種可視化的方案超出我們的想象,十餘種可視化方案可供我們選擇,甚至今天我還有幾種沒有在R中進行嘗試,這是一個很好的契機,大家可以進行嘗試:
點擊圖中標記按鈕,選擇可視化方案,這裏我們選擇第一個即可進入可視化窗口:

這裏我向大家介紹幾種圖形:;

堆疊華夫餅圖,多個華夫餅圖替換了氣泡圖的氣泡,使用數量來代表豐富,但是必須在尺度範圍內進行限制,目前R語言沒有成熟的工具實現這個圖形:

物種分佈詞雲,這種方式讓我們迅速就可以找到丰度較高的物種,或者差異物種。

進入可視化窗口,工具欄有顏色的都是可視化方案,可供大家選擇,都可以點擊看看(滾動鼠標,拉伸圖形):

可以旋轉座標軸根據樣本或者物種註釋進行展示圖形:點擊圖中標記爲紅色 的按鈕,進行轉換座標軸

有些圖形是沒有轉換選擇的,例如:網絡圖。

物種可視化的物種來源於我們的選擇:意味着我們點擊目標菌羣,就可以生成只包含目標菌羣的物種丰度信息,例如我們只選擇bacteria以及去所有的子節點做展示:

功能信息可視化
通過免費版本的數據庫註釋我們可以得到三個功能,從這裏可以看到是哪三個,缺少KEGG和VFDB,這裏的三個功能的的操作類似於物種可視化,我簡單做一個演示,注意的細節和上面都一樣:

只要注意,選擇了多少節點,那就可視化多少數據。

數據導出
無論是物種註釋,還是功能註釋,最終的結果我們當然需要進行一個很好的保存。MEGAN的保存類型很多,這裏咱們來學習:

點擊:

Save As保存爲.megan文件,這個文件保存後我們就可以隨時打開查看數據,再也不需要使用rma文件。

點擊Export Image將圖片保存

點擊Export Legend保存圖例

紅色選框種可以保存物種或者功能的表格文文件

Metadate保存文件名

Tree保存傳統的數文件,這個文件我們可以使用其他樹可視化軟件出圖,比如:

Graphlan,ggtree,iTOL等。

MEGAN多個樣本分析方案
本次我使用劉老師的宏基因組示例數據,這批數據在每個在100M以內,但是有12個樣本,通過對這12個樣本的操作,我們重點來做批量MEGAN分析和文件導出。

seq中是全部的原始序列;我們首先進入seq路徑下面:

切換工作路徑;

cd ~/Desktop/Shared_Folder/metagenome_study/ori_pipline/seq/
ls ./*.fq.gz
進行序列質控

mkdir …/trimmomatic

調用for循環批處理文件

for filename in *_1.fq.gz
do

提取雙端公共文件名,並輸出檢驗

base=$(basename $filename _1.fq.gz)
echo $base

運行去接頭程序

java -jar ~/sra/Trimmomatic-0.38/trimmomatic-0.38.jar PE -threads 32
${base}_1.fq.gz
KaTeX parse error: Undefined control sequence: \ at position 16: {base}_2.fq.gz \̲ ̲ ../trimmom…{base}_forward_paired.fq.gz …/trimmomatic/KaTeX parse error: Undefined control sequence: \ at position 31: …unpaired.fq.gz \̲ ̲ ../trimmom…{base}_reverse_paired.fq.gz …/trimmomatic/${base}_reverse_unpaired.fq.gz
ILLUMINACLIP:TruSeq2-PE.fa:2:40:15
LEADING:2 TRAILING:2
SLIDINGWINDOW:4:2
MINLEN:25 2> C1.log
done
使用nr數據庫進行比對,使用34個線程跑,每個測序樣本壓縮文件只有10M,但是還是需要耗費將近50min一個。一共12個樣本,所以這個步驟耗時將近半天。

#建立比對文件夾,不見文件夾會–daa選項會提示錯誤
cd …/
mkdir ./diamond

調用for循環批處理文件

for filename in ./seq/*_1.fq.gz
do

提取雙端公共文件名,並輸出檢驗

base=$(basename $filename _1.fq.gz)
echo $base

前端序列開始比對

diamond blastx -c 1 --db /home/wentao/Desktop/biostack/database/nr/db/nr.dmnd -t /tmp -p 34 -q ./trimmomatic/baseforwardpaired.fq.gzdaa./diamond/{base}_forward_paired.fq.gz --daa ./diamond/{base}.1.daa

後端序列

diamond blastx -c 1 --db /home/wentao/Desktop/biostack/database/nr/db/nr.dmnd -t /tmp -p 34 -q ./trimmomatic/basereversepaired.fq.gzdaa./diamond/{base}_reverse_paired.fq.gz --daa ./diamond/{base}.2.daa

done
使用MEGAN提取結果

mkdir ./diamond/MEGAN_RMA

調用for循環批處理文件

for filename in ./seq/*_1.fq.gz
do

提取雙端公共文件名,並輸出檢驗

base=$(basename $filename _1.fq.gz)
echo KaTeX parse error: Expected 'EOF', got '#' at position 6: base #̲運行命令 ~/megan/to…{base}.1.daa ./diamond/base.2.daapairedms50me0.01top50mdb /db/megan/meganmapOct2019.dbo./diamond/MEGANRMA/{base}.2.daa --paired -ms 50 -me 0.01 -top 50 -mdb ~/db/megan/megan-map-Oct2019.db -o ./diamond/MEGAN_RMA/{base}.rma
done
合併全部的物種和功能數據:

#運行命令
~/megan/tools/compute-comparison -i ./diamond/MEGAN_RMA/*.rma -o ./diamond/MEGAN_RMA/compared_all -v true
輸出文件:

@Creator ComputeComparison
@CreationDate Tue Feb 04 19:56:46 CST 2020
@ContentType Summary4
@Names p136C p136N p143C p143N p144C p144N p146C p146N p153C p153N p156C p156N
@BlastMode BlastX BlastX BlastX BlastX BlastX BlastX BlastX BlastX BlastX BlastX BlastX BlastX
@Uids 1580805529488 1580806456437 1580806849152 1580807063364 1580807282560 1580807470927 1580807820232 1580808148014 1580808496509 1580808796150 1580809145942 1580809441407
@Sizes 111945.0 92730.0 63883.0 64549.0 57390.0 110147.0 102055.0 113277.0 107679.0 114086.0 114115.0 112538.0
@TotalReads 1164394
@Collapse Taxonomy 28384 2 12884 2759 12908 2157 10239
@Parameters minScore=0.0 maxExpected=‘10000.0’ minPercentIdentity=‘0.0’ topPercent=100.0 minSupportPercent=0.0 minSupport=1 lcaAlgorithm=naive minPercentReadToCover=0.0 minPercentReferenceToCover=0.0 minComplexity=0.0 longReads=false pairedReads=false identityFilter=false readAssignmentMode=readCount fNames= { Taxonomy SEED EGGNOG INTERPRO2GO }
@NodeStyle Taxonomy BarChart
@NodeStyle SEED PieChart
@NodeStyle EGGNOG PieChart
@NodeStyle INTERPRO2GO PieChart
@ColorTable Fews8 White-Green
@ColorEdits
TAX -2 1.0
TAX 1 342.0 736.0 685.0 278.0 260.0 449.0 477.0 568.0 161.0 409.0 381.0 574.0
TAX 2049 0.0 134.0 188.0 580.0 41.0 188.0 0.0 0.0 0.0 228.0 14.0 588.0
TAX 2 45382.0 33905.0 13366.0 16258.0 17194.0 40821.0 35587.0 38908.0 41649.0 31388.0 28311.0 37730.0
TAX 143361 743.0
TAX 1437201 0.0 0.0 8.0 4.0 5.0
INTERPRO2GO 16381 8.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 28.0 5.0
END_OF_DATA_TABLE
#SampleID @Source
p136C ./diamond/MEGAN_RMA/p136C.rma
p136N ./diamond/MEGAN_RMA/p136N.rma
p143C ./diamond/MEGAN_RMA/p143C.rma
p143N ./diamond/MEGAN_RMA/p143N.rma
p144C ./diamond/MEGAN_RMA/p144C.rma
p144N ./diamond/MEGAN_RMA/p144N.rma
p146C ./diamond/MEGAN_RMA/p146C.rma
p146N ./diamond/MEGAN_RMA/p146N.rma
p153C ./diamond/MEGAN_RMA/p153C.rma
p153N ./diamond/MEGAN_RMA/p153N.rma
p156C ./diamond/MEGAN_RMA/p156C.rma
p156N ./diamond/MEGAN_RMA/p156N.rma
多樣本批量物種和功能導出

for filename in ./diamond/MEGAN_RMA//*.rma
do

提取雙端公共文件名,並輸出檢驗

base=$(basename $filename .rma)
echo KaTeX parse error: Expected 'EOF', got '#' at position 6: base #̲運行命令 ~/megan/to…{base}.1.daa

提取物種註釋信息

~/megan/tools/rma2info -i ./diamond/MEGAN_RMA/base.rmac2cTaxonomyr2cTaxonomyntruepathstruerankstruelisttruelistMoretruebacteriaOnlytruev>./diamond/MEGANRMA/{base}.rma -c2c Taxonomy -r2c Taxonomy -n true --paths true --ranks true --list true --listMore true --bacteriaOnly true -v > ./diamond/MEGAN_RMA/{base}Taxonomy.txt
#提取EGGNOG註釋:
~/megan/tools/rma2info -i ./diamond/MEGAN_RMA/base.rmar2cEGGNOGntruepathstruerankstruelisttruelistMoretruev>./diamond/MEGANRMA/{base}.rma -r2c EGGNOG -n true --paths true --ranks true --list true --listMore true -v > ./diamond/MEGAN_RMA/{base}eggnog.txt
#提取SEED註釋:
~/megan/tools/rma2info -i ./diamond/MEGAN_RMA/base.rmar2cSEEDntruepathstruerankstruelisttruelistMoretruev>./diamond/MEGANRMA/{base}.rma -r2c SEED -n true --paths true --ranks true --list true --listMore true -v > ./diamond/MEGAN_RMA/{base}SEED.txt
#提取INTERPRO2GO註釋:
~/megan/tools/rma2info -i ./diamond/MEGAN_RMA/base.rmar2cINTERPRO2GOntruepathstruerankstruelisttruelistMoretruev>./diamond/MEGANRMA/{base}.rma -r2c INTERPRO2GO -n true --paths true --ranks true --list true --listMore true -v > ./diamond/MEGAN_RMA/{base}INTERPRO2GO.txt
done
可視化和後續分析參考MEGAN可視化終端,上面我們已經講的很明白了。大家請參照。

撰文:文濤 南京農業大學

責編:劉永鑫 中科院遺傳發育所

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章