CoolFace
Apppublic

GENOMICS-CDDBRG/Phylogenetic_Tree_Builder

sourceHugging Faceupdated 1mo agoView on Hugging Face
0likes
App README

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:

  1. 1.PhyloForge — FASTA to alignment to phylogenetic tree, with rectangular, circular, and radial layouts, plus supporting figures.
  2. 2.CRISPR-Cas Detector — heuristic CRISPR array detection, ORF prediction with Pyrodigal, and Cas protein identification by BLAST.
  3. 3.MGE / Plasmid Detector — Platon, IntegronFinder, and a local BLAST transposon marker scan.
  4. 4.Primer Design Tool — primer3 based primer design with thermodynamic screening, ranked output, and amplicon visualization.
  5. 5.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.

ToolExternal programCovered by packages.txt
PhyloForgeMAFFT, MUSCLE, Clustal Omega, FastTreeYes
PhyloForgeIQ-TREENo, not a standard apt package
CRISPR-Cas DetectorBLAST+ (blastp, makeblastdb)Yes
MGE / Plasmid DetectorBLAST+ (blastn, makeblastdb)Yes
MGE / Plasmid DetectorPlatonNo, needs a bioconda environment or custom build, plus a downloaded database set via the PLATON_DB environment variable
MGE / Plasmid DetectorIntegronFinderNo, needs a bioconda environment or custom build

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_DB environment variable (default /opt/platon/db).

Local run

bash
pip install -r requirements.txt
streamlit run app.py