示例#1
0
    def OnClick_run(self, event):                    
        graph1 = self.inputTxtNetwork1.GetValue().strip()
        graph2 = self.inputTxtNetwork2.GetValue().strip()
        mapping_name = self.inputTxtMapping.GetValue().strip()
        true_mapping_name = self.inputTxtTrueMapping.GetValue().strip()
        goterm_name1 = self.inputTxtGo1.GetValue().strip()
        goterm_name2 = self.inputTxtGo2.GetValue().strip()
        
        
        eval_NC_P = self.checkbox_NC_P.GetValue()
        eval_NC_R = self.checkbox_NC_R.GetValue()
        eval_NC_F = self.checkbox_NC_F.GetValue()
        eval_NCV = self.checkbox_NCV.GetValue()
        eval_GS3 = self.checkbox_GS3.GetValue()        
        eval_NCV_GS3 = self.checkbox_NCV_GS3.GetValue()
        eval_GC = self.checkbox_GC.GetValue()
        eval_PF_P = self.checkbox_PF_P.GetValue()
        eval_PF_R = self.checkbox_PF_R.GetValue()
        eval_PF_F = self.checkbox_PF_F.GetValue()
        
        if eval_NC_P == True or eval_NC_R == True or eval_NC_F == True:
            if true_mapping_name == "":
                self.MessageBox("Known mapping file must be provided!")
                return
            if os.path.isfile(true_mapping_name)  == False:
                self.MessageBox("Known mapping file '" + true_mapping_name + "' does not exist!")
                return
            
        if eval_GC == True or eval_PF_P == True or eval_PF_R == True or eval_PF_F == True:
            if goterm_name1 == "":
                self.MessageBox("GO terms 1 file must be provided!")
                return

        #print eval_NC_P,eval_NC_R,eval_NC_F, eval_NCV, eval_GS3, eval_NCV_GS3, eval_GC, eval_PF_P, eval_PF_R, eval_PF_F
        quality = Evaluation.AlignmentQuality(graph1, graph2, mapping_name, true_mapping_name, goterm_name1, goterm_name2);
        self.result = quality.evaluate(eval_NC_P, eval_NC_R, eval_NC_F, eval_GS3, eval_NCV, eval_NCV_GS3, eval_GC, eval_PF_P, eval_PF_R, eval_PF_F)
        
        self.list.DeleteAllItems()
        lineIdx = 0
        for key in self.measures:
            if key in self.result:
                value = self.result[key]
                pos = self.list.InsertStringItem(lineIdx,key)
                self.list.SetStringItem(pos,1,str(value))
                lineIdx = lineIdx + 1
        
        if self.result == None:
            self.btnSave.Disable()
        else:
            self.btnSave.Enable()
示例#2
0
eval_NCV = False
eval_NCV_GS3 = False
eval_GC = False
eval_PF_P = False
eval_PF_R = False
eval_PF_F = False

network_dir = "../../test_nets/"
num = 0
results = {}
graph1 = "../../krogan_2007_adj_list_random.gw"
# mapping_name = "../../krogan_2007_adj_mat_random_vs_yeast+10rw_0_alignment.aln"
mapping_name = "../../krogan_2007_adj_mat_random_vs_yeast+10rw_1_alignment.csv"
f = open("results.csv", "w+")
for file in os.listdir(network_dir):
    if file.endswith(".gw"):
        graph2 = os.path.join(network_dir, file)
        # mapping_name =
        quality = Evaluation.AlignmentQuality(graph1, graph2, mapping_name,
                                              true_mapping_name, goterm_name1,
                                              goterm_name2)
        score = quality.evaluate(eval_NC_P, eval_NC_R, eval_NC_F, eval_GS3,
                                 eval_NCV, eval_NCV_GS3, eval_GC, eval_PF_P,
                                 eval_PF_R, eval_PF_F)
        print(score)
        results[file] = score
        f.write(file + "," + str(score["GS3"]) + "\n")
        num = num + 1
print num
print results