File size: 973 Bytes
a062f28
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
"""
parse_references.py — extracts drug-level general references.

Tables populated:
  references            — globally deduplicated reference records
                          (articles, textbooks, links, attachments merged)
  reference_associations — links each reference to its context:
                            interactant_id=NULL means drug general reference;
                            interactant_id=BE-ID means interactant reference
                            (interactant refs are added by parse_proteins.py)
"""
from config import NP
from utils import extract_ref_list


def extract(drug_el, primary_id, state):
    refs_el = drug_el.find(f"{NP}general-references")
    new_refs, ref_pks = extract_ref_list(refs_el, state)

    assocs = [
        {"ref_pk": rpk, "drugbank_id": primary_id, "interactant_id": None}
        for rpk in ref_pks
    ]

    return {
        "references":            new_refs,
        "reference_associations": assocs,
    }