|
import gradio as gr |
|
|
|
from rdkit.Chem import Draw |
|
from rdkit import Chem |
|
import selfies as sf |
|
|
|
def greet1(name): |
|
|
|
return name |
|
|
|
def greet2(name): |
|
sf_output = ['[C][=C][C][=C][C][=C][Ring1][=Branch1]', |
|
'[C][=C][C][=C][C][=C][C][=C][Ring1][=Branch1]', |
|
'[C][=C][C][=C][C][=C][Ring1][=Branch1][C][=C][C][=C]', |
|
'[C][=C][C][=C][C][=C][Ring1][=Branch1][C@H1][C][=C][C]', |
|
'[C][=C][C][=C][C][=C][Ring1][=Branch1][C@H1][=C][C][=C]'] |
|
|
|
smis = [sf.decoder(i) for i in sf_output] |
|
|
|
mols = [] |
|
for smi in smis: |
|
mol = Chem.MolFromSmiles(smi) |
|
mols.append(mol) |
|
|
|
img = Draw.MolsToGridImage( |
|
mols, |
|
molsPerRow=4, |
|
subImgSize=(200,200), |
|
legends=['' for x in mols] |
|
) |
|
|
|
return img |
|
|
|
|
|
|
|
|
|
|
|
greeter_1 = gr.Interface(greet1, inputs="text", outputs="text") |
|
greeter_2 = gr.Interface(greet2 , inputs="text", outputs="image") |
|
demo = gr.Parallel(greeter_1, greeter_2) |
|
|
|
|
|
|
|
|
|
|
|
|