Spaces:
Sleeping
Sleeping
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> | |
<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> | |
</body> | |
</html> | |
''' | |
def generate(input_file): | |
try: | |
path = input_file.name | |
except: | |
return 'Error: could not open the provided file' | |
return HTML_TEMPLATE | |
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() | |