Accelernate commited on
Commit
af9e04c
·
verified ·
1 Parent(s): 3af0361

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +18 -3
app.py CHANGED
@@ -67,6 +67,10 @@ def perform_blast_analysis(sequence):
67
  except Exception as e:
68
  st.error("An error occurred during protein analysis. Please try again later.")
69
 
 
 
 
 
70
  def update(sequence, word1, word2, word3, sequence_length):
71
  headers = {
72
  'Content-Type': 'application/x-www-form-urlencoded',
@@ -113,13 +117,18 @@ def update(sequence, word1, word2, word3, sequence_length):
113
  Enjoy exploring the world of protein sequences! Share your high-confidence protein images with us on X [*@WandsAI*](https://x.com/wandsai)!
114
  """)
115
 
116
- if st.button('Analyze Protein'):
117
- perform_blast_analysis(sequence)
118
 
119
  except requests.exceptions.RequestException as e:
120
  st.error(f"An error occurred while calling the API: {str(e)}")
121
  st.write("Please try again later or contact support if the issue persists.")
122
 
 
 
 
 
 
 
123
  st.title("Word-Seeded Protein Sequence Generator and Structure Predictor")
124
 
125
  st.sidebar.subheader("Generate Sequence from Words")
@@ -131,10 +140,16 @@ sequence_length = st.sidebar.number_input("Sequence Length", min_value=50, max_v
131
  if st.sidebar.button('Generate and Predict'):
132
  if word1 and word2 and word3:
133
  sequence = generate_sequence_from_words([word1, word2, word3], sequence_length)
 
134
  st.sidebar.text_area("Generated Sequence", sequence, height=100)
135
  st.sidebar.info("Note: The same words and sequence length will always produce the same sequence.")
136
 
137
  with st.spinner("Predicting protein structure... This may take a few minutes."):
138
  update(sequence, word1, word2, word3, sequence_length)
139
  else:
140
- st.sidebar.warning("Please enter all three words to generate a sequence.")
 
 
 
 
 
 
67
  except Exception as e:
68
  st.error("An error occurred during protein analysis. Please try again later.")
69
 
70
+ import streamlit as st
71
+
72
+ # ... (keep all previous imports and functions)
73
+
74
  def update(sequence, word1, word2, word3, sequence_length):
75
  headers = {
76
  'Content-Type': 'application/x-www-form-urlencoded',
 
117
  Enjoy exploring the world of protein sequences! Share your high-confidence protein images with us on X [*@WandsAI*](https://x.com/wandsai)!
118
  """)
119
 
120
+ st.session_state.show_analyze_button = True
 
121
 
122
  except requests.exceptions.RequestException as e:
123
  st.error(f"An error occurred while calling the API: {str(e)}")
124
  st.write("Please try again later or contact support if the issue persists.")
125
 
126
+ # Initialize session state variables
127
+ if 'sequence' not in st.session_state:
128
+ st.session_state.sequence = None
129
+ if 'show_analyze_button' not in st.session_state:
130
+ st.session_state.show_analyze_button = False
131
+
132
  st.title("Word-Seeded Protein Sequence Generator and Structure Predictor")
133
 
134
  st.sidebar.subheader("Generate Sequence from Words")
 
140
  if st.sidebar.button('Generate and Predict'):
141
  if word1 and word2 and word3:
142
  sequence = generate_sequence_from_words([word1, word2, word3], sequence_length)
143
+ st.session_state.sequence = sequence
144
  st.sidebar.text_area("Generated Sequence", sequence, height=100)
145
  st.sidebar.info("Note: The same words and sequence length will always produce the same sequence.")
146
 
147
  with st.spinner("Predicting protein structure... This may take a few minutes."):
148
  update(sequence, word1, word2, word3, sequence_length)
149
  else:
150
+ st.sidebar.warning("Please enter all three words to generate a sequence.")
151
+
152
+ # Show the Analyze Protein button if a sequence has been generated
153
+ if st.session_state.show_analyze_button:
154
+ if st.button('Analyze Protein'):
155
+ perform_blast_analysis(st.session_state.sequence)