Spaces:
Sleeping
Sleeping
Commit
·
36358e5
1
Parent(s):
9c7bd1d
"Model"
Browse files- app.py +37 -2
- corona_pred.pkl +3 -0
- countVectTrain.pkl +3 -0
app.py
CHANGED
@@ -1,7 +1,42 @@
|
|
1 |
import gradio as gr
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
3 |
def greet(name):
|
4 |
return "Hello " + name + "!!"
|
5 |
|
6 |
-
|
7 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
import gradio as gr
|
2 |
+
import numpy as np
|
3 |
+
import pandas as pd
|
4 |
+
from sklearn.feature_extraction.text import CountVectorizer
|
5 |
+
from sklearn.naive_bayes import MultinomialNB
|
6 |
+
import pickle
|
7 |
+
import sys
|
8 |
|
9 |
def greet(name):
|
10 |
return "Hello " + name + "!!"
|
11 |
|
12 |
+
# load the CountVectorizer from disk
|
13 |
+
cv = pickle.load(open('countVectTrain.pkl', 'rb'))
|
14 |
+
|
15 |
+
# load the model from disk
|
16 |
+
filename = 'corona_pred.pkl'
|
17 |
+
model = pickle.load(open(filename, 'rb'))
|
18 |
+
|
19 |
+
# function to convert sequence string into k-mer words, default size = 6 (hexamer words)
|
20 |
+
kmer_size = 6
|
21 |
+
def getKmers(sequence, size=kmer_size):
|
22 |
+
return [sequence[x:x+size].lower() for x in range(len(sequence) - size + 1)]
|
23 |
+
|
24 |
+
# define the Gradio interface
|
25 |
+
def classify_sequence(sequence):
|
26 |
+
# convert the input sequence into k-mer words
|
27 |
+
words = getKmers(sequence)
|
28 |
+
# convert the k-mer words into a list of space-separated strings
|
29 |
+
text = ' '.join(words)
|
30 |
+
# vectorize the text using Count Vectorization
|
31 |
+
X = cv.transform([text])
|
32 |
+
# make predictions using the pre-trained model
|
33 |
+
pred_label = model.predict(X)[0]
|
34 |
+
pred_prob_percentage = model.predict_proba(X).max()*100
|
35 |
+
# return the predicted class and probability
|
36 |
+
return {'predicted_class': pred_label, 'probability': pred_prob_percentage}
|
37 |
+
|
38 |
+
iface = gr.Interface(fn=classify_sequence, inputs="text", outputs=["text"],
|
39 |
+
title="Coronavirus Sequence Classifier",
|
40 |
+
description="Enter a coronavirus sequence to predict its class and probability.")
|
41 |
+
|
42 |
+
iface.launch()
|
corona_pred.pkl
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:55025601de7a3c95b6b902e14284cc6b89464c6d847f764a7941a430af3823f2
|
3 |
+
size 11555492
|
countVectTrain.pkl
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:2af80dee2648aa8c62746a1d574757b666e185e946701700bac71852671b3968
|
3 |
+
size 6189395
|