我们有一个包含带注释的蚊子基因组的本地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 '?????'
答案 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 funestus
和anopheles gambiae type M