Update app.py
Browse files
app.py
CHANGED
@@ -17,15 +17,22 @@ def drug_discovery(disease, symptoms):
|
|
17 |
literature = bio_gpt(prompt, max_length=200)[0]['generated_text']
|
18 |
|
19 |
# Generate SMILES using BioGPT
|
20 |
-
molecule_prompt = f"Generate a valid drug-like SMILES string for treating {disease} with symptoms {symptoms}.
|
21 |
smiles_result = bio_gpt(molecule_prompt, max_length=50)[0]['generated_text']
|
22 |
-
smiles_match = re.findall(r"[A-Za-z0-9@+\-\[\]\(\)=#$]{5,}", smiles_result)
|
23 |
-
smiles =
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
|
25 |
# Generate RDKit molecule
|
26 |
mol = Chem.MolFromSmiles(smiles)
|
27 |
if not mol:
|
28 |
-
return "Invalid SMILES generated",
|
29 |
|
30 |
AllChem.Compute2DCoords(mol)
|
31 |
|
@@ -54,7 +61,6 @@ def drug_discovery(disease, symptoms):
|
|
54 |
viewer.setStyle({"stick": {"colorscheme": "cyanCarbon"}})
|
55 |
viewer.setBackgroundColor("black")
|
56 |
viewer.zoomTo()
|
57 |
-
viewer.rotate(1)
|
58 |
viewer.spin(True)
|
59 |
viewer_html_raw = viewer._make_html()
|
60 |
|
@@ -118,3 +124,4 @@ iface = gr.Interface(
|
|
118 |
)
|
119 |
|
120 |
iface.launch(share=True)
|
|
|
|
17 |
literature = bio_gpt(prompt, max_length=200)[0]['generated_text']
|
18 |
|
19 |
# Generate SMILES using BioGPT
|
20 |
+
molecule_prompt = f"Generate a valid drug-like SMILES string for treating {disease} with symptoms {symptoms}. Only return the SMILES."
|
21 |
smiles_result = bio_gpt(molecule_prompt, max_length=50)[0]['generated_text']
|
22 |
+
smiles_match = re.findall(r"(?<![A-Za-z0-9])[A-Za-z0-9@+\-\[\]\(\)=#$]{5,}(?![A-Za-z0-9])", smiles_result)
|
23 |
+
smiles = None
|
24 |
+
for match in smiles_match:
|
25 |
+
mol_test = Chem.MolFromSmiles(match)
|
26 |
+
if mol_test:
|
27 |
+
smiles = match
|
28 |
+
break
|
29 |
+
if not smiles:
|
30 |
+
smiles = "CC(C)CC" # fallback to isopentane
|
31 |
|
32 |
# Generate RDKit molecule
|
33 |
mol = Chem.MolFromSmiles(smiles)
|
34 |
if not mol:
|
35 |
+
return "Invalid SMILES generated", smiles, "", ""
|
36 |
|
37 |
AllChem.Compute2DCoords(mol)
|
38 |
|
|
|
61 |
viewer.setStyle({"stick": {"colorscheme": "cyanCarbon"}})
|
62 |
viewer.setBackgroundColor("black")
|
63 |
viewer.zoomTo()
|
|
|
64 |
viewer.spin(True)
|
65 |
viewer_html_raw = viewer._make_html()
|
66 |
|
|
|
124 |
)
|
125 |
|
126 |
iface.launch(share=True)
|
127 |
+
|