source_names = [str(hash(patient)) for patient in PATIENTS] + PATHWAYS #-- Fuse patients together. fused_bkb = fuse(bkfs, [1 for _ in range(len(source_names))], source_names, working_dir=os.getcwd()) #fused_bkb.makeGraph(layout='neato') print(counts) for gene in GENES: print('=' * 20 + str(' No Connection:')) #-- Instantiate Reasoner fused_bkb_ = copy.deepcopy(fused_bkb) reasoner = Reasoner(fused_bkb_, None) reasoner.metadata = patient_data_hash #-- Make query query1 = Query(evidence={gene_: 'True' for gene_ in [GENES[0], GENES[2]]}, targets=['_Source_[{}]_'.format(gene) for gene in GENES], type='updating') query1 = reasoner.analyze_query(query1) query1.getReport() query1.bkb._name = 'No Connection' #query1.bkb.makeGraph(layout='neato') #-- Structure Learn fused_bkb_1 = copy.deepcopy(fused_bkb_) gene0Comp_idx = fused_bkb_1.getComponentIndex('Gene0')
} for patient in PATIENTS } patient_data_hash = dict() for patient, dict_ in patient_data.items(): patient_data_hash[hash(patient)] = dict_ print(patient_data) #-- Denote Demographic evidence. demo_ev = [('Age', '>=', 50), ('Gender', '==', 'Male')] demo_tar = [('Survival', '>=', 2)] reasoner1 = Reasoner(fused_bkb, None) reasoner1.metadata = patient_data_hash reasoner1.cpp_reasoning = True reasoner2 = Reasoner(fused_bkb_wStruct, None) reasoner2.metadata = patient_data_hash reasoner2.cpp_reasoning = True query0 = Query( evidence={'Gene{}_mutated'.format(i): 'True' for i in range(NUM_GENES)}, targets=list(), meta_evidence=demo_ev, meta_targets=demo_tar, type='updating') query01 = reasoner1.analyze_query(copy.deepcopy(query0))