File size: 1,183 Bytes
c8e874d 49c5855 c8e874d 49c5855 7f07fc3 49c5855 88dbd92 49c5855 88dbd92 49c5855 88dbd92 49c5855 88dbd92 49c5855 7f07fc3 |
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 |
import streamlit as st
from utils import validate_sequence, predict
from model import model
def main():
st.title("AA Property Inference Demo")
# User input: Text and CSV
sequence = st.text_input("Enter your amino acid sequence:")
uploaded_file = st.file_uploader("Or upload a CSV file with amino acid sequences", type="csv")
if st.button("Analyze Sequence"):
sequences = [sequence] if sequence else []
if uploaded_file:
df = pd.read_csv(uploaded_file)
sequences.extend(df['sequence'].tolist())
results = []
for seq in sequences:
if validate_sequence(seq):
model_results = {}
for model_name, model in models.items():
prediction, confidence = predict(model, seq)
model_results[model_name] = {"Prediction": prediction, "Confidence": confidence}
results.append({"Sequence": seq, **model_results})
else:
st.error(f"Invalid sequence: {seq}")
if results:
st.write("### Results")
st.table(results)
if __name__ == "__main__":
main()
|