Diff of /app.py [000000] .. [978f77]

Switch to side-by-side view

--- a
+++ b/app.py
@@ -0,0 +1,134 @@
+import os
+import xlrd
+import pickle
+import openpyxl
+import numpy as np
+import urllib.request, json 
+from flask import Flask, render_template
+from flask import request, jsonify
+from werkzeug.utils import secure_filename
+from livereload import Server
+
+
+app = Flask(__name__)
+model = pickle.load(open('model.pkl', 'rb'))
+
+@app.route('/')
+def home():
+    return render_template('home.html')
+
+@app.route('/page')
+def page():
+    return render_template('page.html')
+
+@app.route('/result')
+def result():
+    return render_template('result.html')
+
+@app.route('/gene')
+def gene():
+    return render_template('gene.html')
+
+@app.route('/predict',methods=['GET', 'POST'])
+def predict():
+    '''
+    For rendering results on HTML GUI
+    '''
+    if request.method == 'POST':
+        f = request.files['file']
+        f.filename = 'patient_data.xlsx'
+        f.save(secure_filename(f.filename))
+        # return 'file uploaded successfully'
+
+    path = 'patient_data.xlsx'
+    wb_obj = openpyxl.load_workbook(path)
+    sheet_obj = wb_obj.active
+    # print(sheet_obj.cell(row = 2, column = 1).value)
+
+    d1 = sheet_obj.cell(row = 2, column = 2).value
+    d2 = sheet_obj.cell(row = 2, column = 3).value
+    d3 = sheet_obj.cell(row = 2, column = 4).value
+    d4 = sheet_obj.cell(row = 2, column = 5).value
+    d5 = sheet_obj.cell(row = 2, column = 6).value
+    d6 = sheet_obj.cell(row = 2, column = 7).value
+    d7 = sheet_obj.cell(row = 2, column = 8).value
+    d8 = sheet_obj.cell(row = 2, column = 9).value
+    d9 = sheet_obj.cell(row = 2, column = 10).value
+    d10= sheet_obj.cell(row = 2, column = 11).value
+    d11= sheet_obj.cell(row = 2, column = 12).value
+    d12= sheet_obj.cell(row = 2, column = 13).value
+    d13= sheet_obj.cell(row = 2, column = 14).value
+    d14= sheet_obj.cell(row = 2, column = 15).value
+    d15= sheet_obj.cell(row = 2, column = 16).value
+    d16= sheet_obj.cell(row = 2, column = 17).value
+    d17= sheet_obj.cell(row = 2, column = 18).value
+    d18= sheet_obj.cell(row = 2, column = 19).value
+    d19= sheet_obj.cell(row = 2, column = 20).value
+    d20= sheet_obj.cell(row = 2, column = 21).value
+    arr=np.array([[d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,d11,d12,d13,d14,d15,d16,d17,d18,d19,d20]])
+
+    #int_features = [int(x) for x in request.form.values()]
+    #final_features = [np.array(int_features)]
+    prediction = model.predict(arr)
+
+    output = prediction[0]
+    if output==0:
+        print("Chemotherapy Not Suitable")
+    else:
+        print("Chemotherapy Suitable")
+    return render_template('result.html', data=prediction, prediction_text='{}'.format(output))
+
+@app.route('/predict1',methods=['POST'])
+def predict1():
+    '''
+    For rendering results on HTML GUI
+    '''
+    d1= request.form['a']
+    d2= request.form['b']
+    d3= request.form['c']
+    d4= request.form['d']
+    d5= request.form['e']
+    d6= request.form['f']
+    d7= request.form['g']
+    d8= request.form['h']
+    d9= request.form['i']
+    d10= request.form['j']
+    d11=request.form['k']
+    d12= request.form['l']
+    d13= request.form['m']
+    d14= request.form['n']
+    d15= request.form['o']
+    d16= request.form['p']
+    d17= request.form['q']
+    d18= request.form['r']
+    d19= request.form['s']
+    d20= request.form['t']
+    arr=np.array([[d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,d11,d12,d13,d14,d15,d16,d17,d18,d19,d20]])
+
+    #int_features = [int(x) for x in request.form.values()]
+    #final_features = [np.array(int_features)]
+    prediction1 = model.predict(arr)
+
+    output = prediction1[0]
+    if output==0:
+        print("Chemotherapy Not Suitable")
+    else:
+        print("Chemotherapy Suitable")
+    return render_template('result.html', data=prediction1, prediction_text='{}'.format(output))
+
+@app.route('/search',methods=['POST'])
+def search():
+    if request.method == 'POST':
+        word = request.form['query']
+        search_word = word.upper()
+        print(search_word)
+        link = "https://clinicaltables.nlm.nih.gov/api/ncbi_genes/v3/search?terms="+search_word
+        with urllib.request.urlopen(link) as url:
+            data = json.loads(url.read().decode())
+            # print(data)
+    return jsonify({ 'htmlresponse': render_template('table.html', data = data, n = int(len(data[1])), word = search_word ) })
+
+if __name__ == "__main__":
+    # app.run(debug=True)
+    server = Server(app.wsgi_app)
+    server.serve()
\ No newline at end of file