コード例 #1
0
    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)
コード例 #2
0
 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()
コード例 #3
0
 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)
コード例 #4
0
 def verificaRepetido(self, nomeInterno):
     arqs = arquivosNaPastaModels()
     for i in arqs:
         nome = pegaModelo(i, "nomeInterno")
         if nomeInterno.strip() == nome.strip():
             return i
     return ""
コード例 #5
0
 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