def mostraModelo(self): self.carregaModelos() arq = self.modeloEscolhido nomeModelo = arq.replace(".txt", "") texto = pegaModelo(arq, "modelo") texto = texto.replace("nn", "\n") texto = texto.replace("vv", ", ") distancia = (pegaModelo(self.modeloEscolhido, "distancia")).replace("\n", "") arqMelhor = (pegaModelo(self.modeloEscolhido, "melhorArquivo")).replace("\n", "") equacao = (pegaModelo(self.modeloEscolhido, "equacao")).replace("\n", "") base = (pegaModelo(self.modeloEscolhido, "base")).replace("\n", "") coeficiente = (pegaModelo(self.modeloEscolhido, "coeficiente")).replace("\n", "") valorCoeficiente = (pegaModelo(self.modeloEscolhido, "valorCoeficiente")).replace( "+*+", "\n") variaveis = str(int(pegaModelo(self.modeloEscolhido, "colunas")) - 1) tuned = (pegaModelo(self.modeloEscolhido, "tuned")).replace("\n", "") textoInformacoes = " Data Base: " + base + "\n" + " Cut Distance: " + distancia + chr( 197 ) + "\n" + " Variables: " + variaveis + "\n" + " Coefficient used in the evaluation : " + coeficiente + "\n" + "\n" + " Training Coefficients: " + "\n" + valorCoeficiente + "\n" + " Fine tuning: " + tuned complemento = "\n" + " Regression File: " + arqMelhor + "\n" + " Equation: " + equacao textoInformacoes = textoInformacoes + complemento textoModelo = texto + "\n" textoModelo = textoModelo.replace('a', chr(945)) # troca a por alpha textoModelo = textoModelo.replace('hng', chr(550)) # troca hng por amgstrons #QtGui.QMessageBox.information(self, "Model Description: "+nomeModelo, texto) self.caixatexto(textoModelo, textoInformacoes, nomeModelo) self.pushButton_deleta.setEnabled(False)
def selecionaModelo(self, index): self.modeloEscolhido = index.data().strip() + ".txt" modelo = self.modeloEscolhido.replace(".txt", "") distancia = pegaModelo(self.modeloEscolhido, "distancia") base = pegaModelo(self.modeloEscolhido, "base") coeficiente = pegaModelo(self.modeloEscolhido, "coeficiente") variaveis = str(int(pegaModelo(self.modeloEscolhido, "colunas")) - 1) texto = " [Data Base: " + base + " - Distance: " + distancia + chr( 197 ) + " - Variables: " + variaveis + " - Coefficient: " + coeficiente + "]" texto = texto.replace("\n", "") self.mostraModelo()
def mostraModelo(self): #self.carregaModelos() arq = self.modeloEscolhido texto = pegaModelo(arq, "modelo") texto = texto.replace("nn", "\n") texto = texto.replace("vv", ", ") equacao = pegaModelo(self.modeloEscolhido, "equacao") distancia = pegaModelo(self.modeloEscolhido, "distancia") base = pegaModelo(self.modeloEscolhido, "base") coeficiente = pegaModelo(self.modeloEscolhido, "coeficiente") valorCoeficiente = pegaModelo(self.modeloEscolhido, "valorCoeficiente").replace("+*+", "\n") variaveis = str(int(pegaModelo(self.modeloEscolhido, "colunas")) - 1) tuned = pegaModelo(self.modeloEscolhido, "tuned") texto2 = "# Data Base: " + base + " | Distance: " + distancia + chr( 197 ) + " | Variables: " + variaveis + " | Coefficient: " + coeficiente texto2 = texto2.replace("\n", "") texto2 = texto2 + "\n" + "# Training Coefficients: " + "\n" + valorCoeficiente texto = texto + "\n" + texto2 texto = texto + "# Tuned: " + tuned texto = texto.replace('a', chr(945)) # troca a por alpha texto = texto.replace('hng', chr(550)) # troca hng por amgstrons self.label_modelo.setText("Model: " + self.modeloEscolhido.replace(".txt", "")) self.plainTextEdit_modelo.setPlainText(texto)
def verificaRepetido(self, nomeInterno): arqs = arquivosNaPastaModels() for i in arqs: nome = pegaModelo(i, "nomeInterno") if nomeInterno.strip() == nome.strip(): return i return ""
def fazExperimento(self): logText = "The theoretical log " + self.inibidor + " for:" self.label_log.setText(logText) diretorio = "./inputFiles/" # define diretorio para salvar o download self.ligante = self.lineEdit_Ligante.text().upper().strip() self.chamaRotinasPreparacao( diretorio, self.ligante ) # chama runcoes para preparar arquivos para processamento arquivosParaLerUsu = leCsv( diretorio + "pdbsProteinaUsu.txt" ) # le arquivo com os pdbs a serem processados como proteinas. Este arquvivo so contem pdbs que tem arquivo de KI correspondente arqModelo = self.modeloEscolhido if temLigante("./pdbs/", arquivosParaLerUsu) == False: reply = QtGui.QMessageBox.question( self, 'Message', "The estructure to experiment don't have the ligand " + self.ligante, QtGui.QMessageBox.Ok, QtGui.QMessageBox.Ok) pass else: # entra o valor da distância distancia = float(pegaModelo(arqModelo, "distancia").strip()) tipoMedia = pegaConfig("tipoMedia") mediaDistanciaPorPdb( arquivosParaLerUsu, distancia, "USU", self.progressBar) # gera arquivo com medias do conjunto treino diretorio, arquivo = geraArquivoComTermoDeEnergiaExperimento( arquivosParaLerUsu, distancia, "Usu", tipoMedia, self.ligante) #gera arquivo de treino if diretorio == "nok": # significa que nao existe o ligante return False formula = pegaModelo(arqModelo, "equacao") pdbNome, logKi, ki = geraExperimento("", arquivo, formula) logKiS = ("%.3f" % logKi) # vamos pegar só um valor calculado de ki pois a funcçao e utilizada tambem para conjunto teste logText = "The theoretical log " + self.inibidor + " for:" self.label_log.setText(logText.replace("\n", "") + "\n" + pdbNome) self.label_logTeorico.setText(str(logKiS)) return True