Installation

System Requirements

We recommend the following minimum specifications for running a Virtool server:

  • Linux operating system
  • 32 GB RAM
  • 1 TB fast storage
  • 1 Gb network connection

Higher CPU clock speeds and core counts will allow more operations to be run in parallel.

Docker Compose

Docker Compose is the only supported method for installing Virtool 4.3.3.

  1. Install Docker and the compose plugin on your Linux host.

  2. Create a docker-compose.yml file to create a Virtool instance and MongoDB server.

    docker-compose.yml

    version: "3.1"
    services:
      mongo:
        image: mongo:3.6
        volumes:
          - mongo:/data/db
      virtool:
        image: ghcr.io/virtool/virtool:4.3.3
        environment:
          VT_DATA_PATH: "/data"
          VT_HOST: "0.0.0.0"
        ports:
          - "9950:9950"
        volumes:
          - virtool:/data
    volumes:
      mongo: null
      virtool: null
  3. Start the services with:

    docker compose -p virtool up -d

    Virtool should be available on your host machine at http://localhost:9950.

Explanation

Docker is a technology that allows software to be packaged into containers.

It has many advantages over traditional software installation methods:

  • Containers are portable and can be run on any system that supports Docker. This prevents issues that arise across different operating systems.
  • Containers include all the software and dependencies required to run the application. In Virtool’s case this simplifies installation by removing the need to install bioinformatics tools and other dependencies.
  • Upgrading the software is as simple as updating the image tag in the docker-compose.yml and running docker compose -p virtool up -d.

Volumes

External Software

The Dockerized version of Virtool no longer requires installation of required bioinformatics programs. They are included in the Virtool container image.

The included software is listed for interest only.

NameVersionPurpose
AODP2.5.0.1Motif detection
Bowtie22.3.2High-throughput read alignment
FastQCv0.11.5Calculating quality metrics for sample libraries
FLASH3.1b2Merge paired-end reads
HMMER3.1b2Motif detection
Skewer0.2.2Read trimming and quality control
SPAdesv3.8.1De novo assembly