Zhaohan Meng commited on
Commit
fd48f6e
Β·
verified Β·
1 Parent(s): a7f0e4d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +6 -13
app.py CHANGED
@@ -17,17 +17,6 @@ from transformers import EsmForMaskedLM, EsmTokenizer, AutoModel
17
  from utils.metric_learning_models_att_maps import Pre_encoded, FusionDTI
18
  from utils.foldseek_util import get_struc_seq
19
 
20
- # ───── Biopython fallback ───────────────────────────────────────
21
- from Bio.PDB import PDBParser, MMCIFParser
22
- from Bio.Data import IUPACData
23
-
24
- three2one = {k.upper(): v for k, v in IUPACData.protein_letters_3to1.items()}
25
- three2one.update({"SEC": "C", "PYL": "K"})
26
- def simple_seq_from_structure(path: str) -> str:
27
- parser = MMCIFParser(QUIET=True) if path.endswith(".cif") else PDBParser(QUIET=True)
28
- chain = next(parser.get_structure("P", path).get_chains())
29
- return "".join(three2one.get(res.get_resname().upper(), "X") for res in chain)
30
-
31
  # ───── global paths / args ──────────────────────────────────────
32
  FOLDSEEK_BIN = shutil.which("foldseek")
33
  os.environ["TOKENIZERS_PARALLELISM"] = "false"
@@ -306,8 +295,12 @@ def index():
306
  try:
307
  parsed = get_struc_seq(FOLDSEEK_BIN, tmp_structure_path, None, plddt_mask=False)
308
  chain = list(parsed.keys())[0]; _, _, structure_seq = parsed[chain]
309
- except Exception:
310
- structure_seq = simple_seq_from_structure(tmp_structure_path)
 
 
 
 
311
  protein_seq = structure_seq
312
  drug_input = request.form.get("drug_sequence", "")
313
  # Heuristically check if input is SMILES (not starting with [) and convert
 
17
  from utils.metric_learning_models_att_maps import Pre_encoded, FusionDTI
18
  from utils.foldseek_util import get_struc_seq
19
 
 
 
 
 
 
 
 
 
 
 
 
20
  # ───── global paths / args ──────────────────────────────────────
21
  FOLDSEEK_BIN = shutil.which("foldseek")
22
  os.environ["TOKENIZERS_PARALLELISM"] = "false"
 
295
  try:
296
  parsed = get_struc_seq(FOLDSEEK_BIN, tmp_structure_path, None, plddt_mask=False)
297
  chain = list(parsed.keys())[0]; _, _, structure_seq = parsed[chain]
298
+ except Exception as e:
299
+ result_html = (
300
+ "<p style='color:red'><strong>Foldseek failed to extract sequence "
301
+ f"from structure: {e}</strong></p>")
302
+ structure_seq = ""
303
+
304
  protein_seq = structure_seq
305
  drug_input = request.form.get("drug_sequence", "")
306
  # Heuristically check if input is SMILES (not starting with [) and convert