VirSorter2

From Alliance Doc
Revision as of 20:36, 15 December 2023 by Diane27 (talk | contribs)
Jump to navigation Jump to search
Other languages:


L'outil VirSorter2 permet d’identifier les nouvelles séquences de virus.

Nous abordons ici l’installation et l’utilisation de VirSorter2 v2.2.4.

Le code source et la documentation pour VirSorter2 se trouvent sur leur page GitHub.

N’oubliez pas de citer VirSorter2 si vous l’utilisez pour vos analyses.

Installation dans un environnement virtuel Python

Les étapes ci-dessous servent à installer VirSorter2 dans votre répertoire $HOME avec nos wheels Python préconstruits. Les wheels personnalisés se trouvent dans /cvmfs/soft.computecanada.ca/custom/python/wheelhouse/. Pour installer un wheel VirSorter2 dans un Python/fr#Créer_et_utiliser_un_environnement_virtuel_Python environnement virtuel Python, nous utilisons la commande pip.

1. Chargez les modules nécessaires.

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

2. Créez et activez un environnement virtuel Python.

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

3. Installez VirSorter2 v2.2.4 dans l’environnement virtuel.

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

4. Validez l'installation.

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

5. Gelez l’environnement et les éléments requis (requirements.txt).

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

6. Téléchargez la base de données dans votre répertoire $SCRATCH en utilisant l'option --skip-deps-install pour ne pas installer conda et aussi parce que les dépendances sont déjà installées.

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

Tester VirSorter2

0. Désactivez votre environnement virtuel.

Question.png
[name@server ~]$ deactivate

1. Download the test dataset in $SCRATCH.

Question.png
[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
</div>

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

<div lang="en" dir="ltr" class="mw-content-ltr">
# Load modules dependencies
module load python/3.8 hmmer/3.3.2 prodigal/2.6.3
</div>

<div lang="en" dir="ltr" class="mw-content-ltr">
# 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
</div>

<div lang="en" dir="ltr" class="mw-content-ltr">
# Install VirSorter2 and its dependencies
pip install --no-index -r ~/virsorter-2.2.4-requirements.txt
</div>

<div lang="en" dir="ltr" class="mw-content-ltr">
# 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. Start an interactive job.

Question.png
[name@server ~]$ salloc --mem-per-cpu=2G --cpus-per-task=2 --account=<your-account>
salloc: Granted job allocation 1234567
$ bash test-virsorter.sh             # Run the submission script
$ exit                               # Terminate the allocation
salloc: Relinquishing job allocation 1234567

Upon a successful test run, you can submit a non-interactive job with your own dataset using sbatch.