def create_uniprot_relationships(login, release_wdid, collection, taxon=None, write=True, run_one=False):
# only do uniprot proteins that are already in wikidata
# returns list of qids of items that are modified or skipped (excluding created)
if taxon:
uniprot2wd = wdi_helpers.id_mapper(UNIPROT, (("P703", taxon),))
fast_run_base_filter = {UNIPROT: "", "P703": taxon}
else:
uniprot2wd = wdi_helpers.id_mapper(UNIPROT)
fast_run_base_filter = {UNIPROT: ""}
cursor = collection.find({'_id': {'$in': list(uniprot2wd.keys())}}).batch_size(20)
qids = []
for n, doc in tqdm(enumerate(cursor), total=cursor.count(), mininterval=10.0):
wd_item = create_for_one_protein(login, doc, release_wdid, uniprot2wd, fast_run_base_filter, write=write)
if wd_item and not wd_item.create_new_item:
qids.append(wd_item.wd_item_id)
if run_one:
break
return qids
评论列表
文章目录