Exemple #1
0
 def process_ontology(self, obo_file):
     obo_dag = GODag(obo_file)
     obo_dag.populate_terms()
     diseases = self.diseases
     ontology_map = {}
     self.category_map = defaultdict(list)
     for item_id, item in obo_dag.items():
         # Considers those diseases whose names are subsets of the disease ontology names
         correlated_diseases = [
             disease for disease in diseases if disease in item.name
         ]
         if len(correlated_diseases) > 0:
             d = {}
             for parent in (obo_dag.paths_to_top(item.id)[0]):
                 d[parent.level] = parent.name
                 for corr_disease in correlated_diseases:
                     self.category_map[parent.name] += [corr_disease]
             for corr_disease in correlated_diseases:
                 # Chooses the most specific disease mapping
                 if corr_disease in ontology_map:
                     if len(ontology_map[corr_disease]) > len(d):
                         continue
                 ontology_map[corr_disease] = d
     self.dag = obo_dag
     self.disease_class_map = ontology_map
def test_paths_to_top():
    dag = GODag(ROOT + "mini_obo.obo")
    expected_paths = [['GO:0000001', 'GO:0000002', 'GO:0000005', 'GO:0000010'],
                      ['GO:0000001', 'GO:0000003', 'GO:0000005', 'GO:0000010'],
                      ['GO:0000001', 'GO:0000003', 'GO:0000006', 'GO:0000008', 'GO:0000010']]
    actual_paths = dag.paths_to_top("GO:0000010")
    chk_results(actual_paths, expected_paths)
    print_paths(actual_paths)
Exemple #3
0
def test_paths_to_top():
  #dag = GODag("./tests/data/mini_obo.obo")  
  dag = GODag("./data/mini_obo.obo")  
  expected_paths = [
    ['GO:0000001', 'GO:0000002', 'GO:0000005', 'GO:0000010'],
    ['GO:0000001', 'GO:0000003', 'GO:0000005', 'GO:0000010'],
    ['GO:0000001', 'GO:0000003', 'GO:0000006', 'GO:0000008', 'GO:0000010'] ]
  actual_paths = dag.paths_to_top("GO:0000010")
  chk_results(actual_paths, expected_paths)
  prt_paths(actual_paths)
def test_paths_to_top():
    #dag = GODag("./tests/data/mini_obo.obo")
    dag = GODag("./data/mini_obo.obo")
    expected_paths = [['GO:0000001', 'GO:0000002', 'GO:0000005', 'GO:0000010'],
                      ['GO:0000001', 'GO:0000003', 'GO:0000005', 'GO:0000010'],
                      [
                          'GO:0000001', 'GO:0000003', 'GO:0000006',
                          'GO:0000008', 'GO:0000010'
                      ]]
    actual_paths = dag.paths_to_top("GO:0000010")
    chk_results(actual_paths, expected_paths)
    prt_paths(actual_paths)