← All posts · Michael Baffour Awuah

NO CODE Runs entirely in your browser

Find hidden gene families — without ever opening a terminal.

The whole profile-HMM discovery pipeline, from a folder of seed sequences to a reproducible export, driven by clicks instead of command-line flags.

No terminal, no scripts Methods paragraph written for you Free & open source · MIT
9
guided steps, seed FASTA to export
6
reading frames scanned in ORF mode
4
confidence tiers for every hit
0
command-line flags to remember
The pipeline, at a glance

Five stages, one clear path forward

Each stage hands off to the next automatically. You watch it flow — you don't stitch the tools together by hand.

Align

MAFFT aligns your seeds; trimAl cleans up shaky columns.

HMM

hmmbuild turns the alignment into a profile of the whole family.

Search

Scan public databases for distant relatives BLAST would miss.

Classify

Sort every hit into four honest confidence tiers with the reasoning shown.

Tree

Build an IQ-TREE phylogeny, then export a reproducible ZIP.

Powered by the tools you already trust — HMMER · MAFFT · trimAl · Prodigal · IQ-TREE · MEME — orchestrated behind one friendly UI.

What's inside

Everything the discovery workflow needs, click by click

The sensitivity of a profile HMM, without hand-running a single command.

Seed to profile, guided

Drop in a protein FASTA, GenBank, nucleotide FASTA, or a whole folder. The app aligns with MAFFT, trims with trimAl, and builds an HMMER3 profile — no flags to remember.

Seed self-recovery check

Before you spend CPU on big databases, the app searches your seeds back against the new HMM to confirm strong recovery — and tells you if the seed set needs curation.

Public databases, built in

Search INPHARED genomes and proteins, RefSeq viral, Swiss-Prot, GPD, GVD-AVrC, and RefSeq bacterial proteins — with resumable, provenance-tracked downloads.

Six-frame ORF or Prodigal

For nucleotide databases, choose exhaustive six-frame scanning to catch short, overlapping, or annotation-missed genes — or fast Prodigal prediction as a conventional baseline.

Confidence-tier hits

Every hit is scored on bit score, HMM coverage, reciprocal behavior, domain match, and QC flags into four tiers: high-confidence, putative, divergent, and likely false positive.

Pfam & VOGDB annotation

Discovered proteins are scanned against Pfam-A and VOGDB release 230 VFAM HMMs — 39,585 viral ortholog models — with hmmscan, the same way every time.

Synteny neighborhoods

Recovers five genes upstream and downstream of each hit and writes synteny tables, a placement report, and a GFF3 you can drop into clinker or pyGenomeViz.

IQ-TREE phylogeny

Build a tree of your hits with model selection and bootstrap support included, so you can see how discovered members relate to your seed family right in the app.

One-click synthetic demo

A demo FASTA ships with the app, so a brand-new lab member can align, build, confirm recovery, and export a ZIP — verifying the whole setup before real data enters.

Reproducible ZIP export

Step 9 packages hit tables, a presence/absence matrix, synteny GFF3, an HTML report, plus METHODS_TEXT.txt and reproducibility.json — methods and provenance written for you.

Powerful biology shouldn't require a command line

It started the same way HMM Homologue Finder did: my lab found a gene that had been hiding in plain sight. Once you've had that moment — realizing an interesting, important gene family was sitting right there, unnoticed, because nobody had gone looking for its distant relatives — you start wanting to help other scientists have it too. Profile HMMs are how you go looking. Instead of asking whether one sequence resembles another, you build a statistical model of a whole family and hunt for the divergent members a plain BLAST search quietly walks past.

The technique is beautiful. The plumbing is miserable. To actually run it, you chain together half a dozen command-line tools, each with its own conventions and flags. Align with MAFFT. Trim with trimAl. Build with hmmbuild, search with hmmsearch. If the database is nucleotide, translate it first — six frames if you're thorough, Prodigal if you're in a hurry. Parse the tblout files. Write a script to classify hits. Run IQ-TREE for a tree. And somewhere around the fourth tool, you lose track of exactly what you ran.

I built a command-line version for people who live in that world — it's called HMM Homologue Finder, and if you're comfortable at a prompt, it's for you. But here's the thing I kept bumping into: most of the brilliant biologists I know do not live on the command line. A talented bench scientist with a beautifully curated seed alignment should not need shell scripting to search it against INPHARED. The plumbing was keeping exactly the right people out.

So I built the same power a different way — as a friendly, no-code web app that runs the entire pipeline in your browser.

The HMM Discovery App is a Shiny app in Python. You open it in a browser, drop in your seeds, and click through nine guided steps: load, align, build the HMM, search databases, validate recovery, refine, review, analyze, export. You never write Python, R, or a shell command. Under the hood it's orchestrating the same trusted tools you'd have run by hand — it just remembers the flags, the versions, and the order for you. Nucleotide searches offer exhaustive six-frame ORF scanning as a first-class mode, because the genes I care about are often the ones a conventional gene caller skips. Hits land in four honest confidence tiers, with the reasoning attached, because triage is the real job.

The part I'm quietly proudest of is the export. Every run can produce a reproducible ZIP — hit tables, synteny GFF3, an HTML report, and a METHODS_TEXT.txt with the methods paragraph already written, ready to paste into a manuscript. Reproducibility isn't a feature I bolted on. It's the whole reason the thing exists.

One honest note: I build these tools with AI as my implementation partner. I'm a scientist who has gotten good at building things with AI — the biological decisions are mine, the frustration that started it is mine, and the code got written far faster than I could have managed alone. That's not a caveat I'm embarrassed by. It's just how a curious researcher turns a real annoyance into a working, reproducible tool now. And this one runs.

Getting started

Up and running in three friendly moves

Run the built-in demo first to check your setup, then point the app at your own family.

Launch & open a project

Install with conda, one docker run, or the launcher script, then open 127.0.0.1:8081. Create a project folder — everything for the run lives there.

Load seeds, align, build

Use the native file picker to point at your seed FASTA — no path typing. Run MAFFT and trimAl, build the HMM, and confirm seed self-recovery before scaling up.

Search, classify, export

Pick your databases and search, review hits by confidence tier, recover synteny, build a tree — then export the ZIP with the methods text included.

No terminal needed — really.

Every path field has a Browse-style chooser, results render right in the page, and there is a native OS file and folder picker on desktop installs. The only place you'll see a command line is the one-line install.

Prefer to live at a prompt?

The same discovery pipeline exists as a command-line sibling, HMM Homologue Finder — for HPC clusters, headless servers, and copy-pasteable Methods sections.

Meet the CLI version

Go find something hiding in plain sight.

Free, open-source, and reproducible by design. Load your seeds and let the app handle the plumbing.