VirusDetect is a software for analyzing large-scale sRNA datasets for virus identification. The program performs reference-guided assembly by aligning sRNA reads to the known virus reference database (GenBank gbvrl) as well as de novo assembly using Velvet with automated parameter optimization. The assembled contigs are compared to the reference virus sequences for virus identification. The contigs were treated as undetermined contigs if they are not hit to any known viruses. The siRNA profile of these undetermined contigs are provided as guidance to discovery novel viruses which do not show sequence similarity with known viruses.
Developers state that the software is free to use and open source, do not provide a specific license.
- Puhti: 1.7
- Chipster graphical user interface
To use VirusDetect in Puhti you first need to load biokit and virusdetect modules.
module load biokit module load virusdetect
virus_detect.pl. For example:
virus_detect.pl --reference vrl_plant reads.fastq
The actual cleaning command could look like:
bowtie -v 1 -k 1 --un cleaned_reads.fastq -f -q /appl/data/bio/biodb/production/silva/Silva_rRNA_database reads.fastq sRNA_rRNA_match
If possible, it is recommended that you use --host_reference option
to filter out the sRNA originating from the host organism. This
filtering is done by running a BWA mapping against the genome of the
host organism. CSC is not maintaining BWA indexes in Puhti environment,
but you can use
chipster_genomes to retrieve bwa indexes used by the
For example for Triticum aestivum the required BWA indexes can be created with commands:
ensemblfetch.sh triticum_aestivum mv Triticum_aestivum.IWGSC.dna.toplevel.fa triticum_aestivum.fa bwa index -p triticum_aestivum triticum_aestivum.fa
Once you have the BWA index fo the host genome available, you can launch the VirusDetect job with command:
virus_detect.pl --reference vrl_plant --host_reference triticum_aestivum.fa cleaned_reads.fastq
VirusDetect is mainly used for detecting plant viruses (vrl_plant), but you can use it for other viruses too. The
--reference option defines the
reference virus sequence dataset to be used. The available reference datasets are:
vrl_algae vrl_bacteria vrl_fungus vrl_invertebrates vrl_plants vrl_vertebrates
Both the Virus Detect and BWA indexing task require often significant computing capacity. Because of that, you should use batch jobs for running Virus Detect jobs. Below is a sample batch job file for running Virus Detect with 8 computing cores and 8 GB of memory. The maximum running time in the job below is set to 10 hours.
#!/bin/bash -l #SBATCH --job-name=VirusDetect #SBATCH --output=output_%j.txt #SBATCH --error=errors_%j.txt #SBATCH --account=your_project_name #SBATCH --time=10:00:00 #SBATCH --ntasks=1 #SBATCH --nodes=1 #SBATCH --cpus-per-task=8 #SBATCH --partition=small #SBATCH --mem=8000 # module load biokit module load virusdetect virus_detect.pl --thread_num 8 --reference vrl_plants --host_reference triticum_aestivum.fa reads_123.fastq
The batch job file above can be submitted to the batch job system with command:
VirusDetect wites the analysys results to a new directory, named after the query dataset: result_queryfile. VirusDetect produces a large number of result files. The most essential files are:
- blastn.html Table listing reference viruses that have corresponding virus contigs identified by BLASTN.
- blastx.html Table listing reference viruses that have corresponding virus contigs identified by BLASTX.
- query.blastn.xls Table of BLASTN matches to the reference virus database.
- query.blastx.xls Table of BLASTX matches to the reference virus database.
- undetermined.html Table listing the length, siRNA size distribution and 21-22nt percentage of undetermined contigs. Potential virus contigs (21-22 nt > 50%) are indicated in green.
- undetermined_blast.html Table listing contigs having hits in the virus reference database but not assigned to any reference viruses because they did not meet the coverage or depth criteria.
As many of the output files are in html format, it may be difficult to study them in Puhti. One option to study the results is to move them to a public bucket in Allas. For example (replace projnum with your own project number):
module load allas allas-conf rclone copy -P results_cleaned_reads.fastq allas:virusdetect_projnum/results_cleaned_reads.fastq/ a-publish -b virusdetect_projnum -index dynamic