示例#1
0
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)
示例#2
0
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()
示例#3
0
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()
示例#4
0
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()