test3 / app.py
basilboy's picture
Update app.py
88dbd92 verified
raw
history blame
1.18 kB
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()