aiqcamp commited on
Commit
33bb1d2
ยท
verified ยท
1 Parent(s): 250c90d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +36 -1
app.py CHANGED
@@ -109,11 +109,20 @@ def respond(
109
 
110
  def process_chat(message, history):
111
  try:
 
112
  if any(keyword in message.lower() for keyword in ['protein', 'generate', '๋‹จ๋ฐฑ์งˆ', '์ƒ์„ฑ']):
 
113
  relevant_data = search_protein_data(message)
 
 
114
  params = extract_parameters(message, relevant_data)
 
 
115
  protein_result = generate_protein(params)
 
 
116
  explanation = generate_explanation(protein_result, params)
 
117
  return history + [
118
  {"role": "user", "content": message},
119
  {"role": "assistant", "content": explanation}
@@ -130,6 +139,7 @@ def process_chat(message, history):
130
  ]
131
 
132
  def search_protein_data(query):
 
133
  relevant_entries = []
134
  for entry in ds['train']:
135
  if any(keyword in entry['sequence'].lower() for keyword in query.lower().split()):
@@ -137,8 +147,9 @@ def search_protein_data(query):
137
  return relevant_entries
138
 
139
  def extract_parameters(llm_response, dataset_info):
 
140
  params = {
141
- 'sequence_length': 100,
142
  'helix_bias': 0.02,
143
  'strand_bias': 0.02,
144
  'loop_bias': 0.1,
@@ -146,6 +157,29 @@ def extract_parameters(llm_response, dataset_info):
146
  }
147
  return params
148
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
149
  def generate_explanation(result, params):
150
  explanation = f"""
151
  ์ƒ์„ฑ๋œ ๋‹จ๋ฐฑ์งˆ ๋ถ„์„:
@@ -159,6 +193,7 @@ def generate_explanation(result, params):
159
  return explanation
160
 
161
 
 
162
  def protein_diffusion_model(sequence, seq_len, helix_bias, strand_bias, loop_bias,
163
  secondary_structure, aa_bias, aa_bias_potential,
164
  num_steps, noise, hydrophobic_target_score, hydrophobic_potential,
 
109
 
110
  def process_chat(message, history):
111
  try:
112
+ # ๋‹จ๋ฐฑ์งˆ ์ƒ์„ฑ ๊ด€๋ จ ํ‚ค์›Œ๋“œ ํ™•์ธ
113
  if any(keyword in message.lower() for keyword in ['protein', 'generate', '๋‹จ๋ฐฑ์งˆ', '์ƒ์„ฑ']):
114
+ # ๋ฐ์ดํ„ฐ์…‹์—์„œ ๊ด€๋ จ ์ •๋ณด ๊ฒ€์ƒ‰
115
  relevant_data = search_protein_data(message)
116
+
117
+ # ์ƒ์„ฑ ํŒŒ๋ผ๋ฏธํ„ฐ ์ถ”์ถœ
118
  params = extract_parameters(message, relevant_data)
119
+
120
+ # ๋‹จ๋ฐฑ์งˆ ์ƒ์„ฑ
121
  protein_result = generate_protein(params)
122
+
123
+ # ๊ฒฐ๊ณผ ์„ค๋ช… ์ƒ์„ฑ
124
  explanation = generate_explanation(protein_result, params)
125
+
126
  return history + [
127
  {"role": "user", "content": message},
128
  {"role": "assistant", "content": explanation}
 
139
  ]
140
 
141
  def search_protein_data(query):
142
+ # ๋ฐ์ดํ„ฐ์…‹์—์„œ ๊ด€๋ จ ํ•ญ๋ชฉ ๊ฒ€์ƒ‰
143
  relevant_entries = []
144
  for entry in ds['train']:
145
  if any(keyword in entry['sequence'].lower() for keyword in query.lower().split()):
 
147
  return relevant_entries
148
 
149
  def extract_parameters(llm_response, dataset_info):
150
+ # LLM ์‘๋‹ต์—์„œ ํŒŒ๋ผ๋ฏธํ„ฐ ์ถ”์ถœ
151
  params = {
152
+ 'sequence_length': 100, # ๊ธฐ๋ณธ๊ฐ’
153
  'helix_bias': 0.02,
154
  'strand_bias': 0.02,
155
  'loop_bias': 0.1,
 
157
  }
158
  return params
159
 
160
+ def generate_protein(params):
161
+ # ๊ธฐ์กด protein_diffusion_model ํ•จ์ˆ˜ ํ˜ธ์ถœ
162
+ result = protein_diffusion_model(
163
+ sequence=None,
164
+ seq_len=params['sequence_length'],
165
+ helix_bias=params['helix_bias'],
166
+ strand_bias=params['strand_bias'],
167
+ loop_bias=params['loop_bias'],
168
+ secondary_structure=None,
169
+ aa_bias=None,
170
+ aa_bias_potential=None,
171
+ num_steps="25",
172
+ noise="normal",
173
+ hydrophobic_target_score=str(params['hydrophobic_target_score']),
174
+ hydrophobic_potential="2",
175
+ contigs=None,
176
+ pssm=None,
177
+ seq_mask=None,
178
+ str_mask=None,
179
+ rewrite_pdb=None
180
+ )
181
+ return result
182
+
183
  def generate_explanation(result, params):
184
  explanation = f"""
185
  ์ƒ์„ฑ๋œ ๋‹จ๋ฐฑ์งˆ ๋ถ„์„:
 
193
  return explanation
194
 
195
 
196
+
197
  def protein_diffusion_model(sequence, seq_len, helix_bias, strand_bias, loop_bias,
198
  secondary_structure, aa_bias, aa_bias_potential,
199
  num_steps, noise, hydrophobic_target_score, hydrophobic_potential,