File size: 1,073 Bytes
01554a7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
from joblib import load
from model import process_dna



loaded_model = load("SacCerML.joblib")

def merge_fastas(fileslist):
    finale = []
    finalfile = fileslist[-1].split(".")[0]+"_mergedfastas.fasta"
    for fl in fileslist:
        f = open(fl, "r")
        lines = f.readlines()
        f.close()
        for line in lines:
            finale.append(line)
    fnlfl = open(finalfile, "w")
    for l in finale:
        if l.endswith("\n"):
            fnlfl.write(l)  
        else:
            fnlfl.write(l+"\n") 
    fnlfl.close()
    return finalfile

def predict_genes(infile, model=loaded_model):
    X, proteins = process_dna(infile)
    headers = list(X.keys())
    predictions = []
    for x in list(X.values()):
        p = model.predict(x)
        predictions.append(p)
    msg = []
    for i in range(len(predictions)):
        msg.append(
            f"{headers[i]} protein sequence is\n{proteins[headers[i]]}\nand is predicted as {predictions[i][0]}\n"
        )
    message = "".join(msg)
    return message