def looping_Ha_diff_species(self, nLoops): lista = [] self.jsd = JSD.Class_JSD(self.desk) self.entFile = bioClass.Entropy_File() self.hmi = MI.Mutual_Information_Horizontal(self.desk, want_nuc_aa_list=False, want_shannon=False) if not self.hmi.ok: self.error_msg = 'Problems with Init_MI_Heat_Map_Hist_Graph.' return False specList = self.all_species.keys() n = len(specList) for i in range(n - 1): for j in range(i + 1, n): ''' for each pair of species simulate Ha ''' if nLoops > 10: nLoops = int(round(nLoops / 10.)) ret, dList = self.read_and_calc_Ha(specList[i], specList[j], nLoops=nLoops) if not ret: return None lista.append(dList) return lista
def __init__(self, desk): self.desk = desk self.dr = desk.dr ''' ------------------------------------------------------- ''' self.entFile = bioClass.Entropy_File() self.gg = graphPac.GeneralGraphic(desk) self.minmax = desk.minmax
def looping_JSD_one_sample(self): self.jsd = JSD.Class_JSD(self.desk) ''' -----------------------------------------''' self.time = crono.Timing() self.entFile = bioClass.Entropy_File() self.set_my_cluster_filenames() name = '%s %s %s' % (self.desk.organism, self.gene, self.title) self.names = [[self.cluster_input_filename, name]] self.hmi = MI.Mutual_Information_Horizontal(self.desk, want_nuc_aa_list=False, want_shannon=False) if not self.hmi.ok: self.error_msg = 'Problems with Init_MI_Heat_Map_Hist_Graph.' return False if self.desk.organism == "Drosophila": self.dr = dro.Drosophila() # filename_dist_mat = self.cluster_input_filename ''' always read and calc in looping_JSD_one_sample''' ret, dicMI, _, _ = self.read_and_calc_one_sample() if not ret: return False xlabel = 'species x species' ylabel = 'JSD(%s)' % (self.desk.unit) if self.desk.showGraph or self.desk.saveGraph: self.jsd.plot_JSD_MI(self.desk, dicMI, self.desk.filename_correction, xlabel, ylabel, onlyRef=True, stay=True) return True
def looping_H0_same_species(self): lista = [] self.jsd = JSD.Class_JSD(self) self.filename_correction = '_bias_corr' if self.withCorrection else '' self.entFile = bioClass.Entropy_File() self.hmi = MI.Mutual_Information_Horizontal(self, want_nuc_aa_list=False, want_shannon = False) if not self.hmi.ok: self.error_msg = 'Problems with Init_MI_Heat_Map_Hist_Graph.' return False for spec in sorted(self.all_species.keys()): ''' for each species simulate H0 ''' # self.spRef = self.which_sp(self.organism, spec) ret, dList = self.read_and_calc_H0(spec, 3) if not ret: return None lista.append(dList) return lista
def looping_JSD_all_samples(self): plt.close("all") plt.clf() self.jsd = JSD.Class_JSD(self) self.filename_correction = '_bias_corr' if self.withCorrection else '' if self.withCorrection: self.filename_correction = '_bias_corr' else: self.filename_correction = '' self.time = crono.Timing() name = '%s %s %s'%(self.organism, self.gene, self.title) self.entFile = bioClass.Entropy_File() self.set_my_cluster_filenames() self.names = [[self.cluster_input_filename, name]] self.hmi = MI.Mutual_Information_Horizontal(self, want_nuc_aa_list=False, want_shannon = False) if not self.hmi.ok: self.error_msg = 'Problems with Init_MI_Heat_Map_Hist_Graph.' return False if self.organism == "Drosophila": self.dr = dro.Drosophila() filename_dist_mat = self.cluster_input_filename if not os.path.exists(self.rootTable + filename_dist_mat) or self.de_novo: ''' if not found in looping_JSD_all_samples read and calc ''' ret, dicMI, stri, sError = self.read_and_calc_all_samples() else: ret, dicMI, stri, sError = self.read_distance_matrix(filename_dist_mat) if not ret: return False xlabel = 'species x species' ylabel = 'JSD(%s)'%(self.unit) if self.saveData: self.showmsg_obs('\n ============ %s ============'%(self.striMatrix)) self.showmsg_obs(stri) self.showmsg_obs('============ SE %s ============'%(self.striMatrix)) self.showmsg_obs(sError) self.showmsg_obs('============ %s ============\n'%(self.striMatrix)) if not self.hmi.entFile.write_file(self.rootTable, filename_dist_mat, stri, True): return False filename = filename_dist_mat.replace('.txt','') + '_se.txt' if not self.hmi.entFile.write_file(self.rootTable, filename, sError): return False striSummary = self.hmi.print_MI_species_data(dicMI, roundVal=self.roundVal) filename = filename.replace('_se.txt','') + '_summary.txt' if not self.hmi.entFile.write_file(self.rootTable, filename, striSummary, True): return False if self.showGraph or self.saveGraph: self.jsd.plot_JSD_MI(self, dicMI, self.filename_correction, xlabel, ylabel, onlyRef=False ) return True
def looping(self, desk, opt): print("-->>", opt) plt.close("all") plt.clf() desk.minmax = opt[0] if desk.each_all == 'each': loopCorrection = [desk.withCorrection] else: loopCorrection = [True, False] for correction in loopCorrection: ''' -----------------------------------------''' desk.withCorrection = correction self.time = timePack.Timing() name = '%s %s %s' % (desk.organism, desk.gene, desk.title) print 'name', name self.entFile = bioClass.Entropy_File() desk.set_cluster_filenames() desk.names = [desk.cluster_input_filename, name] self.imi = imi.Mutual_Information_Vertical(desk) if not self.imi.ok: self.error_msg = 'Problems with Init_MI_Heat_Map_Hist_Graph.' return False filename_dist_mat = desk.cluster_input_filename if not os.path.exists(desk.rootTable + filename_dist_mat) or desk.de_novo: ret, dicMI, stri, sError = self.read_and_calc(desk) else: ret, dicMI, stri, sError = self.read_distance_matrix( desk, filename_dist_mat) if not ret: return False xlabel = 'species x species' ''' recalc: desk.title_jsd and desk.unit ''' desk.set_cluster_filenames() ylabel = 'JSD(%s)' % (desk.unit) desk.showmsg_obs('\n ============ %s ============' % (desk.striMatrix)) desk.showmsg_obs(stri) desk.showmsg_obs('============ SE %s ============' % (desk.striMatrix)) desk.showmsg_obs(sError) desk.showmsg_obs('============ %s ============\n' % (desk.striMatrix)) if desk.saveData: if not self.imi.entFile.write_file( desk.rootTable, filename_dist_mat, stri, True): return False filename = filename_dist_mat.replace('.txt', '') + '_se.txt' if not self.imi.entFile.write_file(desk.rootTable, filename, sError): return False striSummary = self.imi.print_MI_species_data( dicMI, roundVal=desk.roundVal) filename = filename.replace('_se.txt', '') + '_summary.txt' if not self.imi.entFile.write_file(desk.rootTable, filename, striSummary, True): return False listSpecies = self.get_species(desk) self.imi.ttest_MI_species_data(desk, listSpecies, dicMI) if desk.showGraph or desk.saveGraph: self.jsd.plot_JSD_MI(desk, dicMI, xlabel, ylabel) return True
''' Revised on 20/02/2014 @author: Flavio Lichtenstein @local: UNIFESP - Bioinformatica ''' import classes.BioPythonClass as bioClass basic = bioClass.Basic() showmessage = False rootTable = 'C:/drosophila/files/' randomShannonTableName = 'shannon_random_DNA_dic.txt' entFile = bioClass.Entropy_File() if not entFile.setNames(rootTable, randomShannonTableName): print 'Could not open ' + rootTable + randomShannonTableName ok, msg = entFile.read_shannon_random_file(showKeys = False) if not ok: print msg + ', perhaps Shannon dictionary bad formated.' exit() print '--------------------------------------------------------' print 'Random h-Shannon table opened.' print '--------------------------------------------------------' print 'L \t entropy \t sdv \t mer%' print '--------------------------------------------------------'