The test suite
All of the artic
tests are run as part of the Travis Continuous Integration testing. To run any of the tests yourself, it is assumed that you have downloaded the codebase and are using an appropiate environment:
git clone https://github.com/artic-network/fieldbioinformatics
cd fieldbioinformatics
conda env create -f environment.yml
conda activate artic
Unit tests
We have begun writing unit tests for the ARTIC Python modules. These currently includes tests for the align_trim
module, which performs amplicon soft clipping and alignment filtering, and vcftagprimersites
which processes the ARTIC primer scheme. To run all available unit tests:
pytest -s artic/*_unit_test.py
Pipeline tests
To test the core pipeline, you can use the test-runner.sh
bash script. You can test both the medaka and nanopolish workflows:
./test-runner.sh medaka
./test-runner.sh nanopolish
The pipeline tests use a small subset of an Ebola virus amplicon sequencing run (flongle) which is downloaded from here when the test is called.
Variant validation tests
Finally, we have also included some validation tests that will download several reference SARS-CoV-2 datasets, run the nanopolish/medaka workflows and then validate the reported variants and consensus sequences. To run all of the available validation datasets:
pytest -s artic/minion_validator.py
Or you can specify which workflow and how many datasets to validate against:
pytest -s artic/minion_validator.py --workFlow medaka --numValidations 2
use --workFlows to specify workflow (medaka|nanopolish)
use --numValidations to specify how many datasets to download and validate against (specifing -1 or too high a number will just run all the datasets)