GENOMICS-CDDBRG/Phylogenetic_Tree_Builder
Woloji Genomic Suite v1.0
One Hugging Face Space, five sequence analysis tools, one sidebar. Click a button on the left to switch tools. Every tool keeps its own state, so switching does not lose your last result on another tab.
Tools included:
- PhyloForge — FASTA to alignment to phylogenetic tree, with rectangular, circular, and radial layouts, plus supporting figures.
- CRISPR-Cas Detector — heuristic CRISPR array detection, ORF prediction with Pyrodigal, and Cas protein identification by BLAST.
- MGE / Plasmid Detector — Platon, IntegronFinder, and a local BLAST transposon marker scan.
- Primer Design Tool — primer3 based primer design with thermodynamic screening, ranked output, and amplicon visualization.
- GeneClean-BLAST — sequence cleaning, QC reporting, and optional remote NCBI BLAST.
Repository layout
app.py Router. Sets page config once and shows the active tool.
common.py Shared helpers (safe filenames, subprocess wrapper, zipping).
tools/
phyloforge.py
crispr_cas.py
crispr_utils.py Backend functions for the CRISPR-Cas tool.
mge_plasmid.py
primer_design.py
geneclean_blast.py
requirements.txt Python dependencies (pip).
packages.txt apt dependencies (Docker-based Space only, see below).Before you deploy: external tool dependencies
Several tools shell out to external programs. Python dependencies alone are not enough for the full feature set.
packages.txt only takes effect if the Space uses the Docker runtime for the Streamlit SDK. A plain Streamlit Space on the default runtime does not read packages.txt at all. If you need Platon, IntegronFinder, or IQ-TREE, the practical path is a custom Dockerfile that installs them through conda or from source, since they are not in standard Debian or Ubuntu apt repositories.
Neighbor-Joining and UPGMA trees in PhyloForge, and every step in Primer Design Tool and GeneClean-BLAST, run in pure Python and do not need any of this. Those work on a default Space out of the box.
Data and file locations
Each tool writes its working files under its own subfolder (workspace/, runs/, outputs/, data/) inside the app directory, so the five tools never overwrite each other's files. Hugging Face Spaces storage is ephemeral by default. Do not rely on files staying available after a Space restarts; have users download results during their session.
Reference databases you need to supply yourself
- CRISPR-Cas Detector expects an optional curated Cas protein FASTA at
data/crispr_cas/cas_reference.faa. Without it, users must upload one per run, or Cas identification is skipped. - MGE / Plasmid Detector expects a transposon/insertion-sequence marker FASTA at
db/mge_plasmid/transposon_markers.fasta. Without it, the transposon scan step reports a clear message and skips itself, the rest of the tool still runs. - Platon needs its reference database on disk, with the path given through the
PLATON_DBenvironment variable (default/opt/platon/db).
Local run
pip install -r requirements.txt
streamlit run app.py