def bayes_major(self): self = pickle.load( open( "/%s/%s_self_fitting.p" % (self.output_directory, self.output_prefix), 'rb')) logging.info('Run the algorithm for the second time ...') ngene = 0 for (tgid, tginst) in self.allgenedict.iteritems(): #logging.info(tgid) iteratenbem(tginst, debug=False, meanvarmodel=self.mrm, restart=False, size_factor=self.size_f, beta1_prior_var=self.non_PPI_beta_prior_variance) ngene += 1 for (tgid, tginst) in self.allgenedict.iteritems(): if len(tginst.w_estimate) == 0: tginst.w_estimate = np.ones(len(tginst.sgrnaid)) pickle.dump( self, open( "/%s/%s_self_bayes_major.p" % (self.output_directory, self.output_prefix), 'wb'))
def bayes_iteration(self): logging.info('Iteratioin...') PPI_choice=[False,True] for PPI in PPI_choice: self=pickle.load(open("/%s/%s_self_constant_optimization.p" %(self.output_directory,self.output_prefix),'rb')) self.PPI_prior=PPI if self.PPI_diagnosis==False and self.PPI_prior==True: pass else: self.outliers_removal=False for (tgid,tginst) in self.allgenedict.iteritems(): iteratenbem(tginst,debug=False,meanvarmodel=self.mrm,restart=False,PPI_prior=self.PPI_prior,removeoutliers=self.outliers_removal,size_factor=self.size_f,beta1_prior_var=self.non_PPI_beta_prior_variance) pickle.dump(self,open("/%s/%s_self_bayes_iteration_PPI_%s_outliers_removal_%s.p" %(self.output_directory,self.output_prefix,self.PPI_prior,self.outliers_removal),'wb')) #base_index=np.where(~self.design_matrix[:,1:].any(axis=1))[0] #transform_list=[1 if i in base_index else -1 for i in range(self.design_matrix.shape[0])] #transform_matrix=np.matrix(transform_list) for (tgid,tginst) in self.allgenedict.items(): bayes_selection(tginst,log_list=self.log_list,selection_constant=self.selection_constant) self.outliers_removal=True for (tgid,tginst) in self.allgenedict.iteritems(): iteratenbem(tginst,debug=False,meanvarmodel=self.mrm,restart=False,PPI_prior=self.PPI_prior,removeoutliers=self.outliers_removal,size_factor=self.size_f,beta1_prior_var=self.non_PPI_beta_prior_variance) pickle.dump(self,open("/%s/%s_self_bayes_iteration_PPI_%s_outliers_removal_%s.p" %(self.output_directory,self.output_prefix,self.PPI_prior,self.outliers_removal),'wb'))
def bayes_init(self): maxgene=np.inf if self.negative_control==None: self.allgenedict,self.invalid_gRNA_dict=read_gene_from_file(self.count_table,includesamples=self.include_samples,negative_control=self.negative_control) else: self.allgenedict,self.invalid_gRNA_dict,self.negative_control_gRNAs=read_gene_from_file(self.count_table,includesamples=self.include_samples,negative_control=self.negative_control) # calculate the size factor cttab_sel={} for (geneid,gk) in self.allgenedict.iteritems(): sgid=gk.sgrnaid sgreadmat=gk.nb_count.getT().tolist() for i in range(len(sgid)): cttab_sel[sgid[i]]=sgreadmat[i] if hasattr(self,'norm_method'): if self.norm_method!='none': self.size_f=normalizeCounts(cttab_sel,method=self.norm_method,returnfactor=True,reversefactor=True,negative_control_gRNAs=self.negative_control_gRNAs) else: self.size_f=None else: self.size_f=normalizeCounts(cttab_sel,returnfactor=True,reversefactor=True) logging.info('size factor: '+','.join([str(x) for x in self.size_f])) #logging.info(self.design_matrix) desmat=self.design_matrix for (tgid,tginst) in self.allgenedict.iteritems(): #if tgid=="INO80B": tginst.design_mat=desmat iteratenbem(tginst,debug=False,estimateeff=False,alpha_val=0.05,size_factor=self.size_f) tginst.w_estimate=[] deviation(self.allgenedict) self.non_PPI_beta_prior_variance=beta_non_PPI_prior_calculation(self.allgenedict) pickle.dump(self,open("/%s/%s_self_bayes_init.p" %(self.output_directory,self.output_prefix),'wb'))
def bayes_iteration(self): logging.info('Iteratioin...') PPI_choice = [False, True] for PPI in PPI_choice: self = pickle.load( open( "/%s/%s_self_constant_optimization.p" % (self.output_directory, self.output_prefix), 'rb')) self.PPI_prior = PPI if self.PPI_diagnosis == False and self.PPI_prior == True: pass else: self.outliers_removal = False for (tgid, tginst) in self.allgenedict.iteritems(): iteratenbem( tginst, debug=False, meanvarmodel=self.mrm, restart=False, PPI_prior=self.PPI_prior, removeoutliers=self.outliers_removal, size_factor=self.size_f, beta1_prior_var=self.non_PPI_beta_prior_variance) pickle.dump( self, open( "/%s/%s_self_bayes_iteration_PPI_%s_outliers_removal_%s.p" % (self.output_directory, self.output_prefix, self.PPI_prior, self.outliers_removal), 'wb')) #base_index=np.where(~self.design_matrix[:,1:].any(axis=1))[0] #transform_list=[1 if i in base_index else -1 for i in range(self.design_matrix.shape[0])] #transform_matrix=np.matrix(transform_list) for (tgid, tginst) in self.allgenedict.items(): bayes_selection(tginst, log_list=self.log_list, selection_constant=self.selection_constant) self.outliers_removal = True for (tgid, tginst) in self.allgenedict.iteritems(): iteratenbem( tginst, debug=False, meanvarmodel=self.mrm, restart=False, PPI_prior=self.PPI_prior, removeoutliers=self.outliers_removal, size_factor=self.size_f, beta1_prior_var=self.non_PPI_beta_prior_variance) pickle.dump( self, open( "/%s/%s_self_bayes_iteration_PPI_%s_outliers_removal_%s.p" % (self.output_directory, self.output_prefix, self.PPI_prior, self.outliers_removal), 'wb'))
def bayes_init(self): maxgene = np.inf if self.negative_control == None: self.allgenedict, self.invalid_gRNA_dict = read_gene_from_file( self.count_table, includesamples=self.include_samples, negative_control=self.negative_control) else: self.allgenedict, self.invalid_gRNA_dict, self.negative_control_gRNAs = read_gene_from_file( self.count_table, includesamples=self.include_samples, negative_control=self.negative_control) # calculate the size factor cttab_sel = {} for (geneid, gk) in self.allgenedict.iteritems(): sgid = gk.sgrnaid sgreadmat = gk.nb_count.getT().tolist() for i in range(len(sgid)): cttab_sel[sgid[i]] = sgreadmat[i] if hasattr(self, 'norm_method'): if self.norm_method != 'none': self.size_f = normalizeCounts( cttab_sel, method=self.norm_method, returnfactor=True, reversefactor=True, negative_control_gRNAs=self.negative_control_gRNAs) else: self.size_f = None else: self.size_f = normalizeCounts(cttab_sel, returnfactor=True, reversefactor=True) logging.info('size factor: ' + ','.join([str(x) for x in self.size_f])) #logging.info(self.design_matrix) desmat = self.design_matrix for (tgid, tginst) in self.allgenedict.iteritems(): #if tgid=="INO80B": tginst.design_mat = desmat iteratenbem(tginst, debug=False, estimateeff=False, alpha_val=0.05, size_factor=self.size_f) tginst.w_estimate = [] deviation(self.allgenedict) self.non_PPI_beta_prior_variance = beta_non_PPI_prior_calculation( self.allgenedict) pickle.dump( self, open( "/%s/%s_self_bayes_init.p" % (self.output_directory, self.output_prefix), 'wb'))
def bayes_major(self): self=pickle.load(open("/%s/%s_self_fitting.p" %(self.output_directory,self.output_prefix),'rb')) logging.info('Run the algorithm for the second time ...') ngene=0 for (tgid,tginst) in self.allgenedict.iteritems(): #logging.info(tgid) iteratenbem(tginst,debug=False,meanvarmodel=self.mrm,restart=False,size_factor=self.size_f,beta1_prior_var=self.non_PPI_beta_prior_variance) ngene+=1 for (tgid,tginst) in self.allgenedict.iteritems(): if len(tginst.w_estimate)==0: tginst.w_estimate=np.ones(len(tginst.sgrnaid)) pickle.dump(self,open("/%s/%s_self_bayes_major.p" %(self.output_directory,self.output_prefix),'wb'))