Spaces:
Sleeping
Sleeping
import streamlit as st | |
import pandas as pd | |
import tempfile | |
from openbabel import pybel | |
from st_table_select_cell import st_table_select_cell | |
st.header("Openbabel test") | |
st.write("Select a molecul to visualize:") | |
# Open data in sdf format: | |
molecules = pybel.readfile("sdf","demo.sdf") | |
# Convert to a list of molecules: | |
moleculeList = [] | |
for item in molecules: | |
moleculeList.append(item) | |
# Prepare a dataframe: | |
data = pd.DataFrame({'Molecules':["molecule "+str(i) for i in range(len(moleculeList))]}) | |
col1, col2 = st.columns(2) | |
with col1: | |
# Show table and get user selected cell: | |
selectedCell = st_table_select_cell(data) | |
if selectedCell != False: | |
# Visualize a molecule using a temporary file: | |
file = tempfile.NamedTemporaryFile(suffix = ".png", delete = True) | |
st.write(str("temporary file name is " + file.name)) | |
moleculeList[int(selectedCell["rowId"])].draw(show = False, filename = file.name) | |
st.image(file.name, caption="Visualization") | |
with col2: | |
st.write("Select a subgraph:") | |
st.write("To be done.") | |