Skip to content

CDCgov/MIRA

Repository files navigation

MIRA: Interactive Dashboard for Influenza Genome and SARS-CoV-2 Spike-Gene Assembly and Curation

pkgdown Docker pulls Docker image size GitHub last commit


General disclaimer This repository was created for use by CDC programs to collaborate on public health related projects in support of the CDC mission. GitHub is not hosted by the CDC, but is a third party website used by CDC and its partners to share information and collaborate on software. CDC use of GitHub does not imply an endorsement of any one particular service, product, or enterprise.



If you've previously installed MIRA and need to upgrade to the latest version, CLICK HERE


Overview

MIRA is an interactive dashboard created using Dash, a python framework written on the top of Flask, Plotly.js and React.js. The dashboard allows users to interactively create a metadata and config file for running Influenza Genome and SARS-CoV-2 Spike-Gene Assembly. Coming soon, it will allow for upload via FTP to NCBI’s databases Genbank, BioSample, and SRA, as well as GISAID.

MIRA’s dashboard relies on four Docker containers to run its genome assembly and curation:

  • IRMA (Iterative Refinement Meta-Assembler): designed for the robust assembly, variant calling, and phasing of highly variable RNA viruses. IRMA is deployed with modules for influenza, ebolavirus and coronavirus.
  • DAIS-Ribosome: compartmentalizes the translation engine developed for the CDC Influenza Division protein analytics database. The tool has been extended for use with Betacoronavirus.
  • spyne: a Snakemake workflow manager designed for running Influenza Genome and SARS-CoV-2 Spike-Gene assembly.
  • MIRA: a GUI web interface that allows users to interactively create a metadata and config file for running Influenza Genome and SARS-CoV-2 Spike-Gene assembly and curation.


Quick Start on Ubuntu OS:

Need to set up an Ubuntu OS? Follow instructions in Getting Started.

Install Docker CLI and Docker Compose:

sudo apt-get update
sudo apt-get install ca-certificates curl gnupg lsb-release
  • During installation, you will be prompted to enter 'y' or 'n' to proceed. Each time, input 'y' and click Enter
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo chmod a+r /etc/apt/keyrings/docker.gpg
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
  1. Verify successful installation
sudo docker run hello-world
  • This command downloads a test image and runs it in a container. When the container runs, it prints a confirmation message and exits.

MIRA Container Installation with Docker Compose

  • Create a folder called FLU_SC2_SEQUENCING to save your sequencing reads to. From the command line, run:
mkdir ~/FLU_SC2_SEQUENCING

cd ~/FLU_SC2_SEQUENCING
  • Download the install yml:
 curl https://raw.githubusercontent.com/CDCgov/MIRA/prod/docker-compose-git.yml | sed "s%/path/to/data%$(pwd)/%g" > docker-compose.yml
  • Run the install script:
sudo docker compose up -d
  • Click here to download tiny test data from ONT Influenza genome and SARS-CoV-2-spike - 40Mb

  • Click here for the above data set + full genomes of Influenza and SARS-CoV-2 from Illumina MiSeqs - 1Gb

  • unzip the file and find two folders:

    1. tiny_test_run_flu
    2. tiny_test_run_sc2
  • move these folders into FLU_SC2_SEQUENCING

    • if you cannot find the FLU_SC2_SEQUENCING folder in your Linux section of file explorer, look in Linux-->home-->your username
  • Open your browser and type http://localhost:8020 in the address bar.

  • Click Refresh Run Listing in MIRA, you should now see these folders listed.

  • Click Download Samplesheet.

    • This will give you an excel sheet with available barcodes populated. Add in our samplenames for ONT data (Illumina data will self identify samplenames based on fastqs)
  • Save the samplesheet and then upload it by clicking on Drag and Drop your Samplesheet or Click and Select the File

  • In the dropdown box 'What kind of data is this?', select the correct data type.

    • If SC2 full genome, also select your primers.
  • Click 'START GENOME ASSEMBLY'

  • Toggle 'Watch IRMA progress' to see IRMA's stdout stream.

  • When "IRMA is finished!" is displayed, Click "DISPLAY IRMA RESULTS"