是否可以使用自由格式搜索术语以编程方式(最好是python)查询所有Ensembl,类似于他们的Web UI所做的事情? REST API似乎根本不支持搜索项查询,而其他直接与MySQL数据库交互的API,如PyCogent,一次只能查询一个物种(考虑到公共MySQL数据库的结构,这是有意义的,但是意味着用40多个请求搜索所有物种的垃圾邮件......)。
我真正想要的是能够做如下的事情:
session = Connect(Ensembl)
matches_list = session.search("MyPetGene")
我怀疑这是不可能的,但我认为在黑客攻击更复杂的事情之前,我会把它扔给互联网的集体大脑。
答案 0 :(得分:0)
使用pymysql进行查询...这是想要查询ensembl数据库的人的代码示例。非常感谢,这不能直接回答您的问题,但是合奏架构分为多个类,请参见https://www.ensembl.org/info/docs/api/core/core_schema.html
import pymysql
db = pymysql.connect("ensembldb.ensembl.org","anonymous","","homo_sapiens_core_95_38" )
cursor = db.cursor()
cursor.execute("select * from gene limit 200;")
myresults = cursor.fetchall()
for x in myresults:
print(*x)
cursor.close()
db.close()