Exemple #1
0
def load_ontology(ontology_file):

    nex_session = get_session()

    source_to_id = dict([(x.display_name, x.source_id)
                         for x in nex_session.query(Source).all()])
    obiid_to_obi = dict([(x.obiid, x) for x in nex_session.query(Obi).all()])
    term_to_ro_id = dict([(x.display_name, x.ro_id)
                          for x in nex_session.query(Ro).all()])

    obi_id_to_parent = {}
    for x in nex_session.query(ObiRelation).all():
        parents = []
        if x.child_id in obi_id_to_parent:
            parents = obi_id_to_parent[x.child_id]
        parents.append(x.parent_id)
        obi_id_to_parent[x.child_id] = parents

    ####################################
    fw = open(log_file, "w")

    is_sgd_term = {}
    data = read_owl(ontology_file, ontology)

    [update_log,
     to_delete_list] = load_new_data(nex_session, data, source_to_id,
                                     obiid_to_obi, term_to_ro_id['is a'],
                                     obi_id_to_parent, fw)

    write_summary_and_send_email(fw, update_log, to_delete_list)

    nex_session.close()

    fw.close()
Exemple #2
0
def load_ontology(ontology_file):

    nex_session = get_session()

    log.info(str(datetime.now()))
    log.info("Getting data from database...")

    source_to_id = dict([(x.display_name, x.source_id)
                         for x in nex_session.query(Source).all()])
    chebiid_to_chebi = dict([(x.chebiid, x)
                             for x in nex_session.query(Chebi).all()])

    chebi_id_to_alias = {}
    for x in nex_session.query(ChebiAlia).all():
        if x.alias_type in ['PharmGKB ID', 'YeastPathway ID']:
            continue
        aliases = []
        if x.chebi_id in chebi_id_to_alias:
            aliases = chebi_id_to_alias[x.chebi_id]
        aliases.append((x.display_name, x.alias_type))
        chebi_id_to_alias[x.chebi_id] = aliases

    ####################################
    fw = open(log_file, "w")

    log.info("Reading data from ontology file...")

    is_3_star_term = {}
    data = read_owl(ontology_file, ontology, is_3_star_term)

    log.info("Updating chebi ontology data in the database...")

    [update_log, to_delete_list,
     term_name_changed] = load_new_data(nex_session, data, source_to_id,
                                        chebiid_to_chebi, chebi_id_to_alias,
                                        is_3_star_term, fw)

    log.info("Writing loading summary...")

    write_summary_and_send_email(fw, update_log, to_delete_list,
                                 term_name_changed)

    nex_session.close()

    fw.close()

    log.info(str(datetime.now()))
    log.info("Done!\n\n")
Exemple #3
0
def load_ontology(ontology_file):

    nex_session = get_session()

    source_to_id = dict([(x.display_name, x.source_id)
                         for x in nex_session.query(Source).all()])
    taxid_to_taxonomy = dict([(x.taxid, x)
                              for x in nex_session.query(Taxonomy).all()])
    term_to_ro_id = dict([(x.display_name, x.ro_id)
                          for x in nex_session.query(Ro).all()])

    taxonomy_id_to_alias = {}
    for x in nex_session.query(TaxonomyAlia).all():
        aliases = []
        if x.taxonomy_id in taxonomy_id_to_alias:
            aliases = taxonomy_id_to_alias[x.taxonomy_id]
        aliases.append((x.display_name, x.alias_type))
        taxonomy_id_to_alias[x.taxonomy_id] = aliases

    taxonomy_id_to_parent = {}
    for x in nex_session.query(TaxonomyRelation).all():
        parents = []
        if x.child_id in taxonomy_id_to_parent:
            parents = taxonomy_id_to_parent[x.child_id]
        parents.append(x.parent_id)
        taxonomy_id_to_parent[x.child_id] = parents

    ####################################
    fw = open(log_file, "w")

    [filtered_set,
     id_to_rank] = children_for_taxonomy_ancestor(ontology_file, ancestor)

    ## total 1037 in the filtered set
    ## print "COUNT=", len(filtered_set)

    data = read_owl(ontology_file, ontology)

    [update_log, to_delete_list
     ] = load_new_data(nex_session, data, source_to_id, taxid_to_taxonomy,
                       term_to_ro_id['is a'], taxonomy_id_to_alias,
                       taxonomy_id_to_parent, filtered_set, id_to_rank, fw)

    write_summary_and_send_email(fw, update_log, to_delete_list)

    nex_session.close()

    fw.close()
Exemple #4
0
def load_ontology(ontology_file):

    nex_session = get_session()

    source_to_id = dict([(x.display_name, x.source_id) for x in nex_session.query(Source).all()])
    soid_to_so =  dict([(x.soid, x) for x in nex_session.query(So).all()])
    term_to_ro_id = dict([(x.display_name, x.ro_id) for x in nex_session.query(Ro).all()])
    
    so_id_to_alias = {}
    for x in nex_session.query(SoAlia).all():
        aliases = []
        if x.so_id in so_id_to_alias:
            aliases = so_id_to_alias[x.so_id]
        aliases.append((x.display_name, x.alias_type))
        so_id_to_alias[x.so_id] = aliases

    so_id_to_parent = {}
    for x in nex_session.query(SoRelation).all():
        parents = []
        if x.child_id in so_id_to_parent:
            parents = so_id_to_parent[x.child_id]
        parents.append(x.parent_id)
        so_id_to_parent[x.child_id] = parents


    ####################################
    fw = open(log_file, "w")
    
    is_sgd_term = {}
    data = read_owl(ontology_file, ontology)
    
    [update_log, to_delete_list] = load_new_data(nex_session, data, 
                                                 source_to_id, 
                                                 soid_to_so, 
                                                 term_to_ro_id['is a'],
                                                 so_id_to_alias,
                                                 so_id_to_parent,
                                                 fw)
    
    write_summary_and_send_email(fw, update_log, to_delete_list)
    
    nex_session.close()

    fw.close()
Exemple #5
0
def load_ontology(ontology_file):

    nex_session = get_session()

    source_to_id = dict([(x.display_name, x.source_id)
                         for x in nex_session.query(Source).all()])
    roid_to_ro = dict([(x.roid, x) for x in nex_session.query(Ro).all()])

    fw = open(log_file, "w")

    data = read_owl(ontology_file, ontology)

    [update_log,
     to_delete_list] = load_new_data(nex_session, data, source_to_id[src],
                                     roid_to_ro, fw)

    write_summary_and_send_email(fw, update_log, to_delete_list)

    nex_session.close()

    fw.close()
Exemple #6
0
def load_ontology(ontology_file):

    nex_session = get_session()

    log.info(str(datetime.now()))
    log.info("Getting data from database...")

    source_to_id = dict([(x.display_name, x.source_id) for x in nex_session.query(Source).all()])
    doid_to_disease =  dict([(x.doid, x) for x in nex_session.query(Disease).all()])
    term_to_ro_id = dict([(x.display_name, x.ro_id) for x in nex_session.query(Ro).all()])
    edam_to_id = dict([(x.format_name, x.edam_id) for x in nex_session.query(Edam).all()])

    disease_id_to_alias = {}
    for x in nex_session.query(DiseaseAlias).all():
        aliases = []
        if x.disease_id in disease_id_to_alias:
            aliases = disease_id_to_alias[x.disease_id]
        aliases.append((x.display_name, x.alias_type))
        disease_id_to_alias[x.disease_id] = aliases

    disease_id_to_parent = {}
    for x in nex_session.query(DiseaseRelation).all():
        parents = []
        if x.child_id in disease_id_to_parent:
            parents = disease_id_to_parent[x.child_id]
        parents.append(x.parent_id)
        disease_id_to_parent[x.child_id] = parents


    ####################################
    fw = open(log_file, "w")
    
    log.info(str(datetime.now()))
    log.info("Reading data from owl file...")

    is_sgd_term = {}
    data = read_owl(ontology_file, ontology)
    
    log.info(str(datetime.now()))
    log.info("Loading data into database...")

    [update_log, to_delete_list] = load_new_data(nex_session, data, 
                                                 source_to_id, 
                                                 doid_to_disease, 
                                                 term_to_ro_id['is a'],
                                                 disease_id_to_alias,
                                                 disease_id_to_parent,
                                                 fw)
    
    # log.info("Uploading file to S3...")

    # update_database_load_file_to_s3(nex_session, ontology_file, source_to_id, edam_to_id)

    log.info("Writing loading summary...")

    write_summary_and_send_email(fw, update_log, to_delete_list)
    
    nex_session.close()

    fw.close()

    log.info(str(datetime.now()))
    log.info("Done!\n\n")