Spaces:
Running
Running
File size: 7,864 Bytes
b61c416 2e88125 d14c18c 9eff8c1 db741c8 2e88125 d14c18c fdc7bcd d14c18c 658485c d14c18c 658485c 2e88125 b61c416 c3ebcce 7b64d1a 36e092b b61c416 dc54ab3 7b64d1a db741c8 b61c416 74bc027 7b64d1a 1e012c1 1bd1714 4727ea5 6e5ebdb 1bd1714 3517598 02107f0 4727ea5 d620477 972abe5 6acf4f9 f57bc74 1ef2976 d14c18c c721e0e d14c18c dc54ab3 972abe5 9508f6d 12a0dd5 9508f6d 2761d63 9508f6d bc044e2 972abe5 bc044e2 c721e0e bbff065 1bd1714 2c8859a c6d3e59 252c545 2c8859a 1ef2976 d14c18c 2c8859a 2e88125 ea91c1b 2e88125 2c8859a 2e88125 2c8859a 6e5ebdb 2e88125 6e5ebdb b61c416 1bd1714 02107f0 4727ea5 c55a531 252c545 1bd1714 4727ea5 d461ae3 1bd1714 7b64d1a 252c545 5bd7198 95e6877 5bd7198 2e88125 5bd7198 2e88125 6e5ebdb fcfbdc8 6e5ebdb db741c8 06d0d70 611f0a6 06d0d70 611f0a6 06d0d70 db741c8 |
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 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 |
import streamlit as st
import requests
import os
from gliner import GLiNER
#from auth import authenticator
tok=os.getenv("TOK")
def Target_Identification(userinput):
model = GLiNER.from_pretrained("Ihor/gliner-biomed-bi-small-v1.0")
labels = ["Protein"]
entities = model.predict_entities(text, labels, threshold=0.5)
result={}
for entity in entities:
if entity["label"] =="Protein":
return entity["text"]
def APP():
tab_map = {
0: "BIO ENGINEERING LAB @newMATTER",
1: "EXECUTED OPERATIONS @newMATTER",
}
tab_selection=st.pills(
"TABS",
options=tab_map.keys(),
format_func=lambda option:tab_map[option],
selection_mode="single"
)
def SHOWTABS():
if tab_selection == 0 :
option_map = {
0: "@OriginAI Nanobody Engineering:",
1: "@OriginAI Ops",
2: "Information"
}
selection = st.pills(
"BIOLOGICS",
options=option_map.keys(),
format_func=lambda option: option_map[option],
selection_mode="single",
)
#match selection:
if selection == 0:
st.markdown("<p style='color:white;background-color:orange;font-weight:bold'> Nanobody [CANCER targeted]</p>",unsafe_allow_html=True)
#with st.expander("info"):
#st.info("This Interface lets u specify a high level biological query (Protein Engineering Query) and execute the pipeline for the end product i.e Engineered Nanobody",icon=":material/info:")
projects=None
projectname=None
with st.form("bio",border=False):
#project_name=None
def scan_for_project_availability(user_id):
request_url=f"https://thexforce-combat-backend.hf.space/{user_id}/projects"
response=requests.get(request_url,headers={
"Content-Type":"application/json",
"Authorization":f"Bearer {tok}"
})
response_json=response.json()
projects=response_json.get("projects")
#project_details=response.json()
#if project_details.get("projectname") !=None or project_details.get("projectname") !="":
# st.session_state.projectname = project_details.get("projectname")
scan_for_project_availability(st.user.email)
if projects !=None or if projects != "":
projectname = st.session_state.get("projectname", "") # safe default
if projectname == "":
with st.expander("Set up the project before proceeding."):
projectname = st.text_input("Provide project name > ")
bio_input = st.text_area(
"Protein Engineering Query",
placeholder="Type your query here."
)
execute_button=st.form_submit_button("execute")
if execute_button:
if not projectname:
st.markdown(":orange-badge[⚠️ Set Projectname]")
else:
payload={
"uid":st.user.email ,
"pid":projectname,
"target":Target_Identification(bio_input) or None,
"high_level_bio_query":bio_input
}
response=requests.post("https://thexforce-combat-backend.hf.space/application_layer_agent",json=payload,headers={
"Content-Type":"application/json",
"Authorization":f"Bearer {tok}"
})
plan_response=response.json()
st.markdown(f"## {plan_response}")
if selection == 1:
st.markdown("<p style='color:white;background-color:orange;font-weight:bold'>Vaccine [Supported] </p>",unsafe_allow_html=True)
with st.expander("info"):
st.info("",icon=":material/info:")
st.code("coming soon")
if selection ==2:
st.markdown("<p style='color:white;background-color:orange;font-weight:bold'>Operation Details </p>",unsafe_allow_html=True)
if tab_selection == 1:
st.markdown("### ORIGINAI Bio Lab Operations")
@st.cache_data(ttl=10)
def fetch_ops():
response=requests.get(f"https://thexforce-combat-backend.hf.space/user/operations/{st.user.email}",headers={
"Content-Type":"application/json",
"Authorization":f"Bearer {tok}"
})
useroperations_json=response.json()
return useroperations_json
userops=fetch_ops()
with st.expander("operations"):
st.json(userops)
'''
response=requests.get(
f"https://thexforce-combat-backend.hf.space/{st.session_state.get('username')}/{projectname}/individual/experiment",
headers={
"Content-Type":"application/json",
"Authorization":f"Bearer {tok}"
})
ie=response.json()
st.json(ie)
'''
if st.user.is_logged_in:
if st.button("🚪 Logout"):
st.logout()
st.rerun()
#Then show the main UI
SHOWTABS()
else:
#Show login when NOT logged in
st.info("Please log in to access the Bio Lab")
if st.button("Log in"):
st.login("auth0")
st.stop()
|