VirSorter2
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 environnement virtuel Python, nous utilisons la commande pip
.
1. Chargez les modules nécessaires.
[name@server ~]$ module load StdEnv/2020 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.
(ENV_virsorter) [name@server ~] virsorter -h
5. Gelez l’environnement et les éléments requis (requirements.txt).
(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.
(ENV_virsorter) [name@server ~] virsorter setup --db-dir $SCRATCH/db -j 4 --skip-deps-install
Tester VirSorter2
1. Désactivez votre environnement virtuel.
[name@server ~]$ deactivate
2. Téléchargez l’ensemble de données dans votre répertoire $SCRATCH.
[name@server ~]$ wget -O $SCRATCH/test.fa https://raw.githubusercontent.com/jiarong/VirSorter2/master/test/8seq.fa
3. Créez un script pour soumettre une tâche à l’ordonnanceur.
#!/bin/bash
#SBATCH --time=00:30:00
#SBATCH --mem-per-cpu=2G
#SBATCH --cpus-per-task=2
# Load modules dependencies
module load StdEnv/2020 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. Lancez une tâche interactive.
[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
Si le test est réussi, vous pouvez utiliser la commande sbatch
pour soumettre une tâche avec votre propre ensemble de données.