Spaces:
Running
Running
Zhaohan Meng
commited on
Update app.py
Browse files
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 |
-
|
|
|
|
|
|
|
|
|
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
|