FunGuild 数据库简介

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  前面不能加#

原文地址:https://www.cnblogs.com/xudongliang/p/7520218.html