Example #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)
Example #2
0
def write_omni_genes(omini_genes:list, server:str,editor_id:str,jax_gene_dict,pmid_extractor:callable,sp_pmid_extractor:callable, reference_dict:dict,journal_dict:dict,author_dict:dict,hgnc_gene_name_dict)->None:
    hgnc_gene_name_dict = create_hgnc_gene_name_dict()
    for omni_gene in omini_genes:
        gene_name: str = omni_gene['symbol']

        omni_gene['panel_name'] = gene_name
        if gene_name in hgnc_gene_name_dict:
            omni_gene['panel_name'] = gene_name
            omni_gene['synonym'] = gene_name
            gene_name = hgnc_gene_name_dict[gene_name]
            omni_gene['symbol'] = gene_name
        entrez_gene_id = fetch_gene_id_by_gene_name(gene_name)
        omni_gene['entrez_gene_id'] = entrez_gene_id
        if entrez_gene_id is None:
            print("no entrz gene id for",gene_name)
        else:
            gene_info = fetch_gene_info_by_gene_id(entrez_gene_id)
            if 'genomic_pos_hg19' in gene_info:
                populate_omni_gene(gene_info, omni_gene)
                print(gene_name)
                s = create_myGeneInfo_gene(omni_gene, editor_id, pmid_extractor, reference_dict, journal_dict,
                                           author_dict)
                s += create_uniprot_entry(omni_gene, editor_id, sp_pmid_extractor, reference_dict, journal_dict,
                                          author_dict)
                m, omnigene_id, cat_id, syn_id  = create_omniGene(omni_gene, jax_gene_dict, omni_gene['summary'], editor_id, pmid_extractor,
                                     reference_dict, journal_dict, author_dict)
                s += m
                send_mutation(s,server)
            else:
                print('no gene_info for',gene_name)
Example #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()
Example #4
0
    return '165.227.89.140'

def write_to_dev():
    return '161.35.115.213'

# server: str = 'localhost'
# server: str = '161.35.115.213'
server: str = write_to_dev()

editor_ids: dict = get_editor_ids(server)
authors_dict: dict = graphql_utils_extra.get_authors(server)
reference_dict: dict = graphql_utils_extra.get_literature_references(server)
journals_dict: dict = graphql_utils_extra.get_journals(server)
jax_gene_dict:dict = get_jax_gene_ids(server)
auto_user_id: str = get_editor_id('loader', server)
hgnc_gene_name_dict = create_hgnc_gene_name_dict()

@app.route('/new_gene/<string:gene_name>', methods=['GET'])
def new_gene(gene_name):
    id = graphql_utils_extra.get_omnigene_ID_by_name(gene_name, server)
    if id==None:
        curation_item = {'gene': gene_name, 'description': None, 'oncogenic_category': None, 'synonmyms': None}
        s = graphql_utils_extra.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)
        if s != '':
            m = send_mutation(s, server)
            if gene_name in hgnc_gene_name_dict:
Example #5
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()