я хочу получить прогнозируемый результат при добавлении белка в последовательности - PullRequest
0 голосов
/ 23 апреля 2020

вот мое выполнение функции разработки кода класса рассола в jupyter, и я поместил свою модель в файл рассылки, который я называю django вот мой код класса рассола.

import pandas as pd
import pickle
#Feature Engineering
class protein:
        def __init__(self):
            self.features = self._makeFeature()
        def _makeFeature(self):
            test_list = ['A', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'V', 'Y', 'Z']
            test_comb2 = []
            test_comb1 = []
            test_comb3 = []
            for i in test_list:
                test_comb1.append(i)
                for j in test_list:
                    test_comb2.append(i + j)
                    for k in test_list:
                        test_comb3.append(i + j + k)
            test_comb = []
            test_comb.extend(test_comb1)
            test_comb.extend(test_comb2)
            test_comb.extend(test_comb3)
            print(len(test_comb))
            return test_comb

        def countInputSeq(self, proteinSeq):
            d = {}
            for k in self.features:
                if k not in d:
                    d[k] = 0
                if k in proteinSeq:
                    d[k] += 1
            print(d)
            df = pd.DataFrame(d, index=range(len(d)))
            #df = pd.DataFrame(d)
            df=df.iloc[:,:420]
            return df
        def predict(self, feature):
            file = open("C:\\Users\\DELL\\Desktop\\Protein project\\model.obj",'rb')
            model = pickle.load(file)
            return model.predict(feature)
        def getSavedModel(self):
            file = open("C:\\Users\\DELL\\Desktop\\Protein project\\model.obj",'rb')
            model = pickle.load(file)
            return model

здесь мой метод просмотра файла, который я вызываю в методе формы, когда я добавляю белок в текстовый файл, я получаю тот же вывод, но я хочу получить прогнозируемый результат

def test(request):
    if request.method == 'POST':
        proteinSeq = request.POST['protein-sequence']
        model = protein()
        f = model.countInputSeq(proteinSeq)
        res = model.predict(f)
        return render(request, 'base/Result.html',{'protein_seq' : proteinSeq, 'result' : res})

    return render(request,"base/test.html")
...