drug / app.py
mohamed20003's picture
Create app.py
5b19c47 verified
import gradio as gr
from rdkit import Chem
from rdkit.Chem import AllChem, rdmolfiles
import os
def smiles_to_pdb(smiles):
mol = Chem.MolFromSmiles(smiles)
if not mol:
return "❌ SMILES غير صالح. تأكد من صحة الإدخال.", None
mol = Chem.AddHs(mol)
result = AllChem.EmbedMolecule(mol, AllChem.ETKDG())
if result != 0:
return "❌ فشل في توليد الشكل ثلاثي الأبعاد للجزيء.", None
AllChem.UFFOptimizeMolecule(mol)
pdb_filename = "drug_candidate.pdb"
writer = rdmolfiles.PDBWriter(pdb_filename)
writer.write(mol)
writer.close()
return "✅ تم توليد الملف بنجاح!", pdb_filename
title = "🧪 SMILES → PDB Generator"
description = "أدخل SMILES وسيتم توليد ملف .pdb قابل للتنزيل."
gr.Interface(
fn=smiles_to_pdb,
inputs=gr.Textbox(label="✏️ أدخل SMILES", placeholder="CC(=O)Oc1ccccc1C(=O)O"),
outputs=[
gr.Textbox(label="📢 الحالة"),
gr.File(label="⬇️ تحميل ملف PDB")
],
title=title,
description=description,
allow_flagging="never"
).launch()