def build_initial_gene_model(server:str): # server:str = 'localhost' # server: str = '165.227.89.140' # schema__graphql = 'schema.graphql' users_dict = {'*****@*****.**':'manuel', '*****@*****.**':'carrie', '*****@*****.**':'paul', '*****@*****.**':'mary', 'loader':'loader', 'updater':'updater' } # erase_neo4j(schema__graphql,server) write_users(users_dict,server) auto_user_id: str = get_editor_id('loader',server) print(auto_user_id) authors_dict = get_authors(server) reference_dict = get_literature_references(server) journals_dict = get_journals(server) hgnc_gene_name_dict = create_hgnc_gene_name_dict() write_jax_genes(server,reference_dict,journals_dict,authors_dict,auto_user_id,PMID_extractor) gene_dict = get_jax_gene_ids(server) omini_genes:list = read_omni_genes('data/tblOS_GLOBAL_GLOBAL_Ref_AllPanelsGenes.csv') write_omni_genes(omini_genes,server,auto_user_id,gene_dict,PMID_extractor,PubMed_extractor,reference_dict,journals_dict,authors_dict,hgnc_gene_name_dict)
def update_jax(server: str): # server:str = 'localhost' # server: str = '165.227.89.140' editor = 'updater' editor_id = get_editor_id(editor, server) print(editor_id) jax_dict = get_jax_descriptions(server) authors_dict = get_authors(server) reference_dict = get_literature_references(server) journals_dict = get_journals(server) omnigene_dict = get_omnigenes(server) json_files = get_list_of_files(JAX_PATH + 'genes') print('total=', len(json_files)) change_count = 0 new_count = 0 for json_file in json_files: jax: dict = read_one_gene_jax_json(json_file) if jax is not None: gene = jax['gene'] description = jax['description'] if gene in jax_dict: item = jax_dict[gene] statement = item['statement'] if description != statement: change_count += 1 print(change_count, 'description changed for', gene) print('new:' + description) print('old:' + statement) # pmid_extractor:callable,reference_dict:dict,journal_dict:dict,author_dict:dict s = create_jax_description(item['id'], item['field'], description, editor_id, PMID_extractor, reference_dict, journals_dict, authors_dict) print(s) send_mutation(s, server) print() else: new_count += 1 print(new_count, '***new entry', gene) s = write_one_jax_gene(jax, editor_id, PMID_extractor, reference_dict, journals_dict, authors_dict, omnigene_dict) print(s) send_mutation(s, server) print()
def main(): server: str = 'localhost' # server: str = '165.227.89.140' editor: str = '*****@*****.**' editor_id: str = get_editor_id(editor, server) print(editor_id) edits = read_edits('data/GeneDescriptions2.tsv') authors_dict: dict = get_authors(server) reference_dict: dict = get_literature_references(server) journals_dict: dict = get_journals(server) jax_gene_dict: dict = get_jax_gene_ids(server) omnigene_dict = get_omnigene_descriptions(server) hgnc_gene_name_dict = create_hgnc_gene_name_dict() for edit in edits: gene_name: str = edit['gene'] if gene_name in hgnc_gene_name_dict: gene_name = hgnc_gene_name_dict[gene_name] print(gene_name) # gene_id, old_description_id,field = get_id_old_id_and_field(edit['gene'], server) if gene_name not in omnigene_dict: gene_description: str = edit['description'] s = create_omni_gene(edit['gene'], gene_description, editor_id, jax_gene_dict, PMID_extractor, PubMed_extractor, reference_dict, journals_dict, authors_dict, hgnc_gene_name_dict) print(s) send_mutation(s, server) else: item = omnigene_dict[gene_name] s = write_new_gene_description(item['id'], item['statement'], item['field'], edit['description'], editor_id, PMID_extractor, reference_dict, journals_dict, authors_dict) print(s) send_mutation(s, server) print()
def update(server: str): editor_ids: dict = get_editor_ids(server) curation_data = read_curation_data() authors_dict: dict = get_authors(server) reference_dict: dict = get_literature_references(server) journals_dict: dict = get_journals(server) jax_gene_dict: dict = get_jax_gene_ids(server) omnigene_dict = get_omnigene_descriptions(server) hgnc_gene_name_dict = create_hgnc_gene_name_dict() for curation_item in curation_data: gene_name: str = curation_item['gene'] if gene_name in hgnc_gene_name_dict: gene_name = hgnc_gene_name_dict[gene_name] print(gene_name) if gene_name not in omnigene_dict: print(gene_name + ' not in omnigene_dict') s = create_omni_gene(gene_name, curation_item, editor_ids, jax_gene_dict, PMID_extractor, PubMed_extractor, reference_dict, journals_dict, authors_dict, hgnc_gene_name_dict) print(s) send_mutation(s, server) else: omnigene_id = omnigene_dict[gene_name]['id'] if curation_item['description'] is not None: old_description_id = omnigene_dict[gene_name]['description'][ 'id'] field = omnigene_dict[gene_name]['description']['field'] gene_description = curation_item['description']['statement'] editor_id = editor_ids[curation_item['description']['editor']] edit_date = curation_item['description']['edit_date'] # def write_new_gene_description(gene_id, old_description_id:str, field:str, statement:str, editor_id,edit_date:str,pmid_extractor:callable,reference_dict:dict,journal_dict:dict,author_dict:dict )->str: s = write_new_gene_description(omnigene_id, old_description_id, field, gene_description, editor_id, edit_date, PMID_extractor, reference_dict, journals_dict, authors_dict) print(s) send_mutation(s, server) if curation_item['oncogenic_category'] is not None: old_category_id = omnigene_dict[gene_name][ 'oncogenic_category']['id'] field = omnigene_dict[gene_name]['oncogenic_category']['field'] oncogenic_category = curation_item['oncogenic_category'][ 'statement'] editor_id = editor_ids[curation_item['oncogenic_category'] ['editor']] edit_date = curation_item['oncogenic_category']['edit_date'] s = write_new_oncogenic_category(omnigene_id, old_category_id, field, oncogenic_category, editor_id, edit_date, PMID_extractor, reference_dict, journals_dict, authors_dict) print(s) send_mutation(s, server) if curation_item['synonmyms'] is not None: old_synonmyms_id = omnigene_dict[gene_name]['synonyms']['id'] field = omnigene_dict[gene_name]['synonyms']['field'] synonmyms = curation_item['synonmyms']['statement'] editor_id = editor_ids[curation_item['synonmyms']['editor']] edit_date = curation_item['synonmyms']['edit_date'] s = write_new_synonym_string(omnigene_id, old_synonmyms_id, field, synonmyms, editor_id, edit_date, PMID_extractor, reference_dict, journals_dict, authors_dict) print(s) send_mutation(s, server) # gene_id, old_description_id,field = get_id_old_id_and_field(edit['gene'], server) # if gene_name not in omnigene_dict: # gene_description:str = edit['description'] # s = create_omni_gene(edit['gene'],gene_description,editor_id,jax_gene_dict,PMID_extractor,PubMed_extractor,reference_dict,journals_dict,authors_dict,hgnc_gene_name_dict) # print(s) # send_mutation(s,server) # else: # item = omnigene_dict[gene_name] # s = write_new_gene_description(item['id'],item['statement'],item['field'],edit['description'], editor_id,PMID_extractor,reference_dict,journals_dict,authors_dict) # print(s) # send_mutation(s,server) print()