import streamlit as st import requests import os #from auth import authenticator tok=os.getenv("TOK") def InitSession(): if "username" not in st.session_state: st.session_state.username="" if "projectname" not in st.session_state: st.session_state.projectname="" #if "loggedin" not in st.session_state: # st.session_state.loggedin=False InitSession() def APP(): col1,col2=st.columns(2) with col1: st.markdown("""
Nanobody [CANCER targeted]
",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:") with st.form("bio",border=False): uid=None project_name=None with st.expander("settings",icon=":material/settings:"): uid=st.text_input("enter username") project_name=st.text_input("enter project name ") target_antigen=st.text_input("Set up the target antigen ") if not uid or not project_name or not target_antigen: st.markdown(":orange-badge[⚠️ Set Username and Projectname and Target Antigen]") bio_input = st.text_area( "Protein Engineering Query", placeholder="Type your query here." ) execute_button=st.form_submit_button("execute") if execute_button: if uid and project_name: # Only process if fields are filled st.session_state.projectname = project_name st.session_state.username = uid payload={ "uid":uid, "pid":project_name, "high_level_bio_query":bio_input } response=requests.post("https://thexforce-combat-backend.hf.space/bio_context_language_plan",json=payload,headers={ "Content-Type":"application/json", "Authorization":f"Bearer {tok}" }) plan_response=response.json() if plan_response.get("status")=="active": st.code(f"{plan_response.get('plan')}", language="python") else: st.warning(">>>Error") else: st.error("Please fill in both username and project name before submitting") if selection == 1: st.markdown("Vaccine [Supported]
",unsafe_allow_html=True) with st.expander("info"): st.info("This Interface lets u specify a high level biological query and execute the pipeline for the end product i.e Vaccine",icon=":material/info:") st.code("coming soon") if selection ==2: st.markdown("Operation Details
",unsafe_allow_html=True) if selection==3: st.markdown("This system is running in trial phase
",unsafe_allow_html=True) with tab2: st.markdown("### newMATTER Bio Lab Operations") @st.cache_data(ttl=10) def fetch_ops(): response=requests.get(f"https://thexforce-combat-backend.hf.space/user/operations/{st.session_state.get('username')}",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) with tab3: st.markdown("### newMATTER Bio Lab Outputs") projectname=st.text_input("projectname to look the results for ") if st.button("lookup"): 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.button("Log in"): st.login("auth0") if st.user.is_logged_in: st.logout() SHOWTABS()