Spaces:
Sleeping
Sleeping
File size: 1,676 Bytes
7782ac2 711f689 1ac1b9b 711f689 1ac1b9b 5570919 4bec175 5570919 1ac1b9b 711f689 1ac1b9b 711f689 1ac1b9b 711f689 4cfe680 1ac1b9b 4cfe680 711f689 7782ac2 711f689 7782ac2 1ac1b9b 4cfe680 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 |
import gradio as gr
import os
import sys
HTML_TEMPLATE = '''<!DOCTYPE html>
<html>
<head>
<style>
.mol-container {{
width: 60%;
height: 400px;
position: relative;
}}
</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>
'''
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
return HTML_TEMPLATE.format(content=content)
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()
|