basilboy commited on
Commit
88dbd92
·
verified ·
1 Parent(s): b1855eb

Update app.py

Browse files

file upload csv, and multi model support

Files changed (1) hide show
  1. app.py +20 -6
app.py CHANGED
@@ -5,16 +5,30 @@ from model import model
5
  def main():
6
  st.title("AA Property Inference Demo")
7
 
8
- # User input
9
  sequence = st.text_input("Enter your amino acid sequence:")
 
10
 
11
  if st.button("Analyze Sequence"):
12
- if validate_sequence(sequence):
13
- prediction = predict(model, sequence)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
  st.write("### Results")
15
- st.table({"Property": ["Solubility"], "Model Output": [prediction]})
16
- else:
17
- st.error("Invalid sequence. Please enter a valid amino acid sequence of up to 200 characters.")
18
 
19
  if __name__ == "__main__":
20
  main()
 
5
  def main():
6
  st.title("AA Property Inference Demo")
7
 
8
+ # User input: Text and CSV
9
  sequence = st.text_input("Enter your amino acid sequence:")
10
+ uploaded_file = st.file_uploader("Or upload a CSV file with amino acid sequences", type="csv")
11
 
12
  if st.button("Analyze Sequence"):
13
+ sequences = [sequence] if sequence else []
14
+ if uploaded_file:
15
+ df = pd.read_csv(uploaded_file)
16
+ sequences.extend(df['sequence'].tolist())
17
+
18
+ results = []
19
+ for seq in sequences:
20
+ if validate_sequence(seq):
21
+ model_results = {}
22
+ for model_name, model in models.items():
23
+ prediction, confidence = predict(model, seq)
24
+ model_results[model_name] = {"Prediction": prediction, "Confidence": confidence}
25
+ results.append({"Sequence": seq, **model_results})
26
+ else:
27
+ st.error(f"Invalid sequence: {seq}")
28
+
29
+ if results:
30
  st.write("### Results")
31
+ st.table(results)
 
 
32
 
33
  if __name__ == "__main__":
34
  main()