Utilisation de VirSorter2

Bonjour,

J'ai noté que VirSorter2 (GitHub - jiarong/VirSorter2: customizable pipeline to identify viral sequences from (meta)genomic data) était installé sur le cluster (module virsorter/2.0).

Je l'ai testé (avec le fichier et la ligne de commande test de VirSorter2) mais le résultat sort en erreur.
Je m'interroge notamment sur la localisation des bases de données nécessaires à son fonctionnement.

Quelqu'un utilise-t-il ce logiciel ?
Quelqu'un peut-il m'aider ?

Par avance merci de votre aide.

Bonjour Denis,

Pour pouvoir vous accompagner, il faut que l'on comprenne l'erreur.
Pouvez-vous nous donner la ligne de commande utilisée ainsi que l'erreur renvoyée ?

Bonjour,

Pour tester VirSorter2 j'ai récupéré directement le module installé sur le cluster (virsorter.2.0) avec la commande "module load", suivi de la récupération des bases de données en les téléchargeant manuellement avec les commandes "tar -xzf db.tgz" puis "virsorter config --init-source --db-dir=./db" comme spécifié dans la documentation (GitHub - jiarong/VirSorter2: customizable pipeline to identify viral sequences from (meta)genomic data).

J'ai ensuite procédé à un test avec le fichier test.fa proposé dans la documentation (téléchargement du fichier test avec "wget -O test.fa https://raw.githubusercontent.com/jiarong/VirSorter2/master/test/8seq.fa") avec la commande suivante : "virsorter run -w Test.out -i test.fa -j 4 all", comme indiqué dans la documentation.

L'erreur renvoyée est renseignée dans le fichier (error.pdf) disponible au lien suivant : FileSender.
Le message d'erreur semble indiquer de multiples conflits de packages notamment avec les packages python.

Note : Étant nouvel utilisateur, je n'ai pas pu vous joindre directement à ce message le pdf contenant le message d'erreur. Le lien indiqué vous permet de le récupérer via filesender.

Par avance merci de votre aide.

Merci pour ce retour complet.

L'erreur provient de l'étape de préparation de l'environnement virsorter setup. VirSorter essaie en effet d'installer les dépendances mais celles-ci sont déjà installées (via conda). On doit donc pouvoir sauter cette étape, avec l'option -s.

  -s, --skip-deps-install  skip dependency installation (if you want to
                           install on your own as in development version)
                           [default: False]

Dans votre exemple, on aura alors la commande: virsorter setup -d db -j 4 -s

Pouvez-vous réessayer avec cette option ?

Bonjour,

Merci beaucoup pour votre retour.

J'ai effectué la commande "virsorter setup -d db -j 4 -s" puis le test avec test.fa ("virsorter run -w Test.out -i test.fa -j 4 all").

Cette commande m'a retourné l'erreur contenue dans le fichier suivant : sftp://dfilloux@core.cluster.france-bioinformatique.fr/shared/ifbstor1/home/dfilloux/work/berenice/Virsorter2.sh.15456168.

Idem. Il faut cette fois-ci indiquer l'option --use-conda-off

Ce qui nous donne qquechose comme virsorter run --use-conda-off -w Test.out -i test.fa -j 4 all

Mais je tombe alors sur une autre erreur

  File "/shared/ifbstor1/software/miniconda/envs/virsorter-2.0/lib/python3.8/site-packages/virsorter/./scripts/circular-linear-split.py", line 6, in <module>
    import screed
ModuleNotFoundError: No module named 'screed'

Avez-vous également cette erreur ?

Je n'ai rien trouvé qui me semblait pertinent sur le github du projet (GitHub - jiarong/VirSorter2: customizable pipeline to identify viral sequences from (meta)genomic data)

On va essayer avec virsorter/2.1 (en cours d'installation)

Bonjour,

En effet, j'obtiens le même type d'erreur que vous en appliquant cette commande.

J'ai réalisé quelques tests avec virsoter/2.1 en utilisant les commandes que vous m'aviez indiqué mais le même type d'erreur (No module named 'screed') m'est retournée (le rapport complet est disponible à : sftp://dfilloux@core.cluster.france-bioinformatique.fr/shared/ifbstor1/home/dfilloux/work/berenice/test_22_03/Test_test_ifb_22_03.sh.15460426).

Bonjour Denis,

Je ne suis pas sûr de la solution à apporter, j'ai donc fait une issue sur le projet VirSorter: Conda and VirSorter env requirements · Issue #54 · jiarong/VirSorter2 · GitHub

Merci.
Je crois que l'auteur a répondu à l'issue, mais je ne suis pas totalement à même de comprendre...

Sachez que si cela peut aider, j'ai demandé l'installation de VirSorter 2.1 sur le cluster de Muse (muse-login.hpc-lr.univ-montp2.fr) et cela fonctionne comme attendu. Notre administrateur est bertrand.pitollat@cirad.fr.

Je ne sais pas si vous souhaitez persister à installer correctement VirSorter2, car nous avons donc une solution de remplacement.

Cordialement.

Bonjour Denis,
Merci pour l'info. Parfait si vous n'êtes pas bloqué !
On va encore essayer 2/3 trucs pour finaliser l'installation.

Hi,

I am also having issues with running VirSorter2.

When I run the test command:
virsorter run -w test.out -i test.fa --min-length 1500 -j 4 all

I get the error:
[2022-04-13 13:42 INFO] VirSorter 2.2
[2022-04-13 13:42 INFO] /opt/conda/bin/virsorter run -w test.out -i test.fa --min-length 1500 -j 4 all
[2022-04-13 13:42 INFO] Using /shared/home/bbaker/.virsorter/template-config.yaml as config template
Traceback (most recent call last):
File "/opt/conda/bin/virsorter", line 10, in
sys.exit(cli())
File "/opt/conda/lib/python3.8/site-packages/click/core.py", line 829, in call
return self.main(*args, **kwargs)
File "/opt/conda/lib/python3.8/site-packages/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "/opt/conda/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/opt/conda/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/opt/conda/lib/python3.8/site-packages/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/opt/conda/lib/python3.8/site-packages/virsorter/virsorter.py", line 354, in run_workflow
make_config(
File "/opt/conda/lib/python3.8/site-packages/virsorter/config.py", line 151, in make_config
groups_avail = os.listdir(f'{db_dir}/group')
FileNotFoundError: [Errno 2] No such file or directory: '/shared/ifbstor1/projects/final_markers/VirSorter2/db/group'

Any help is appreciated!

Thanks in advance,
Brittany

Bonjour les admins

Je n'arrive pas à faire fonctionner virsorter moi non plus. Que ce soit avec le jeu de données test ou des données perso. Cependant les erreurs ne sont pas identiques selon les données.

Est ce que qq'un a réussi à faire fonctionner ce programme sur le cluster depuis ?

Merci
G.

virsorter run -w test.out -i test.fa --min-length 1500 -j 4 all
[2022-09-30 17:51 INFO] VirSorter 2.2
[2022-09-30 17:51 INFO] /opt/conda/bin/virsorter run -w test.out -i test.fa --min-length 1500 -j 4 all
[2022-09-30 17:51 INFO] Using /shared/home/gblanc/.virsorter/template-config.yaml as config template
[2022-09-30 17:51 INFO] conig file written to /shared/projects/phycovir/ULVE/test.out/config.yaml

[2022-09-30 17:51 INFO] Executing: snakemake --snakefile /opt/conda/lib/python3.8/site-packages/virsorter/Snakefile --directory /shared/projects/phycovir/ULVE/test.out --jobs 4 --configfile /shared/projects/phycovir/ULVE/test.out/config.yaml --latency-wait 600 --rerun-incomplete --nolock  --conda-frontend mamba --conda-prefix /shared/home/gblanc/Programs/VirsorterDB/db/conda_envs --use-conda    --quiet  all   
MissingInputException in line 4 of /opt/conda/lib/python3.8/site-packages/virsorter/rules/preprocess.smk:
Missing input files for rule circular_linear_split:
/shared/projects/phycovir/ULVE/test.fa
virsorter run -w test.out -i VIROME-ASSEMBLIES/spades.06EDM_100kd_ADN_trim_.meta.scaffolds.fa --min-length 1500 -j 4 all
[2022-09-30 17:53 INFO] VirSorter 2.2
[2022-09-30 17:53 INFO] /opt/conda/bin/virsorter run -w test.out -i VIROME-ASSEMBLIES/spades.06EDM_100kd_ADN_trim_.meta.scaffolds.fa --min-length 1500 -j 4 all
[2022-09-30 17:53 INFO] Using /shared/home/gblanc/.virsorter/template-config.yaml as config template
[2022-09-30 17:53 INFO] conig file written to /shared/projects/phycovir/ULVE/test.out/config.yaml

[2022-09-30 17:53 INFO] Executing: snakemake --snakefile /opt/conda/lib/python3.8/site-packages/virsorter/Snakefile --directory /shared/projects/phycovir/ULVE/test.out --jobs 4 --configfile /shared/projects/phycovir/ULVE/test.out/config.yaml --latency-wait 600 --rerun-incomplete --nolock  --conda-frontend mamba --conda-prefix /shared/home/gblanc/Programs/VirsorterDB/db/conda_envs --use-conda    --quiet  all   
Traceback (most recent call last):
  File "/opt/conda/lib/python3.8/site-packages/snakemake/__init__.py", line 662, in snakemake
    success = workflow.execute(
  File "/opt/conda/lib/python3.8/site-packages/snakemake/workflow.py", line 856, in execute
    dag.create_conda_envs(
  File "/opt/conda/lib/python3.8/site-packages/snakemake/dag.py", line 280, in create_conda_envs
    env.create(dryrun)
  File "/opt/conda/lib/python3.8/site-packages/snakemake/deployment/conda.py", line 247, in create
    conda = Conda(self._container_img)
  File "/opt/conda/lib/python3.8/site-packages/snakemake/deployment/conda.py", line 381, in __new__
    inst.__init__(container_img=container_img)
  File "/opt/conda/lib/python3.8/site-packages/snakemake/deployment/conda.py", line 394, in __init__
    self._check()
  File "/opt/conda/lib/python3.8/site-packages/snakemake/deployment/conda.py", line 448, in _check
    if StrictVersion(version) < StrictVersion("4.2"):
  File "/opt/conda/lib/python3.8/distutils/version.py", line 40, in __init__
    self.parse(vstring)
  File "/opt/conda/lib/python3.8/distutils/version.py", line 137, in parse
    raise ValueError("invalid version number '%s'" % vstring)
ValueError: invalid version number 'line'

Est ce que qq'un a déjà réussi à faire tourner Virsorter sur le cluster ou bien vaut-il mieux considérer que cet outil n'est pas disponible, point barre ?

Bonjour Guillaume,

Des nouvelles version de VirSorter sont sortis.
Des problèmes semblent avoir été résolu (notamment Conda and VirSorter env requirements · Issue #54 · jiarong/VirSorter2 · GitHub)

La version 2.2.4 est disponible via bioconda mais n'a pas fonctionné lors de mon test.
La version 2.2.3 est disponible via un container docker (et intègre les dépendances et la base de données).
Je vous propose donc de tester une fois la version 2.2.3 déployé.

Demande d'installation en cours:

Bonjour,

VirSorter est maintenant disponible en v2.2.3:

module load virsorter/2.2.3

C'est une version "packagé" par le développeur (container docker) avec les dépendances et la base de données.
Cela devrait résoudre les problèmes rencontrés.

Dites-nous si cela est bien le cas.

Cool merci la team

MMmmm... je crois qu'il y a toujours quelques problèmes qui subsistent.
J'ai fait divers tests qui mènent tous à une erreur à peu près identique
Par exemple:

 $ virsorter setup -d DB
[2023-06-12 13:18 INFO] VirSorter 2.2.3
[2023-06-12 13:18 INFO] /usr/local/bin/virsorter setup -d DB
[2023-06-12 13:18 INFO] Setting up VirSorter2 database; this might take ~10 mins and only needs to be done once.
[2023-06-12 13:18 INFO] Attention: can not write template-config.yaml in source directory:
/usr/local/lib/python3.9/site-packages/virsorter
makeing a copy to user home direcotry:
/shared/home/gblanc/.virsorter/template-config.yaml

[2023-06-12 13:18 INFO] Using {template} as config template
[2023-06-12 13:18 INFO] saving /shared/projects/phycovir/SONIA/PIPEL.MERGED.LION/MEGAHIT/DB as DBDIR to config file /shared/home/gblanc/.virsorter/template-config.yaml
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/snakemake/__init__.py", line 662, in snakemake
    success = workflow.execute(
  File "/usr/local/lib/python3.9/site-packages/snakemake/workflow.py", line 856, in execute
    dag.create_conda_envs(
  File "/usr/local/lib/python3.9/site-packages/snakemake/dag.py", line 280, in create_conda_envs
    env.create(dryrun)
  File "/usr/local/lib/python3.9/site-packages/snakemake/deployment/conda.py", line 247, in create
    conda = Conda(self._container_img)
  File "/usr/local/lib/python3.9/site-packages/snakemake/deployment/conda.py", line 381, in __new__
    inst.__init__(container_img=container_img)
  File "/usr/local/lib/python3.9/site-packages/snakemake/deployment/conda.py", line 394, in __init__
    self._check()
  File "/usr/local/lib/python3.9/site-packages/snakemake/deployment/conda.py", line 448, in _check
    if StrictVersion(version) < StrictVersion("4.2"):
  File "/usr/local/lib/python3.9/distutils/version.py", line 40, in __init__
    self.parse(vstring)
  File "/usr/local/lib/python3.9/distutils/version.py", line 137, in parse
    raise ValueError("invalid version number '%s'" % vstring)
ValueError: invalid version number 'line'
[2023-06-12 13:18 INFO] First attempt failed; trying the second time.
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/snakemake/__init__.py", line 662, in snakemake
    success = workflow.execute(
  File "/usr/local/lib/python3.9/site-packages/snakemake/workflow.py", line 856, in execute
    dag.create_conda_envs(
  File "/usr/local/lib/python3.9/site-packages/snakemake/dag.py", line 280, in create_conda_envs
    env.create(dryrun)
  File "/usr/local/lib/python3.9/site-packages/snakemake/deployment/conda.py", line 247, in create
    conda = Conda(self._container_img)
  File "/usr/local/lib/python3.9/site-packages/snakemake/deployment/conda.py", line 381, in __new__
    inst.__init__(container_img=container_img)
  File "/usr/local/lib/python3.9/site-packages/snakemake/deployment/conda.py", line 394, in __init__
    self._check()
  File "/usr/local/lib/python3.9/site-packages/snakemake/deployment/conda.py", line 448, in _check
    if StrictVersion(version) < StrictVersion("4.2"):
  File "/usr/local/lib/python3.9/distutils/version.py", line 40, in __init__
    self.parse(vstring)
  File "/usr/local/lib/python3.9/distutils/version.py", line 137, in parse
    raise ValueError("invalid version number '%s'" % vstring)
ValueError: invalid version number 'line'
[2023-06-12 13:18 CRITICAL] Command 'snakemake --snakefile /usr/local/lib/python3.9/site-packages/virsorter/rules/setup-retry.smk --directory /shared/projects/phycovir/SONIA/PIPEL.MERGED.LION/MEGAHIT/DB --quiet --config Skip_deps_install=False --jobs 56 --rerun-incomplete --latency-wait 600 --nolock  --use-conda --conda-prefix /shared/projects/phycovir/SONIA/PIPEL.MERGED.LION/MEGAHIT/DB/conda_envs --conda-frontend mamba ' returned non-zero exit status 1.

Malheureusement, je ne suis pas compétent pour résoudre cette erreur...

Guillaume

Bonjour Guillaume,

Pas compétent non plus. Je pense que le mieux est de faire une demande au développeur (par exemple sur son dépôt GitHub - jiarong/VirSorter2: customizable pipeline to identify viral sequences from (meta)genomic data)

D'ailleurs, ca ressemble furieusement à cette erreur: Error: ValueError: invalid version number 'UserWarning:' · Issue #163 · jiarong/VirSorter2 · GitHub

Merci. Je vais suivre la file de discussion sur cette erreur sur github alors.