VirSorter2: Difference between revisions

From Alliance Doc
Jump to navigation Jump to search
No edit summary
No edit summary
Line 16: Line 16:
|module load python/3.8 hmmer/3.3.2 prodigal/2.6.3
|module load python/3.8 hmmer/3.3.2 prodigal/2.6.3
}}
}}
2. Create and activate a Python virtual environment.
2. Create and activate a Python virtual environment.
{{Commands
{{Commands
Line 22: Line 21:
|source ~/ENV_virsorter/bin/activate
|source ~/ENV_virsorter/bin/activate
}}
}}
3. Install VirSorter2 v2.2.4 in the virtual environment.
3. Install VirSorter2 v2.2.4 in the virtual environment.
{{Commands
{{Commands
Line 29: Line 27:
|pip install --no-index virsorter{{=}}{{=}}2.2.4
|pip install --no-index virsorter{{=}}{{=}}2.2.4
}}
}}
4. Validate it.
4. Validate it.
{{Command
{{Command
Line 35: Line 32:
|virsorter -h
|virsorter -h
}}
}}
5. Freeze the environment and requirements set.
5. Freeze the environment and requirements set.
{{Command
{{Command
Line 41: Line 37:
|pip freeze > ~/virsorter-2.2.4-requirements.txt
|pip freeze > ~/virsorter-2.2.4-requirements.txt
}}
}}
6. Download the database in <code>$SCRATCH</code> with the <code>--skip-deps-install</code> option to bypass conda installation and also because dependencies are already installed.
6. Download the database in <code>$SCRATCH</code> with the <code>--skip-deps-install</code> option to bypass conda installation and also because dependencies are already installed.
{{Command
{{Command
Line 54: Line 49:
|wget -O $SCRATCH/test.fa https://raw.githubusercontent.com/jiarong/VirSorter2/master/test/8seq.fa
|wget -O $SCRATCH/test.fa https://raw.githubusercontent.com/jiarong/VirSorter2/master/test/8seq.fa
}}
}}
2. Create a submission script
2. Create a submission script
{{File
{{File
Line 80: Line 74:
# The database must already exist and you must specify its location.
# The database must already exist and you must specify its location.
virsorter run -w $SCRATCH/test.out -i $SCRATCH/test.fa --min-length 1500 -j $SLURM_CPUS_PER_TASK --verbose --use-conda-off --db-dir $SCRATCH/db all
virsorter run -w $SCRATCH/test.out -i $SCRATCH/test.fa --min-length 1500 -j $SLURM_CPUS_PER_TASK --verbose --use-conda-off --db-dir $SCRATCH/db all
}}
}}
3. Then, submit the job to the scheduler.
3. Then, submit the job to the scheduler.
{{Command
{{Command

Revision as of 19:01, 22 November 2023


This article is a draft

This is not a complete article: This is a draft, a work in progress that is intended to be published into an article, which may or may not be ready for inclusion in the main wiki. It should not necessarily be considered factual or authoritative.



Other languages:

VirSorter2 is a tool to identify new viral sequences.

This page discusses how to install and use VirSorter2 v2.2.4.

Source code and documentation for VirSorter2 can be found on their GitHub page.

Remember to cite VirSorter2 if you use it for your analyses.

Installing VirSorter2 in a Python virtual environment

These instructions install VirSorter2 in your /home directory using Alliance's prebuilt Python wheels. Custom Python wheels are stored in /cvmfs/soft.computecanada.ca/custom/python/wheelhouse/. To install a VirSorter2 wheel, we will use the pip command and install it into a Python virtual environment.

1. Load VirSorter2 dependencies.

Question.png
[name@server ~]$ module load python/3.8 hmmer/3.3.2 prodigal/2.6.3

2. Create and activate a Python virtual environment.

[name@server ~]$ virtualenv --no-download ~/ENV_virsorter
[name@server ~]$ source ~/ENV_virsorter/bin/activate

3. Install VirSorter2 v2.2.4 in the virtual environment.

(ENV_virsorter) [name@server ~] pip install --no-index --upgrade pip
(ENV_virsorter) [name@server ~] pip install --no-index virsorter==2.2.4

4. Validate it.

Question.png
(ENV_virsorter) [name@server ~] virsorter -h

5. Freeze the environment and requirements set.

Question.png
(ENV_virsorter) [name@server ~] pip freeze > ~/virsorter-2.2.4-requirements.txt

6. Download the database in $SCRATCH with the --skip-deps-install option to bypass conda installation and also because dependencies are already installed.

Question.png
(ENV_virsorter) [name@server ~] virsorter setup --db-dir $SCRATCH/db -j 4 --skip-deps-install

Testing VirSorter2

1. Download the test dataset in $SCRATCH.

Question.png
(ENV_virsorter) [name@server ~] wget -O $SCRATCH/test.fa https://raw.githubusercontent.com/jiarong/VirSorter2/master/test/8seq.fa

2. Create a submission script

File : test-virsorter.sh

#!/bin/bash

#SBATCH --time=00:30:00
#SBATCH --mem-per-cpu=2G
#SBATCH --cpus-per-task=2

# Load modules dependencies
module load python/3.8 hmmer/3.3.2 prodigal/2.6.3

# Generate your virtual environment in $SLURM_TMPDIR
virtualenv --no-download $SLURM_TMPDIR/ENV
source $SLURM_TMPDIR/ENV/bin/activate
pip install --no-index --upgrade pip

# Install VirSorter2 and its dependencies
pip install --no-index -r ~/virsorter-2.2.4-requirements.txt

# Run VirSorter2 with the test dataset, using at most $SLURM_CPUS_PER_TASK and ignore conda.
# The database must already exist and you must specify its location.
virsorter run -w $SCRATCH/test.out -i $SCRATCH/test.fa --min-length 1500 -j $SLURM_CPUS_PER_TASK --verbose --use-conda-off --db-dir $SCRATCH/db all


3. Then, submit the job to the scheduler.

Question.png
(ENV_virsorter) [name@server ~] sbatch --job-name test-virsorter2 test-virsorter.sh