我正在利用MySQLdb
模块来处理我的sql请求。我正在尝试按列表theNames
中的编程方式执行我的所有搜索。但经过调试,我发现我的大部分搜索都没有显示在GO网站上。我尝试在每个白色间隔的术语之前/之后/之前和之后附加通配符%
,但是没有用。我的问题的一个例子是:
def queryGO(theNames):
# db connect
db = MySQLdb.connect(host="mysql-amigo.ebi.ac.uk", user="go_select", passwd="amigo", db="go_latest", port=4085)
cur = db.cursor()
# query calls
sql = "SELECT * FROM term WHERE (name='queuine tRNA-ribosyltransferase%')"
# query term name directly
cur.execute(sql)
for term in cur.fetchall():
print(term)
# query term synonyms
sql2 = "SELECT * FROM term INNER JOIN term_synonym ON (term.id=term_synonym.term_id)\
WHERE term_synonym LIKE 'queuine tRNA-ribosyltransferase%'"
cur.execute(sql2)
for term2 in cur.fetchall():
print(term2)
db.close()
不会返回任何结果。但是在网站上:AMIGO2 search确实会返回一些内容。查询中可以看到另一个类似的例子:“%o-methyl transferase%”及其各自的搜索:AMIGO2 search 2。