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 Gbps 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.4.0.
-
Install Docker on Linux.
We do not support deployment on MacOS or Windows.
-
Create a
docker-compose.yml
file to create a Virtool instance and MongoDB server.docker-compose.yml
services: mongo: image: mongo:3.6 volumes: - mongo:/data/db virtool: image: ghcr.io/virtool/virtool:v4.4.0-beta.1 command: ["python", "run.py", "--no-setup"] environment: VT_DB_CONNECTION_STRING: "mongodb://mongo:27017" VT_DB_NAME: "virtool" VT_DATA_PATH: "/data" VT_HOST: "0.0.0.0" VT_MEM: 120 VT_PROC: 30 VT_LG_MEM: 60 VT_LG_PROC: 15 VT_SM_MEM: 10 VT_SM_PROC: 5 VT_WATCH_PATH: "/watch" ports: - "9950:9950" volumes: - virtool:/data - type: bind source: /mnt/watch target: /watch volumes: mongo: null virtool: null
-
Replace
VT_MEM
andVT_PROC
with values suitable for your system. Leave CPU and RAM for your operating system. -
Set
VT_LG_PROC
,VT_LG_MEM
,VT_SM_PROC
, andVT_SM_MEM
to be factors of theVT_PROC
andVT_MEM
. These are the resources that will be reserved for small and large workflows. -
The watch_path is a location on your host system where you can drop FASTQ files and have them automatically loaded into Virtool. We show you how to setup a bind mount in this YML file.
Replace
source
with a location on your host where you’d like to drop FASTQ files.
-
-
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 thedocker-compose.yml
and runningdocker 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.
Name | Version | Purpose |
---|---|---|
AODP | 2.5.0.1 | Motif detection |
Bowtie2 | 2.3.2 | High-throughput read alignment |
FastQC | v0.11.5 | Calculating quality metrics for sample libraries |
FLASH | 3.1b2 | Merge paired-end reads |
HMMER | 3.1b2 | Motif detection |
Skewer | 0.2.2 | Read trimming and quality control |
SPAdes | v3.8.1 | De novo assembly |