def get_or_create_genome(rec, cur):
'''Fetch existing genome entry or create a new one'''
try:
taxid = get_or_create_tax_id(cur, get_taxid(rec), get_strain(rec))
except psycopg2.ProgrammingError:
print(rec)
raise
cur.execute("SELECT genome_id FROM antismash.genomes WHERE tax_id = %s", (taxid,))
ret = cur.fetchone()
if ret is None:
cur.execute("INSERT INTO antismash.genomes (tax_id) VALUES (%s) RETURNING genome_id;", (taxid,))
ret = cur.fetchone()
return ret[0]
评论列表
文章目录