微生态
如何用FAPROTAX預(yù)測微生物群落功能
原創(chuàng):?參天大蔥?微生物生態(tài)?2017-05-31
前言
前段時間盧瑟菌已經(jīng)給大家普及了基于原核16S rDNA高通量測序結(jié)果對微生物群落功能或表型進(jìn)行預(yù)測的四種方法——PICRUSt、Tax4Fun、FAPROTAX及BugBase(詳細(xì)戳這里)。本篇軟文針對功能預(yù)測的一支新秀——FAPROTAX,詳細(xì)介紹其使用方法。
關(guān)于FAPROTAX的介紹可參閱官網(wǎng)說明或盧瑟菌的軟文。
FAPROTAX官網(wǎng)鏈接:
http://www.zoology.ubc.ca/louca/FAPROTAX/lib/php/index.php?section=Instructions
?
?
這里簡單一提
?
FAPROTAX原理:
作者先根據(jù)文獻(xiàn)資料手動構(gòu)建了聯(lián)系物種分類與功能注釋的FAPROTAX數(shù)據(jù)庫;后又編寫了聯(lián)系OTU分類表與FAPROTAX數(shù)據(jù)庫的python腳本;最后,只要將基于16S的OTU分類表通過python腳本就可以輸出微生物群落功能注釋預(yù)測結(jié)果(如下圖)。
?
?
?
?
FAPROTAX特點(diǎn):
FAPROTAX較適用于對環(huán)境樣本(如海洋、湖泊等)的生物地球化學(xué)循環(huán)過程(特別是碳、氫、氮、磷、硫等元素循環(huán))進(jìn)行功能注釋預(yù)測。因其基于已發(fā)表驗證的可培養(yǎng)菌文獻(xiàn),其預(yù)測準(zhǔn)確度較好,但相比于上述PICRUSt和Tax4Fun來說預(yù)測的覆蓋度可能會降低。
PICRUSt輸入的物種豐度表目前只能用gg數(shù)據(jù)庫進(jìn)行物種注釋,在這一點(diǎn)上FAPROTAX更靈活!? ? ? ? ??
?
1
? 準(zhǔn)備工作
在使用FAPROTAX做功能預(yù)測前,有一些準(zhǔn)備工作:
a、FAPROTAX腳本collapse_table.py下載(請使用python 2.7,python 2.6無法運(yùn)行!python 3或許可以運(yùn)行!);
b、FAPROTAX功能注釋數(shù)據(jù)庫下載;
c、物種豐度表已生成(文本格式、Biom格式)。
?
FAPROTAX腳本及數(shù)據(jù)庫下載:
FAPROTAX是由python語言編寫的腳本collapse_table.py
當(dāng)前最新版本依然是FAPROTAX 1.0
下載地址:
http://www.zoology.ubc.ca/louca/FAPROTAX/lib/php/index.php?section=Download
下載后會獲得一個.tar.gz壓縮文件,包含有FAPROTAX腳本和數(shù)據(jù)庫。
?
2
? 簡單操作
假設(shè)說我們通過OTU聚類、物種分類注釋,已經(jīng)得到了物種豐度表,接下來我們就可以使用FAPROTAX進(jìn)行功能預(yù)測了!
?
FAPROTAX可識別的物種豐度表有兩種,一種是文本格式(classical (tabular) taxon tables),一種是Biom格式。
?
1)文本格式命令行:
collapse_table.py -i tax_table.tsv -o func_table.tsv -g FAPROTAX.txt
?
2)Biom格式命令行:
collapse_table.py -i tax_table.biom -o func_table.biom -g FAPROTAX.txt
?
上述,
-i輸入文件,物種豐度表;
-g輸入文件,FAPROTAX數(shù)據(jù)庫;
-o輸出文件,功能豐度表;
這三個是所有選項中最基本的選項!在其他選項均為默認(rèn)的情況下,是最簡短的命令行。
如果你覺得這三個選項滿足不了你的需要,可詳細(xì)了解更多選項:
http://www.zoology.ubc.ca/louca/FAPROTAX/lib/php/index.php?section=Instructions
?
3
? 更多選項
-i, --input_table(必選)
輸入,OTU表,tabular或BIOM格式。
-g, --input_groups_file(必選)
輸入,FAPROTAX數(shù)據(jù)庫。
-o, --out_collapsed(可選)
輸出,功能表,總表。
-s, --out_sub_tables_dir(可選)
輸出,功能表,分表,每類功能單獨(dú)生成一個表(one per functional group),表內(nèi)僅包含功能相關(guān)的OTU。
-r, --out_report(可選)
輸出,報告文件,記錄每個OTU相關(guān)的功能group。
--out_groups2records_table(可選)
輸出,列出哪些OTUs與哪組功能相關(guān)。1 (association),0 (no association)。
--out_group_overlaps(可選)
輸出,列出兩組功能共有的OTUs。
--out_group_definitions_used(可選)
輸出,輸出指定功能group。
-d, --row_names_are_in_column(可選)
指定行名(物種分類)所在列,僅限文本輸入文件,首列列號為0,以此類推。
--collapse_by_metadata(可選)
指定行名(物種分類)所在列,僅限Biom輸入文件,首列列號為0,以此類推。
--dont_parse_group_metadata(可選)
輸出文件不包含任何功能信息。
--column_names_are_in(可選)
指定輸入文本文件列名(e.g. sample names)所在位置:'none' (無列名), 'last_comment_line'?和?'first_data_line' (default).
--table_delimiter(可選)
指定輸入文本文件分隔方式,默認(rèn)為'tab'。
--omit_columns(可選)
忽略某列,首列列號為0,以此類推。如要去掉第1,102-104列:--omit_columns '0,101,102,103'。
--group_leftovers_as(可選)
命名未注釋到功能的分類,如標(biāo)記為?'other':--group_leftovers_as 'other'。
-n, --normalize_collapsed(可選)
標(biāo)準(zhǔn)化輸出:'none'(不進(jìn)行標(biāo)準(zhǔn)化, default), 'columns_before_collapsing' (TSS of the OTU table), 'columns_after_collapsing' (TSS of the function table), 'columns_before_collapsing_excluding_unassigned' (TSS of the OTU table restricted to functionally assigned OTUs)。
-v, --verbose(可選)
展示命令執(zhí)行過程細(xì)節(jié)
-f, --force(可選)?
強(qiáng)制覆蓋已存在文件
-h, --help(可選)?
幫助文件
?
如果你覺得看選項的解釋不夠形象,那么下面有一些選項運(yùn)用實(shí)例。
?
4
? 選項應(yīng)用
1)幫助選項
collapse_table.py -h
?
2)Biom格式輸入、輸出,-v?展示命令執(zhí)行過程細(xì)節(jié)
collapse_table.py -i tax_table.biom -o func_table.biom -g FAPROTAX.txt?-v
注:此處biom表內(nèi)的IDs對應(yīng)的是分類信息而不是OTU編號,可由Qiime腳本summarize_taxa.py或summarize_taxa_through_plots.py產(chǎn)生。
?
3)如果biom表內(nèi)IDs對應(yīng)的不是分類信息,則需要指定分類信息所在表內(nèi)的位置(列),如“taxonomy”。
collapse_table.py -i tax_table.biom -o func_table.biom -g FAPROTAX.txt -v?--collapse_by_metadata?'taxonomy'?
注:make_otu_table.py或pick_open_reference_otus.py等Qiime腳本產(chǎn)生的biom表屬于這種類型。--collapse_by_metadata僅限使用在Biom格式輸入時。
?
4)文本格式(classical (tabular) taxon tables)輸入、輸出,-d指定分類信息所在表內(nèi)的位置(列)。
制表符分隔的文本文件
collapse_table.py -i tax_table.tsv -o func_table.tsv -g FAPROTAX.txt -v?-d 'taxonomy'?-c '#'
注:-d僅限使用在文本格式輸入時。輸入文件格式,每一行表示一個分類taxa,每一列表示一個物種,物種分類信息存儲在名為“taxonomy”的列內(nèi)。-c #?是說,當(dāng)文件內(nèi)出現(xiàn)“#”時,忽略此行(即與“#”的通常用法一致),這就保證,文件的第一個非注釋(無“#”)行是列名header line。
?
5)如果列名也含有“#”,可以使用"--column_names_are_in last_comment_line"告訴電腦,最后一個注釋行是列名
collapse_table.py -i tax_table.tsv -o func_table.tsv -g FAPROTAX.txt?--column_names_are_in last_comment_line?-d 'taxonomy' -c '#' -v
?
?
6)如果文件內(nèi)沒有列名,可使用"--column_names_are_in none"告訴電腦列名為空,這樣就需要指出物種分類存在于哪一列,如下0表示第一列,以此類推。
collapse_table.py -i tax_table.tsv -o func_table.tsv -g FAPROTAX.txt?--column_names_are_in none??-c '#' -v?-d 0
?
7)如果表格有多余的列,如第一列為OTU編號時,或是有樣品列不想保存到輸出文件,可運(yùn)行如下指令(例,去掉第1,102-104列)
collapse_table.py -i tax_table.tsv -o func_table.tsv -g FAPROTAX.txt -d 'taxonomy' -c '#'?--omit_columns '0,101,102,103'?-v
?
8)未注釋到功能的物種分類,標(biāo)記上other
collapse_table.py -i tax_table.biom -o func_table.biom -g FAPROTAX.txt?--group_leftovers_as 'other'?-v
?
9)輸出報告文件
collapse_table.py -i tax_table.biom -o func_table.biom -g FAPROTAX.txt?-r report.txt?-v
?
10)標(biāo)準(zhǔn)化輸出
collapse_table.py -i tax_table.biom -o func_table.biom -g FAPROTAX.txt?-n columns_after_collapsing?-v
?
11)指定輸出格式。默認(rèn)情況下,輸入和輸出格式相同(同為biom或文本格式)。使用"--output_format_collapsed"可指定輸出格式
collapse_table.py -i tax_table.biom -o func_table.tsv -g FAPROTAX.txt?--output_format_collapsed classical?-v
?
5
? 補(bǔ)充說明
1)物種分類格式
以下是三種可用的物種分類的格式,不同層次分類用分號隔開,分別表示界、門、綱、目、科、屬、種…
k__Bacteria;p__Proteobacteria;c__Gammaproteobacteria;o__Xanthomonadales;f__Xanthomonadaceae;g__Thermomonas;s__fusca?
D_0__Bacteria;D_1__Firmicutes;D_2__Bacilli;D_3__Bacillales;D_4__Bacillaceae;D_5__Bacillus;D_6__Bacillus sp. YZ5?
Bacteria; Chlorobi; Chlorobia; Chlorobiales; Chlorobiaceae; Chlorobaculum; Chlorobaculum thiosulfatiphilum DSM249T
?
2)序列注釋后,經(jīng)常會產(chǎn)生一些不夠詳細(xì)的物種分類信息,如注釋不到科、屬水平。FAPROTAX也允許這種輸入,但是這種情況下由于分類不夠詳細(xì),相應(yīng)的,能夠預(yù)測出的功能也更少。
?
6
? 最后之筆
FAPROTAX的輸出結(jié)果格式如下:
?
1)report文件:詳細(xì)記錄了每個功能包含多少個OTU(物種分類),以及包含哪些OTU?;诖?#xff0c;我們可以根據(jù)關(guān)注的功能找到對應(yīng)的OTU。
?
2)功能豐度表:第一列為預(yù)測的功能列表,其余為樣品列,數(shù)值表示相對豐度?;诠δ茇S度表,我們就可以做出各種樣式美美的圖。
?
今天就給大家介紹到這里吧,本蔥也是邊學(xué)習(xí)邊總結(jié),不足之處,歡迎大家在留言區(qū)指出哦~
?
?
參考文獻(xiàn):
Louca S, Parfrey L W, Doebeli M. Decoupling function and taxonomy in the global ocean microbiome[J].?Science, 2016, 353(6305): 1272-1277.
?
本期排版:參天大蔥
本期校稿:盧瑟菌 李小圓
轉(zhuǎn)載于:https://my.oschina.net/aspiretruth/blog/3000907
總結(jié)
- 上一篇: Leetcode 1227:飞机座位分配
- 下一篇: 关于程序员学英语的经验