File size: 2,036 Bytes
c5f2040 ecdea35 c5f2040 ecdea35 c5f2040 ecdea35 c5f2040 ecdea35 |
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 |
import streamlit as st
import pandas as pd
import rdkit
import streamlit_ketcher
from streamlit_ketcher import st_ketcher
import run
# Page setup
st.set_page_config(page_title="DeepDAP", page_icon="🔋", layout="wide")
st.title("🔋DeepDAP")
# Connect to the Google Sheet
url1= r"https://docs.google.com/spreadsheets/d/1AKkZS04VF3osFT36aNHIb4iUbV8D1uNfsldcpHXogj0/gviz/tq?tqx=out:csv&sheet=dap"
df1 = pd.read_csv(url1, dtype=str, encoding='utf-8')
col1, col2 = st.columns(2)
with col1:
text_search = st.text_input("🔍Search papers or molecules", value="")
m1 = df1["Donor_Name"].str.contains(text_search)
m2 = df1["reference"].str.contains(text_search)
m3 = df1["Acceptor_Name"].str.contains(text_search)
df_search = df1[m1 | m2|m3]
with col2:
st.link_button("📝Database", r"https://docs.google.com/spreadsheets/d/1AKkZS04VF3osFT36aNHIb4iUbV8D1uNfsldcpHXogj0")
st.caption('🎉If you want to update the database, click the button.')
if text_search:
st.write(df_search)
st.download_button( "⬇️Download edited files as .csv", df_search.to_csv(), "df_search.csv", use_container_width=True)
edited_df = st.data_editor(df1, num_rows="dynamic")
st.download_button(
"⬇️ Download edited files as .csv", edited_df.to_csv(), "edited_df.csv", use_container_width=True
)
option = st.selectbox(
"How would you like to be contacted?",
("Donor", "Acceptor"), placeholder="Select the type of active layer..."
)
if option == 'Acceptor':
molecule = st.text_input("👨🔬Acceptor Molecule" )
acceptor= st_ketcher(molecule )
st.markdown(f"🏆New SMILES of edited acceptor molecules: {acceptor}")
donor= st.text_input("📋 Donor Molecule")
if option =='Donor':
do= st.text_input("👨🔬Donor Molecule" )
donor = st_ketcher(do)
st.markdown(f"🏆New SMILES of edited donor molecules: {donor}")
acceptor = st.text_input("📋 Acceptor Molecule")
try:
pce = run.smiles_aas_test( str(acceptor ), str(donor) )
st.markdown(f"⚡PCE: ``{pce}``")
except:
st.markdown(f"⚡PCE: None ")
|