通过PyCogent在本地MySQL EnsEMBL数据库中列出物种名称?

时间:2014-01-20 18:50:23

标签: python mysql database bioinformatics biopython

我们有一个包含带注释的蚊子基因组的本地EnsEMBL MySQL数据库。

PyCogent烹饪书指出Here您可以通过cogent.db.ensembl.HostAccount模块从本地MySQL EnsEMBL数据库访问/查询数据。 Here是PyCogent的ensembl-api的源代码。

但我无法访问数据,因为函数假定先验我知道物种的确切名称(字符串)我试图查询其基因组...在线搜索数小时后,我如果有人能告诉我如何列出物种名称(PyCogent会理解),我会非常感激,这样我最终可以在本地数据库中查询基因组数据。

此代码显示我的问题,请注意评论:

Release = 73

from cogent.db.ensembl import HostAccount, Genome

acc = HostAccount('localhost', 'username1', 'password1')  # login details to MySQL server

genome = Genome(Species='?????',Release=73,account=acc)   # Where can I find the available Species list so I can replace the '?????'

1 个答案:

答案 0 :(得分:0)

在来自@ dpryan79(来自Biostars)的有用提示之后,我查看了PyCogent的源代码,结果证明我可以通过实际登录MySQL服务器并列出数据库来查看物种名称的唯一方法,数据库名称本身需要一个命名约定,其中由下划线(_)分隔的前两个字符串分别是属和种类名称。

所以通过终端登录mysql服务器:

mysql -hlocalhost -uuser1 -ppass1

然后输入:

SHOW DATABASES 

我可以通过查看每个数据库的名称来查看可用的物种,特别是由下划线分隔的前两个字符串,例如列出了以下数据库:

anopheles_gambiae_core_1312_73_1
anopheles_arabeinsis_core_1312_73_1
anopheles_funestus_core_1312_73_1
anopheles_gambiaeM_core_1312_73_1

建议我提供以下物种:anopheles gambiae, anopheles arabeinsis, anopheles funestusanopheles gambiae type M