smilesdrawer / app.py
simonduerr's picture
Update app.py
3c6b27e
raw
history blame
1.4 kB
import gradio as gr
def update(smiles):
x = (
"""<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<img data-smiles="OC(C(=O)O[C@H]1C[N+]2(CCCOC3=CC=CC=C3)CCC1CC2)(C1=CC=CS1)C1=CC=CS1"
data-smiles-options="{ 'width': 800, 'height': 800 }" />
<script type="text/javascript" src="https://unpkg.com/smiles-drawer@2.0.1/dist/smiles-drawer.min.js"></script>
<script>
SmiDrawer.apply();
</script>
</body>
</html>
"""
)
return f"""<iframe style="width: 800px; height: 800px" name="result" allow="midi; geolocation; microphone; camera;
display-capture; encrypted-media;" sandbox="allow-modals allow-forms
allow-scripts allow-same-origin allow-popups
allow-top-navigation-by-user-activation allow-downloads" allowfullscreen=""
allowpaymentrequest="" frameborder="0" srcdoc='{x}'></iframe>"""
with gr.Blocks() as demo:
gr.Markdown("# Smiles viewer")
with gr.Row():
inp = gr.Textbox(label="SMILES string", placeholder="CCCC")
out = gr.HTML()
btn = gr.Button("Run")
btn.click(fn=update, inputs=inp, outputs=out)
demo.launch()