def run(self): """ Compute normalized score """ self.norm_score=np.arange(float(len(self.interactions))) self.pos=np.arange(len(self.interactions)) #Score to normalise #listscore=self.dbmanage.getAllScore(self.interactions) #Len sRNA listlensRNA=self.dbmanage.getAllsRNAlenbyIntid(self.interactions) listlenmRNA=self.dbmanage.getAllmRNAlenbyIntid(self.interactions) funcspec=self.defnormfunction() for i in xrange(len(self.interactions)): if((i%500)==0): print("%d/%d"%(i+1,len(self.interactions))) score=self.dbmanage.getScore(self.interactions[i][0]) #if(listscore[i]!=None): # funcspec(listscore[i],np.log(float(listlensRNA[i]*listlenmRNA[i])),self.score_type,i) if(score!=None): funcspec(score,np.log(float(listlensRNA[i]*listlenmRNA[i])),self.score_type,i) #Cas mfe / energy if(self.score_type==2 or self.score_type==3): self.norm_score[i]=-self.norm_score[i] #Nothing is predicted else: self.norm_score[i]=np.nan #Communication object data=Communication() data.norm_score=self.norm_score data.pos=self.pos return data
def getSendCom(self,computer,type_analysis,tab,dbmanage,rand_inf): """ Create communication object """ data=Communication() data.type_analysis=type_analysis if(type_analysis==0): data.interactions=computer.interactions[tab[0]:tab[1]] data.type_sol=computer.type_sol data.score_type=computer.score_type elif(type_analysis==1 or type_analysis==3): data.interactions=computer.interactions[tab[0]:tab[1]] data.type_sol=computer.type_sol #Matrice partielle data.pos=computer.pos[tab[0]:tab[1]] elif(type_analysis==2): data.softname=self.getCorrespondingSoft(computer,dbmanage,rand_inf) data.norm_score=computer.norm_score[tab[0]:tab[1]] data.interactions=computer.interactions[tab[0]:tab[1]] #regression elif(type_analysis==4): data.unique_sRNAidinint=computer.unique_sRNAidinint[tab[0]:tab[1]] data.norm_score=computer.norm_score data.sRNAid_tab=computer.sRNAid_tab data.pValue_type=computer.pValue_type else: raise NotImplementedError("") return data