GENOMICS-CDDBRG/Phylogenetic_Tree_Builder
0
1"""2Woloji Genomic Suite v1.03A single Streamlit deployment that bundles five sequence analysis tools behind4one sidebar. Each tool keeps its own logic in tools/<name>.py and exposes a5render() function. This file only handles page configuration and navigation.6"""7 8import streamlit as st9 10st.set_page_config(11 page_title="Woloji Genomic Suite v1.0",12 page_icon=":dna:",13 layout="wide",14 initial_sidebar_state="expanded",15)16 17import phyloforge18import crispr_cas19import mge_plasmid20import primer_design21import geneclean_blast22 23TOOLS = {24 "PhyloForge (phylogenetic trees)": phyloforge,25 "CRISPR-Cas Detector": crispr_cas,26 "MGE / Plasmid Detector": mge_plasmid,27 "Primer Design Tool": primer_design,28 "GeneClean-BLAST": geneclean_blast,29}30 31if "active_tool" not in st.session_state:32 st.session_state["active_tool"] = list(TOOLS.keys())[0]33 34with st.sidebar:35 st.title("Woloji Genomic Suite v1.0")36 st.caption("Sequence analysis tools for the lab, in one place.")37 st.markdown("---")38 for name in TOOLS:39 is_active = st.session_state["active_tool"] == name40 if st.button(41 name,42 use_container_width=True,43 type="primary" if is_active else "secondary",44 key=f"nav_{name}",45 ):46 st.session_state["active_tool"] = name47 st.markdown("---")48 st.caption(49 "Some tools call external programs (MAFFT, IQ-TREE, BLAST+, Platon, "50 "IntegronFinder). If a step reports the tool as missing, it needs to be "51 "installed in this Space's runtime."52 )53 54TOOLS[st.session_state["active_tool"]].render()