Zhaohan-Meng commited on
Commit
8b5664f
Β·
verified Β·
1 Parent(s): 9d93b2d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -6
app.py CHANGED
@@ -25,7 +25,7 @@ import torch
25
  from torch.utils.data import DataLoader
26
 
27
  import selfies
28
- from rdkit import Chem
29
 
30
  import matplotlib
31
  matplotlib.use("Agg")
@@ -91,17 +91,28 @@ def simple_seq_from_structure(path: str) -> str:
91
  return "".join(three2one.get(res.get_resname().upper(), "X") for res in chain)
92
 
93
 
 
 
 
 
 
 
 
 
 
 
94
  def smiles_to_selfies(smiles_text: str) -> Optional[str]:
95
- """Validate and convert SMILES to SELFIES; return None if invalid."""
96
  try:
97
- mol = Chem.MolFromSmiles(smiles_text)
98
- if mol is None:
 
99
  return None
100
- return selfies.encoder(smiles_text)
101
  except Exception:
102
  return None
103
 
104
 
 
105
  def detect_protein_type(seq: str) -> str:
106
  """
107
  Heuristic for protein input:
@@ -624,7 +635,7 @@ def visualize_attention_and_ranges(
624
 
625
  # ───── Gradio callbacks ─────────────────────────────────────────
626
  ROOT = os.path.dirname(os.path.abspath(__file__))
627
- FOLDSEEK_BIN = os.path.join(ROOT, "bin", "foldseek")
628
 
629
  def extract_sequence_cb(structure_file, drug_text, protein_text):
630
  """
 
25
  from torch.utils.data import DataLoader
26
 
27
  import selfies
28
+ # from rdkit import Chem
29
 
30
  import matplotlib
31
  matplotlib.use("Agg")
 
91
  return "".join(three2one.get(res.get_resname().upper(), "X") for res in chain)
92
 
93
 
94
+ # def smiles_to_selfies(smiles_text: str) -> Optional[str]:
95
+ # """Validate and convert SMILES to SELFIES; return None if invalid."""
96
+ # try:
97
+ # mol = Chem.MolFromSmiles(smiles_text)
98
+ # if mol is None:
99
+ # return None
100
+ # return selfies.encoder(smiles_text)
101
+ # except Exception:
102
+ # return None
103
+
104
  def smiles_to_selfies(smiles_text: str) -> Optional[str]:
 
105
  try:
106
+ sf = selfies.encoder(smiles_text)
107
+ smiles_back = selfies.decoder(sf)
108
+ if not smiles_back:
109
  return None
110
+ return sf
111
  except Exception:
112
  return None
113
 
114
 
115
+
116
  def detect_protein_type(seq: str) -> str:
117
  """
118
  Heuristic for protein input:
 
635
 
636
  # ───── Gradio callbacks ─────────────────────────────────────────
637
  ROOT = os.path.dirname(os.path.abspath(__file__))
638
+ FOLDSEEK_BIN = os.path.join(ROOT, "utils", "foldseek")
639
 
640
  def extract_sequence_cb(structure_file, drug_text, protein_text):
641
  """