def _get_pubs(self, entry, g): """ Extract mentioned publications from the reference list :param entry: :return: """ ref_to_pmid = {} entry_num = entry['mimNumber'] model = Model(g) if 'referenceList' in entry: reflist = entry['referenceList'] for r in reflist: if 'pubmedID' in r['reference']: pub_id = 'PMID:' + str(r['reference']['pubmedID']) ref = \ Reference( g, pub_id, Reference.ref_types['journal_article']) else: # make blank node for internal reference pub_id = \ '_:OMIM' + str(entry_num) + 'ref' + \ str(r['reference']['referenceNumber']) ref = Reference(g, pub_id) title = author_list = source = citation = None if 'title' in r['reference']: title = r['reference']['title'] ref.setTitle(title) if 'authors' in r['reference']: author_list = r['reference']['authors'] ref.setAuthorList(author_list) citation = re.split(r'\.\,', author_list)[0] + ' et al' if 'source' in r['reference']: source = r['reference']['source'] citation = '; '.join( list(filter(None.__ne__, [citation, title, source]))) ref.setShortCitation(citation) ref.addRefToGraph() ref_to_pmid[r['reference']['referenceNumber']] = pub_id # add is_about for the pub omim_id = 'OMIM:'+str(entry_num) g.addTriple(omim_id, model.object_properties['mentions'], pub_id) return ref_to_pmid
def _get_pubs(self, entry, graph): """ Extract mentioned publications from the reference list :param entry: :return: """ ref_to_pmid = {} entry_num = entry['mimNumber'] if 'referenceList' in entry: reflist = entry['referenceList'] for rlst in reflist: if 'pubmedID' in rlst['reference']: pub_id = 'PMID:' + str(rlst['reference']['pubmedID']) ref = Reference(graph, pub_id, self.globaltt['journal article']) else: # make blank node for internal reference pub_id = '_:OMIM' + str(entry_num) + 'ref' + str( rlst['reference']['referenceNumber']) ref = Reference(graph, pub_id) title = author_list = source = citation = None if 'title' in rlst['reference']: title = rlst['reference']['title'] ref.setTitle(title) if 'authors' in rlst['reference']: author_list = rlst['reference']['authors'] ref.setAuthorList(author_list) citation = re.split(r'\.\,', author_list)[0] + ' et al' if 'source' in rlst['reference']: source = rlst['reference']['source'] citation = '; '.join([ tok for tok in [citation, title, source] if tok is not None ]) ref.setShortCitation(citation) ref.addRefToGraph() ref_to_pmid[rlst['reference']['referenceNumber']] = pub_id # add is_about for the pub omim_id = 'OMIM:' + str(entry_num) graph.addTriple(omim_id, self.globaltt['mentions'], pub_id) return ref_to_pmid
def _get_pubs(self, entry, g): """ Extract mentioned publications from the reference list :param entry: :return: """ ref_to_pmid = {} du = DipperUtil() entry_num = entry['mimNumber'] gu = GraphUtils(curie_map.get()) if 'referenceList' in entry: reflist = entry['referenceList'] for r in reflist: if 'pubmedID' in r['reference']: pub_id = 'PMID:' + str(r['reference']['pubmedID']) ref = Reference(pub_id, Reference.ref_types['journal_article']) else: # make blank node for internal reference pub_id = '_OMIM' + str(entry_num) + 'ref' + str(r['reference']['referenceNumber']) if self.nobnodes: pub_id = ':' + pub_id ref = Reference(pub_id) title = author_list = source = citation = None if 'title' in r['reference']: title = r['reference']['title'] ref.setTitle(title) if 'authors' in r['reference']: author_list = r['reference']['authors'] ref.setAuthorList(author_list) citation = re.split('\.\,', author_list)[0] + ' et al' if 'source' in r['reference']: source = r['reference']['source'] citation = '; '.join(du.flatten([citation, title, source])) ref.setShortCitation(citation) ref.addRefToGraph(g) ref_to_pmid[r['reference']['referenceNumber']] = pub_id # add is_about for the pub omim_id = 'OMIM:'+str(entry_num) gu.addTriple(g, omim_id, gu.object_properties['mentions'], pub_id) return ref_to_pmid