FUNGulid = Fungi + Functional + Guild , 是一个真菌的功能注释的数据库,目前数据库中涵盖了超过12000个真菌的功能注释信息;
网址如下:
http://www.stbates.org/guilds/app.php
对于数据库而言,最直接的就是看一下数据库中存储的字段信息;
点击下面的链接,可以返回FUNGuild 数据库中所有的记录,返回的文件格式是json,
这种格式是网络中数据传输的标准格式,但是对于我们来讲看起来不够直观,可以通过脚本语言处理,格式化成表格形式,
如何编程处理就不细说,直接看结果:
各个字段的信息解释如下:
taxon : 物种名称,和NCBI Taxonomy 数据库中的一致
taxonomicLevel :物种名称对应的界,门,纲,目,科,属,种 分类学水平,这里用数字标识; 0 = keyword, 3 = Phylum, 4 = Subphylum, 5 = Class, 6 = Subclass, 7 = Order, 8 = Suborder, 9 = Family, 10 = Subfamily, 11 = Tribe, 12 = Subtribe, 13 = Genus, 15 = Subgenus, 16 = Section, 17 = Subsection, 18 = Series , 19 = Subseries, 20 = Species, 21 = Subspecies, 22 = Variety, 23 = Subvariety, 24 = Form, 25 = Subform, 26 = Form Species
trophicMode : 字面意思,营养方式,共有3大类,第一类 Pathotroph, 病理寄生,从宿主细胞中接受养分,并对宿主细胞有不利的影响,损人利己型,比如寄生在活体上的真菌;第二类Saprotroph; 腐生,生活环境为枯枝落叶或者有机质含量丰富的土壤,典型的是蘑菇类真菌;第三类, Symbiotroph,共生型,和宿主交换养分,比如地衣;
guild : 对trophicMode 分类系统的补充,更加细分,
在Pathotroph 下,又细分成
Animal Pathogen : 动物病原菌
Plant Pathogen : 植物病原菌(这里应该是特指高等植物)
Fungal Parasite :真菌寄生菌
Lichen Parasite :地衣寄生菌
Bryophyte Parasite:苔藓植物寄生菌
Clavicipitaceous Endophyte : 内生真菌
在Saprotroph 下,又细分成
Dung Saprotroph :排泄物腐生菌(如粪便)
Leaf Saprotroph : 叶子腐生菌
Plant Saprotroph : 植物腐生菌 (生长环境多腐败的植物)
Soil Saprotroph :土壤腐生菌
Wood Saprotroph :木质腐生菌
在Symbiotroph 下,又细分:
Ectomycorrhizal :外生菌根
Ericoid Mycorrhizal : 杜鹃花类菌根
Endophyte, Epiphyte :
Lichenized : 地衣共生菌
Confidence Ranking: 可信度, "Highly Probable" (= absolutely certain), "Probable" (= fairly certain), "Possible" (= suspected but not proven, conflicting reports given, etc.)
growthFrom: 生长形态
trait: 形状:
notes : 注意事项
ciationSource : 相关文献
可以看到这里的 guild 字段就是对真菌功能的一个细致划分,基于我们测序得到的真菌序列,就可以进行Guild 的功能注释:
FUNGuild 数据库提供了在线的工具进行功能注释,输入文件为otu 注释的表格,链接如下:
http://www.stbates.org/guilds/app.php
otu 注释表格示例如下:
前面为otu丰度表,最后一列为otu 注释信息;
把这样一张otu 注释表格,上传上去,就可以分析了,但是我测试了几遍,发现都报错了,可能是后台的程序有问题吧
不过没关系,FUNGuild 还提供了python 脚本,从本地进行注释
链接如下:https://raw.githubusercontent.com/UMNFuN/FUNGuild/master/Guilds_v1.1.py
python Guilds_v1.1.py -h
usage: Guilds_v1.1.py [-h] [-otu OTU] [-m] [-u] [-db {fungi,nematode}]
optional arguments:
-h, --help show this help message and exit
-otu OTU Path and file name of the OTU table. The script will
try to detect the delimiterin the file, but tab or csv
are preferred formats.
-m, --matched Ask the script to output a otu table with function
assigned OTUs
-u, --unmatched Ask the script to output a otu table with function
assigned OTUs
-db {fungi,nematode} Assign a specified database to the script
用法很简单,-otu 指定otu表格,-db 指定数据库,我们肯定是用fungi
测试命令如下:
python Guilds_v1.1.py -otu otu.table -db fungi
运行过程打印如下信息:
FunGuild v1.0 Beta
Connecting with FUNGuild database ...
Reading in the OTU table: 'otu.table'
Searching the FUNGuild database...
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
Found 4 matching taxonomy records in the database.
Dereplicating and sorting the result...
FunGuild tried to assign function to 10 OTUs in 'otu.table'.
FUNGuild made assignments on 4 OTUs.
Result saved to 'otu.guilds.txt'
Total calculating time: 17.45 seconds.
最终结果保存在 otu.guilds.txt 中,文件内容如下:
前几列就是otu,table文件中的内容,只不过对于每个otu,在后面追加了注释信息
官方提供的 Guilds_v1.1.py 脚本需要和在线数据库交换数据,运行时需要联网,还需要注意的是,otu.table 文件的格式,必须有一列表头为Taxonomy, 第一列OTU_ID 前面不能加#