Microbial Utility Toolbox And wrapper for data traNsmission and Transformation (MUTANT) is an analysis pipeline for SARS-CoV2 that reconstructs the genome of a sequenced virus based to a reference genome and then identifies how it deviates from that reference. As part of the workflow, MUTANT incorporates Pangolin, which interprets the identified variants to assign the viral strain. Furthermore, the analysis also generates a VCF file, allowing users to examine specific mutations and view a typing summary of the isolates.
- Install Java 8 or above (
java --version) - Install docker.
- Alternatively, install singularity:
- On linux:
conda install -c conda-forge singularity - On Mac/Windows follow the installation instructions here.
- See information below on using vagrant for running singularity.
- On linux:
git clone --recurse-submodules https://github.com/Clinical-Genomics/MUTANT.gitcd MUTANTsource setup.sh D_mutantsource activate D_mutant- Pull the latest image from Dockerhub or build images as described below.
- Put your changes in a branch. Make a Pull Request of said branch.
- Run the
self-test. - Fill in everything you can in the PR template.
- Ping colleague and ask them to review your PR & suggest changes.
- Integrate said changes. If the changes are only aestetic, simply mention you're done without rerunning any tests.
- Merge your changes and version bump.
- Deploy new version in production.
source activate D_mutantcd MUTANTmutant analyse sarscov2 tests/testdata/fasta_files --profiles local,docker --config_artic mutant/config/local/default_config.json --config_mutant mutant/config/local/mutant.json --config_case tests/testdata/MIC3109_artic.json- Wait for pipeline completion (~3m). Check results in
./results/
Or install MUTANT under S_mutant and run cg workflow mutant start frankhusky with results in /home/proj/stage/mutant/cases/frankhusky
MUTANTs versioning is bumped manually post PR merge, using semver standards on this variable.
Deploy new version in production:
bash mutant/standalone/deploy_hasta_update.sh production main
Containers are available on dockerhub. The containers can be built locally (not possible on hasta) using the instructions below.
- Start docker.
cd mutant/externals/gms-artic/docker build -f environments/illumina/Dockerfile -t artic-ncov2019-illumina:<version> .
The following script will push artic-ncov2019-illumina:<version> to Dockerhub.
docker login --username=<>bash mutant/standalone/push_docker_image.sh <version>
- Automatically during analysis: Set container to
clinicalgenomics/artic-ncov2019-illumina - or pull singularity image manually:
singularity pull <MUTANTDIR>/mutant/externals/gms-artic/artic-ncov2019-illumina.sif docker://clinicalgenomics/artic-ncov2019-illumina - or pull docker image manually:
docker pull clinicalgenomics/artic-ncov2019-illumina
- If needed, set up vagrant vm as below and perform
Setup. mutant toolbox create-images
- Set up the Vagrant virtual machine in an empty directory. This directory will be shared to the path
/vagrantin the vm.
export VM=sylabs/singularity-ce-3.8-ubuntu-bionic64
vagrant init $VM
vagrant up
vagrant ssh
- Install conda.
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh && bash Miniconda3-latest-Linux-x86_64.sh -b && miniconda3/bin/conda init bash && source ~/.bashrc
Basic vagrant commands:
- Configure the vm using the
Vagrantfile - Exit the vm:
ctrl + d - Destroy the vm:
vagrant destroy - Manage your boxes:
vagrant box --help