Skip to content

Repository files navigation

MitoPilot

Lifecycle: experimental R-CMD-check

Please see the documentation website for more details.

Overview

MitoPilot is a package for the assembly and annotation of mitochondrial genomes from genome skimming data. The core application consists of a Nextflow pipeline that is wrapped in an R package, which includes an R-Shiny graphical interface to monitor and interact with processing parameters and outputs. Currently the pipeline expects paired-end Illumina reads as the raw input and performs the following steps.

  1. Mitogenome assembly
    • fastp for quality control and adapter trimming
    • GetOrganelle (default) or MitoFinder for mitogenome assembly
    • bowtie2 for read mapping to calculate coverage and error rates.
    • NCBI BLAST against a local database of all annotated metazoan mitogenomes in GenBank, packaged in the MitoPilot container, to find the closest reference for automatic and manual curation
  2. Mitogenome annotation
    • MITOS2 for rRNA, PCG, and tRNA annotation
    • tRNAscan-SE for tRNA annotation
    • MitoFinder for rRNA and PCG annotation (optional)
    • ARWEN for tRNA annotation (optional)
    • ARAGORN for tRNA annotation (optional)
    • ORFfinder identify additional open reading frames (ORFs) (optional)
    • Custom scripts for gene boundary refinement and annotation file formatting
    • Validation to flag possible issues or known errors that would be rejected by NCBI GenBank
    • Manual curation of annotations using the integrated Shiny App
  3. Data export
    • Custom scripts to export data in a format suitable for submission to NCBI GenBank

Optionally, MitoPilot can proceed straight to annotation and curation if the user supplies mitogenome assemblies with the new_project_userAsmb() function.

Installation

MitoPilot needs R (>= 4.4.0), Java 17+, Nextflow (24.10.x - 25.10.x), and a container runtime (Docker locally, or Singularity/Apptainer on a cluster).

if (!requireNamespace("BiocManager", quietly = TRUE)) {
  install.packages("BiocManager")
}
BiocManager::install("Smithsonian/MitoPilot")

See Installation and Requirements for the full requirements, disk space, updating and version pinning, and container cache setup. Cluster-specific instructions are available for Smithsonian Hydra and NOAA SEDNA; for any other cluster see HPC cluster support.

Quick start

MitoPilot ships a small pre-filtered test dataset. Running it end to end is the recommended way to verify your installation and learn the interface before using your own data.

The Get Started tutorial walks the whole pipeline using this test project.

Want to skip straight to using MitoPilot with your own data? Head on over to Starting Your Own Project.

Taxonomic Scope

MitoPilot was initially built for fish mitogenomes, but It has since been extended with curation and validation rulesets for the groups below.

CladeCommon namecurate_targetStatus
ActinopterygiiRay-finned fishesfish_mitoTested
AnnelidaAnnelidsannelid_mitoTesting in progress
AscidiaceaSea squirtsascidiacea_mitoUntested
AsteroideaSea starsstarfish_mitoTested
AvesBirdsbird_mitoUntested
BivalviaBivalvesbivalvia_mitoUntested
BryozoaBryozoansbryozoa_mitoUntested
CopepodaCopepodscopepod_mitoTesting in progress
CrinoideaCrinoidscrinoidea_mitoUntested
CtenophoraCtenophoresctenophore_mitoTesting in progress
DemospongiaeDemospongesdemospongiae_mitoUntested
DipteraTrue fliesdiptera_mitoTested
EchinoideaSea urchinsechinoidea_mitoUntested
GastropodaGastropodsgastropoda_mitoTesting in progress
HexacoralliaHexacoralshexacoral_mitoTested
HolothuroideaSea cucumbersholothuroidea_mitoUntested
HomoscleromorphaHomoscleromorph spongeshomoscleromorpha_mitoUntested
HydrozoaHydrozoanshydrozoa_mitoTesting in progress
LepidosauriaLepidosaurslepidosaur_mitoUntested
MalacostracaMalacostracansmalacostraca_mitoTesting in progress
MammaliaMammalsmammal_mitoUntested
NemerteaRibbon wormsnemertea_mitoTesting in progress
OctocoralliaOctocoralsoctocoral_mitoTested
OphiuroideaBrittle starsophiuroidea_mitoUntested
PlatyhelminthesFlatwormsplatyhelminthes_mitoUntested
PolychaetaPolychaetespolychaeta_mitoTesting in progress
PycnogonidaSea spiderspycnogonida_mitoUntested
ScyphozoaTrue jellyfishesscyphozoa_mitoTesting in progress
SipunculaPeanut wormssipuncula_mitoUntested
TestudinesTurtlesturtle_mitoTested
ThaliaceaSalpsthaliacea_mitoTesting in progress
ThecostracaBarnaclesthecostraca_mitoUntested

See the curation ruleset browser for details about each curation ruleset. The curation ruleset can be set individually for each sample in the Curate Opts. window in the MitoPilot app.

All curation rulesets ship inside the Docker image (macguigand/MitoPilot). If MitoPilot doesn’t have a curation ruleset for your taxonomic group, please open an issue or contact Dan MacGuigan at macguigand@si.edu.

For groups other than fishes, make sure you build or pick the appropriate reference databases. There are three independent kinds of databases:

  • Assembly references for GetOrganelle or MitoFinder. MitoPilot::custom_assembly_db() builds these for a clade automatically, with no external tools required. See building custom databases.
  • Annotation references for MITOS2. MitoPilot includes Chordata and Metazoa databases, selectable in the Annotate Opts. window.
  • Curation references, chosen independently of the annotation database. Bundled options are Metazoa_RefSeq235 (the default), Metazoa_RefSeq231, Metazoa_RefSeq89, and Chordata. MitoPilot also folds each sample’s assembly BLAST results into the curation references automatically.

Documentation

Page What it covers
Get Started Full walkthrough, then starting your own project
Installation and Requirements Prerequisites, installing, updating, container cache
HPC cluster support Executors, cluster profiles, SSH tunnel, submitting runs
Curation ruleset browser What each clade ruleset enforces
Building custom databases Assembly and curation reference databases
Handling difficult assemblies Resolving competing assemblies and fragmented scaffolds
FAQ and Troubleshooting Common questions and pipeline failures
Reference All functions
Changelog Release notes and container tags

About

An R package for mitogenome assembly and annotation from genome skimming data that uses Nexflow and includes (Shiny) web app for project management and final curation of results

Topics

Resources

Stars

6 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages