본문 바로가기

카테고리 없음

reading owl on python with pronto

반응형

# efo.owl from https://www.ebi.ac.uk/ols/ontologies/efo/download

import pronto

import csv

ont = pronto.Ontology('/home/suminlim/git/pronto/efo.owl')

 

f = open("lookup_EFO_DOID.csv", "w+")

 

for at in ont.terms:

        if 'EFO' in at:

                item = ont[at]

                try:

                        d1 = item.id

                        d3 = item.name

                        ate = item.other["xref"]

                        for a in ate:

                                if 'DOID' in a:

                                        d2 = a

                                        f.write('%s, %s, %s\n'%(d1,d2,d3))

                except AttributeError:

                        print(item)

                except KeyError:

                        print(item.other)

 

f.close()

 

#aa = ont['EFO:0001360']

반응형