Spaces:
Sleeping
Sleeping
File size: 2,168 Bytes
7782ac2 711f689 1ac1b9b 711f689 0738cf6 1ac1b9b 5570919 0738cf6 4bec175 0738cf6 5570919 1ac1b9b 711f689 1ac1b9b 711f689 1ac1b9b 711f689 4cfe680 1ac1b9b 4cfe680 0738cf6 711f689 7782ac2 711f689 7782ac2 1ac1b9b 0738cf6 7782ac2 711f689 4cfe680 7782ac2 711f689 7782ac2 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
import gradio as gr
import os
import sys
HTML_TEMPLATE = '''<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<style>
.mol-container {{
width: 600px;
height: 600px;
position: relative;
mx-auto:0
}}
</style>
<script src="http://3Dmol.csb.pitt.edu/build/3Dmol-min.js""></script>
</head>
<body>
<h1>Result:</h1>
{content}
</body>
</html>
'''
VIS_TEMPLATE = '''
<div id="container" class="mol-container"></div>
<script>
$(function() {
let element = $('#container');
let config = { backgroundColor: 'orange' };
let viewer = $3Dmol.createViewer( element, config );
viewer.addSphere({ center: {x:0, y:0, z:0}, radius: 10.0, color: 'green' });
viewer.zoomTo();
viewer.render();
viewer.zoom(0.8, 2000);
});
</script>
'''
PARAMS = '''<iframe style="width: 100%; height: 700px" 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='{html}'></iframe>'''
def generate(input_file):
try:
path = input_file.name
except:
return HTML_TEMPLATE.format(content='Error: could not open the provided file')
content = VIS_TEMPLATE
html = HTML_TEMPLATE.format(content=content)
return PARAMS.format(html=html)
demo = gr.Blocks()
with demo:
gr.Markdown('# DiffLinker: Equivariant 3D-Conditional Diffusion Model for Molecular Linker Design')
with gr.Box():
with gr.Row():
with gr.Column():
gr.Markdown('## Input Fragments')
gr.Markdown('Upload the file with 3D-coordinates of the input fragments in .pdb, .mol or .sdf format')
input_file = gr.File(file_count='single', label='Input fragments in .pdb, .mol2 or .sdf format')
button = gr.Button('Generate Linker!')
gr.Markdown('')
visualization = gr.HTML()
button.click(
fn=generate,
inputs=[input_file],
outputs=[visualization],
)
demo.launch()
|