Phage and virus biology · Software
Pharokka
Rapid, standardised genome annotation pipeline for bacteriophage isolates and metaviromes.
What Pharokka is
Pharokka is an automated annotation tool designed specifically for bacteriophage genomes and metagenomic contigs. Developed by George Bouras and colleagues, it addresses the need for standardised phage annotation, building upon concepts from bacterial annotation tools like Prokka and Bakta, whilst tailoring gene prediction algorithms and reference databases to phage biology.
Bacteriophages present specific challenges for bioinformatics tools due to unique gene structures, alternative genetic codes, and extensive viral dark matter. Pharokka resolves these hurdles by pairing tailored coding sequence (CDS) prediction with functional annotation across multiple databases, detecting phage-associated features such as transfer RNAs, transfer-messenger RNAs, and CRISPR repeats.
The tool generates standardized GFF, GenBank, and feature table outputs suitable for downstream pangenomic analysis pipelines (such as Roary) and compliant with submission standards for international repositories like GenBank.
How it works
Pharokka takes genome assemblies in FASTA format (or pre-curated GenBank files) and predicts CDSs using PHANOTATE by default, with alternatives including Prodigal, Pyrodigal-gv (which accommodates alternate genetic codes in metagenomic datasets), or Pyrodigal-rv for RNA phages. Optional re-orientation can align contigs to the terminase large subunit using dnaapler.
Predicted protein sequences are matched against the PHROGs, CARD (antimicrobial resistance), and VFDB (virulence factors) databases using MMseqs2. It additionally performs Hidden Markov Model searches against PHROGs using PyHMMER for enhanced sensitivity. Concurrently, tRNAscan-SE 2.0 predicts tRNAs, Aragorn identifies tmRNAs, CRT and MinCED detect CRISPR arrays, and Mash calculates sequence distance against the INPHARED reference phage database.
Key facts
- Primary paper
- Bioinformatics, 39(1), 2023, btac776
- Input formats
- FASTA, GenBank, or protein FASTA (with pharokka proteins)
- Output formats
- GFF, GBK, TBL, TSV, PNG (plots)
- Default gene predictor
- PHANOTATE
- Alternative gene predictors
- Prodigal (pyrodigal), Prodigal-gv (pyrodigal-gv), Pyrodigal-rv
- Functional databases
- PHROGs, CARD, VFDB, INPHARED
- Supported platforms
- Linux and macOS (x86_64 and ARM64 / Apple Silicon)
What you can use it for
- Bacteriophage isolate annotation
- Annotate newly sequenced single phage genomes from FASTA assemblies to identify structural proteins, replication machinery, tRNAs, and non-coding elements.
- Metavirome characterisation
- Process large multi-contig metagenomic phage assemblies using Prodigal-gv to accurately call genes across diverse or non-standard genetic codes.
- Safety profiling for phage therapy
- Screen phage candidates for undesirable genes by searching against the CARD antimicrobial resistance and VFDB virulence factor databases.
- Taxonomic matching and synteny
- Determine the closest cultured phage relatives using Mash sketches against the INPHARED database and evaluate genomic layout via circular visualisations.
Run it here
Ask the research agent and it runs Pharokka as a job on a dedicated machine, then reads the results back to you. Nothing to install, and it keeps running if you close the page.
Try asking
“Annotate this phage genome with Pharokka and summarise the functional categories.”
Strengths and limits
Good at
- Integrates bacteriophage-specific gene callers (PHANOTATE) and databases (PHROGs) rather than relying solely on bacterial annotation models.
- Combines fast MMseqs2 database matching with sensitive PyHMMER profile HMM searches for maximum functional detection.
- Accommodates alternative genetic codes in metagenomic samples through Pyrodigal-gv integration.
- Provides built-in visualisations of genome maps and PHROG functional categories via pyCirclize.
Watch out for
- Running PyHMMER or PHANOTATE across large metaviromes significantly increases computational time compared to MMseqs2-only execution.
- The --fast mode skips MMseqs2 searches, omitting functional annotations for CARD and VFDB virulence and resistance factors.
- Requires substantial external databases that must be installed and periodically updated to match software version requirements.
Questions
Can I run Pharokka online without installing it?
Ask the research agent and it runs Pharokka as a job on a dedicated machine, then reads the results back to you. Nothing to install, and it keeps running if you close the page.
What licence is Pharokka under?
MIT. The terms are published at https://github.com/gbouras13/pharokka.
What is the recommended gene predictor for metagenomic data?
Prodigal-gv (-g prodigal-gv) is recommended for metagenomic contigs because it supports alternative translation tables often found in uncultivated phages, such as genetic codes 4 and 15.
How does the --fast mode differ from default execution?
The --fast (or --hmm_only) flag restricts annotation to PyHMMER searches against PHROGs. It bypasses MMseqs2 searches, speeding up isolate annotation but skipping CARD and VFDB screens.
Can I use pre-existing gene calls instead of automated predictors?
Yes. Supplying a GenBank file with the --genbank flag preserves existing CDS calls, bypassing automated callers like PHANOTATE to re-annotate functions on manually curated genes.
How do Pharokka, Phold, and Phynteny work together?
Pharokka provides initial gene calling, non-coding RNA detection, and sequence matching; Phold uses Pharokka's GenBank output to add structural homology predictions; and Phynteny assigns PHROG functional categories to remaining hypothetical proteins using gene synteny.
How to cite it
George Bouras, Roshan Nepal, Ghais Houtak, Alkis James Psaltis, Peter-John Wormald, Sarah Vreugde, Pharokka: a fast scalable bacteriophage annotation tool, Bioinformatics, Volume 39, Issue 1, January 2023, btac776, https://doi.org/10.1093/bioinformatics/btac776
Written from Pharokka's own README and project page. Statements citing a figure that does not appear there are removed before publication. Licence and running details come from our registry.