Erreur de module lié à l'utilisation de trinity

Bonjour,

je dois assembler des transcriptomes à l'aide de trinity et de ses dépendances : bowtie2, Jellyfish, Salmon et samtools. Dans mes scripts je charge donc les modules suivants :
python/3.9 perl/5.26.2 trinity/2.15.1 samtools/1.14 bowtie2/2.5.1 kmer-jellyfish/2.3.0 salmon/1.10.2

Le job s'arrête rapidement à la phase de normalisation des reads et j'obtiens un message d'erreur qui semble indiquer l'absence du module DB_File, que je n'ai pas trouvé. De ce que j'ai cru comprendre ce module est relié à berkeley db. Pourriez-vous m'aider à résoudre ce problème s'il vous plaît ?

Merci,

Bonne journée,

Brice Morhain

PS : Voici le message d'erreur en détail :

running normalization on reads: $VAR1 = [

      [
        '/shared/projects/polynoidae_transcriptomes/reads/SRR4841788_fastp_1.fastq.gz'
      ],
      [
        '/shared/projects/polynoidae_transcriptomes/reads/SRR4841788_fastp_2.fastq.gz'
      ]
    ];

Wednesday, February 28, 2024: 11:42:13 CMD: /shared/ifbstor1/software/miniconda/envs/trinity-2.15.1/opt/trinity-2.15.1/util/insilico_read_normalization.pl --seqType fq --JM 200G --max_cov 200 --min_cov 1 --CPU 16 --output /shared/ifbstor1/projects/polynoidae_transcriptomes/results-trinity/SRR4841788_trinity-res/insilico_read_normalization --max_CV 10000 --SS_lib_type FR --left /shared/projects/polynoidae_transcriptomes/reads/SRR4841788_fastp_1.fastq.gz --right /shared/projects/polynoidae_transcriptomes/reads/SRR4841788_fastp_2.fastq.gz --pairs_together --PARALLEL_STATS
Can't load '/shared/ifbstor1/software/miniconda/envs/perl-5.26.2/lib/site_perl/5.26.2/x86_64-linux-thread-multi/auto/DB_File/DB_File.so' for module DB_File: libdb-6.1.so: cannot open shared object file: No such file or directory at /shared/ifbstor1/software/miniconda/envs/perl-5.26.2/lib/site_perl/5.26.2/x86_64-linux-thread-multi/XSLoader.pm line 96.
at /shared/ifbstor1/software/miniconda/envs/perl-5.26.2/lib/site_perl/5.26.2/x86_64-linux-thread-multi/DB_File.pm line 257.
Compilation failed in require at /shared/ifbstor1/software/miniconda/envs/trinity-2.15.1/opt/trinity-2.15.1/util/insilico_read_normalization.pl line 19.
BEGIN failed--compilation aborted at /shared/ifbstor1/software/miniconda/envs/trinity-2.15.1/opt/trinity-2.15.1/util/insilico_read_normalization.pl line 19.
Error, cmd: /shared/ifbstor1/software/miniconda/envs/trinity-2.15.1/opt/trinity-2.15.1/util/insilico_read_normalization.pl --seqType fq --JM 200G --max_cov 200 --min_cov 1 --CPU 16 --output /shared/ifbstor1/projects/polynoidae_transcriptomes/results-trinity/SRR4841788_trinity-res/insilico_read_normalization --max_CV 10000 --SS_lib_type FR --left /shared/projects/polynoidae_transcriptomes/reads/SRR4841788_fastp_1.fastq.gz --right /shared/projects/polynoidae_transcriptomes/reads/SRR4841788_fastp_2.fastq.gz --pairs_together --PARALLEL_STATS died with ret 512 at /shared/ifbstor1/software/miniconda/envs/trinity-2.15.1/bin/Trinity line 2919.
main::process_cmd("/shared/ifbstor1/software/miniconda/envs/trinity-2.15.1/opt/t"...) called at /shared/ifbstor1/software/miniconda/envs/trinity-2.15.1/bin/Trinity line 3472
main::normalize("/shared/ifbstor1/projects/polynoidae_transcriptomes/results-t"..., 200, ARRAY(0x559f1802a578), ARRAY(0x559f1802a728)) called at /shared/ifbstor1/software/miniconda/envs/trinity-2.15.1/bin/Trinity line 3412
main::run_normalization(200, ARRAY(0x559f1802a578), ARRAY(0x559f1802a728)) called at /shared/ifbstor1/software/miniconda/envs/trinity-2.15.1/bin/Trinity line 1450

Bonjour Brice,

Le fichier existe pourtant bien:

/shared/ifbstor1/software/miniconda/envs/perl-5.26.2/lib/site_perl/5.26.2/x86_64-linux-thread-multi/auto/DB_File/DB_File.so

Je ne vois pas ce qui coince.
Pouvez-vous réessayer voir si l'erreur se reproduit ?
Pouvez-vous réessayer en chargeant le module perl en tout dernier ?

Bonjour,

merci pour cette réponse malheureusement cela ne fonctionne toujours pas, même avec perl en dernier.
Peut-être que je commets une erreur à un autre endroit. Voici le script lancant le job que j'utilise :

#!/bin/bash

#SBATCH --job-name=trinity_job
#SBATCH --partition=fast
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=16
#SBATCH --mem=200G
#SBATCH --output=trinity_%j.out
#SBATCH --error=trinity_%j.err


module load python/3.9 
module load trinity/2.15.1 
module load samtools/1.14 
module load bowtie2/2.5.1 
module load kmer-jellyfish/2.3.0
module load salmon/1.10.2
module load perl/5.26.2

Trinity --seqType fq \
        --max_memory 200G \
        --left /shared/projects/polynoidae_transcriptomes/reads/SRR4841788_fastp_1.fastq.gz \
        --right /shared/projects/polynoidae_transcriptomes/reads/SRR4841788_fastp_2.fastq.gz \
        --SS_lib_type FR \
        --CPU 16 \
        --output /shared/projects/polynoidae_transcriptomes/results-trinity/SRR4841788_trinity-res \

J'avais essayé en chargeant les modules en une seule ligne aussi mais ça ne fonctionne pas non plus.

Voici les messages d'erreur que j'obtiens (il est question d'une librairie libdb-6.1.so) :

Can't load '/shared/ifbstor1/software/miniconda/envs/perl-5.26.2/lib/site_perl/5.26.2/x86_64-linux-thread-multi/auto/DB_File/DB_File.so' for module DB_File: libdb-6.1.so: cannot open shared object file: No such file or directory at /shared/ifbstor1/software/miniconda/envs/perl-5.26.2/lib/site_perl/5.26.2/x86_64-linux-thread-multi/XSLoader.pm line 96.
 at /shared/ifbstor1/software/miniconda/envs/perl-5.26.2/lib/site_perl/5.26.2/x86_64-linux-thread-multi/DB_File.pm line 257.
Compilation failed in require at /shared/ifbstor1/software/miniconda/envs/trinity-2.15.1/opt/trinity-2.15.1/util/insilico_read_normalization.pl line 19.
BEGIN failed--compilation aborted at /shared/ifbstor1/software/miniconda/envs/trinity-2.15.1/opt/trinity-2.15.1/util/insilico_read_normalization.pl line 19.
Error, cmd: /shared/ifbstor1/software/miniconda/envs/trinity-2.15.1/opt/trinity-2.15.1/util/insilico_read_normalization.pl --seqType fq --JM 200G  --max_cov 200 --min_cov 1 --CPU 16 --output /shared/ifbstor1/projects/polynoidae_transcriptomes/results-trinity/SRR4841788_trinity-res/insilico_read_normalization --max_CV 10000  --SS_lib_type FR  --left /shared/projects/polynoidae_transcriptomes/reads/SRR4841788_fastp_1.fastq.gz --right /shared/projects/polynoidae_transcriptomes/reads/SRR4841788_fastp_2.fastq.gz --pairs_together  --PARALLEL_STATS   died with ret 512 at /shared/ifbstor1/software/miniconda/envs/trinity-2.15.1/bin/Trinity line 2919.
	main::process_cmd("/shared/ifbstor1/software/miniconda/envs/trinity-2.15.1/opt/t"...) called at /shared/ifbstor1/software/miniconda/envs/trinity-2.15.1/bin/Trinity line 3472
	main::normalize("/shared/ifbstor1/projects/polynoidae_transcriptomes/results-t"..., 200, ARRAY(0x55f43d614f80), ARRAY(0x55f43d615130)) called at /shared/ifbstor1/software/miniconda/envs/trinity-2.15.1/bin/Trinity line 3412
	main::run_normalization(200, ARRAY(0x55f43d614f80), ARRAY(0x55f43d615130)) called at /shared/ifbstor1/software/miniconda/envs/trinity-2.15.1/bin/Trinity line 1450

Et un autre message d'erreur lié à perl (qui ne doit pas arrêter le job je pense):

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
	LANGUAGE = (unset),
	LC_ALL = (unset),
	LC_ADDRESS = "fr_FR.UTF-8",
	LC_NAME = "fr_FR.UTF-8",
	LC_MONETARY = "fr_FR.UTF-8",
	LC_PAPER = "fr_FR.UTF-8",
	LC_IDENTIFICATION = "fr_FR.UTF-8",
	LC_TELEPHONE = "fr_FR.UTF-8",
	LC_MEASUREMENT = "fr_FR.UTF-8",
	LC_TIME = "fr_FR.UTF-8",
	LC_NUMERIC = "fr_FR.UTF-8",
	LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_US.UTF-8").

Merci pour votre aide,

Bonne journée,

Brice Morhain

Bonjour Brice,

Je m'interroge sur le besoin de charger toutes ces dépendances (python, samtools, perl, etc.) en plus de Trinity. Vu que vous effectuez un unique appel à Trinity dans votre script, le chargement du module trinity devrait suffire.
Si ce n'est pas le cas, c'est que nous avons vraisemblablement oublié des dépendances lors du déploiement de trinity et que nous devons corriger ce soucis.
L'empilement de différents modules me semble risqué et pourrait provoquer de nombreux conflits.

Avez-vous essayé de lancer ce traitement uniquement avec le module trinity ?

Cordialement,

Julien

Bonjour,

effectivement en ne chargeant que trinity l'assemblage semble se dérouler comme prévu. Merci pour vos réponses, désolé de vous avoir dérangé. J'assemble des transcriptomes sur l'IFB core cluster pour la première fois et je pensais devoir charger toutes les dépendances comme demandé sur d'autres clusters.

Merci encore,

Bonne journée,

Brice

Bonjour @bmorhain

Accepteriez-vous de rendre notre échange publique ? Cela pourrait intéresser d'autres utilisateurs.

Bonjour,

pas de soucis pour rendre notre échange public. Cependant j'ai toujours un problème qui n'intervient qu'en toute fin de processus, après la phase 2 d'assemblage des cluster de reads. Voici le message d'erreur que je recois :

Error encountered::  <!----
CMD: /shared/ifbstor1/software/miniconda/envs/trinity-2.15.1/opt/trinity-2.15.1/util/support_scripts/salmon_runner.pl Trinity.tmp.fasta /shared/ifbstor1/projects/polynoidae_transcriptomes/results-trinity/SRR4841788_trinity-res/both.fa 16 2>tmp.2240685.1709352207.stderr

Errmsg:
CMD: salmon --no-version-check index -t Trinity.tmp.fasta -i Trinity.tmp.fasta.salmon.idx -k 25 -p 16  > _salmon.3256263.stderr 2>&1
CMD: salmon --no-version-check quant -i Trinity.tmp.fasta.salmon.idx -l U -r /shared/ifbstor1/projects/polynoidae_transcriptomes/results-trinity/SRR4841788_trinity-res/both.fa -o salmon_outdir -p 16 --minAssignedFrags 1 --validateMappings > _salmon.3256263.stderr 2>&1
Error, cmd: salmon --no-version-check quant -i Trinity.tmp.fasta.salmon.idx -l U -r /shared/ifbstor1/projects/polynoidae_transcriptomes/results-trinity/SRR4841788_trinity-res/both.fa -o salmon_outdir -p 16 --minAssignedFrags 1 --validateMappings > _salmon.3256263.stderr 2>&1 failed with msg: Exception : [unrecognised option '--minAssignedFrags']. Exiting.
 Error, cmd:
salmon --no-version-check quant -i Trinity.tmp.fasta.salmon.idx -l U -r /shared/ifbstor1/projects/polynoidae_transcriptomes/results-trinity/SRR4841788_trinity-res/both.fa -o salmon_outdir -p 16 --minAssignedFrags 1 --validateMappings > _salmon.3256263.stderr 2>&1
 died with ret (256) at /shared/ifbstor1/software/miniconda/envs/trinity-2.15.1/opt/trinity-2.15.1/util/support_scripts/../../PerlLib/Process_cmd.pm line 19.
	Process_cmd::process_cmd("salmon --no-version-check quant -i Trinity.tmp.fasta.salmon.i"...) called at /shared/ifbstor1/software/miniconda/envs/trinity-2.15.1/opt/trinity-2.15.1/util/support_scripts/salmon_runner.pl line 41
	eval {...} called at /shared/ifbstor1/software/miniconda/envs/trinity-2.15.1/opt/trinity-2.15.1/util/support_scripts/salmon_runner.pl line 40
	main::run_cmd_capture_stderr("salmon --no-version-check quant -i Trinity.tmp.fasta.salmon.i"..., "_salmon.3256263.stderr") called at /shared/ifbstor1/software/miniconda/envs/trinity-2.15.1/opt/trinity-2.15.1/util/support_scripts/salmon_runner.pl line 28

--->

Error, cmd: /shared/ifbstor1/software/miniconda/envs/trinity-2.15.1/opt/trinity-2.15.1/util/support_scripts/salmon_runner.pl Trinity.tmp.fasta /shared/ifbstor1/projects/polynoidae_transcriptomes/results-trinity/SRR4841788_trinity-res/both.fa 16 2>tmp.2240685.1709352207.stderr died with ret 65280  at /shared/ifbstor1/software/miniconda/envs/trinity-2.15.1/opt/trinity-2.15.1/PerlLib/Pipeliner.pm line 187.
	Pipeliner::run(Pipeliner=HASH(0x5596fea1e550)) called at /shared/ifbstor1/software/miniconda/envs/trinity-2.15.1/bin/Trinity line 4216
	main::salmon_expr_filtering("Trinity.tmp.fasta", "/shared/ifbstor1/projects/polynoidae_transcriptomes/results-t"..., "/shared/projects/polynoidae_transcriptomes/results-trinity/SR"...) called at /shared/ifbstor1/software/miniconda/envs/trinity-2.15.1/bin/Trinity line 1517

Pouvez-vous m'aider ?

Merci,

Bonne journée,

Brice

Bonjour Brice,

J'ai rendu la discussion publique (merci).

Je pense que l'erreur vient de la saturation de votre home directory.
Vous avez dépassé la limite sur le nombre de fichiers (139626 fichiers stocké pour une limite de 100000). Ce qui cause ou peut causer pas mal de soucis.
Pour visualiser: lfs quota -h -p 163075 /shared/home/bmorhain

Disk quotas for prj 163075 (pid 163075):
     Filesystem    used   quota   limit   grace   files   quota   limit   grace
/shared/home/bmorhain
                 1.925G    100G    150G       -  139626* 100000  150000    none

Vous devez faire du ménage (je pense au milliers de fichiers .xml et .out) ou les déplacer dans votre dossier projet.
Les dossiers home ne doivent pas être utilisés pour stocker des données de traitement, ce sont les dossiers projets qui doivent être utilisés.

Bonjour,

je rencontre toujours le problème avec trinity et salmon. Je ne suis pas sur le compte bmorhain mais bricemorhain et j'utilise le projet polynoidae_transcriptomes pour stocker les résultats et pour lancer les jobs. Voici le message d'erreur que je reçois :

Error encountered::  <!----
CMD: /shared/ifbstor1/software/miniconda/envs/trinity-2.15.1/opt/trinity-2.15.1/util/support_scripts/salmon_runner.pl Trinity.tmp.fasta /shared/ifbstor1/projects/polynoidae_transcriptomes/results-trinity/Brajas_trinity-res/both.fa 16 2>tmp.3207472.1710897875.stderr

Errmsg:
CMD: salmon --no-version-check index -t Trinity.tmp.fasta -i Trinity.tmp.fasta.salmon.idx -k 25 -p 16  > _salmon.3776856.stderr 2>&1
CMD: salmon --no-version-check quant -i Trinity.tmp.fasta.salmon.idx -l U -r /shared/ifbstor1/projects/polynoidae_transcriptomes/results-trinity/Brajas_trinity-res/both.fa -o salmon_outdir -p 16 --minAssignedFrags 1 --validateMappings > _salmon.3776856.stderr 2>&1
Error, cmd: salmon --no-version-check quant -i Trinity.tmp.fasta.salmon.idx -l U -r /shared/ifbstor1/projects/polynoidae_transcriptomes/results-trinity/Brajas_trinity-res/both.fa -o salmon_outdir -p 16 --minAssignedFrags 1 --validateMappings > _salmon.3776856.stderr 2>&1 failed with msg: Exception : [unrecognised option '--minAssignedFrags']. Exiting.
 Error, cmd:
salmon --no-version-check quant -i Trinity.tmp.fasta.salmon.idx -l U -r /shared/ifbstor1/projects/polynoidae_transcriptomes/results-trinity/Brajas_trinity-res/both.fa -o salmon_outdir -p 16 --minAssignedFrags 1 --validateMappings > _salmon.3776856.stderr 2>&1
 died with ret (256) at /shared/ifbstor1/software/miniconda/envs/trinity-2.15.1/opt/trinity-2.15.1/util/support_scripts/../../PerlLib/Process_cmd.pm line 19.
	Process_cmd::process_cmd("salmon --no-version-check quant -i Trinity.tmp.fasta.salmon.i"...) called at /shared/ifbstor1/software/miniconda/envs/trinity-2.15.1/opt/trinity-2.15.1/util/support_scripts/salmon_runner.pl line 41
	eval {...} called at /shared/ifbstor1/software/miniconda/envs/trinity-2.15.1/opt/trinity-2.15.1/util/support_scripts/salmon_runner.pl line 40
	main::run_cmd_capture_stderr("salmon --no-version-check quant -i Trinity.tmp.fasta.salmon.i"..., "_salmon.3776856.stderr") called at /shared/ifbstor1/software/miniconda/envs/trinity-2.15.1/opt/trinity-2.15.1/util/support_scripts/salmon_runner.pl line 28

--->

Error, cmd: /shared/ifbstor1/software/miniconda/envs/trinity-2.15.1/opt/trinity-2.15.1/util/support_scripts/salmon_runner.pl Trinity.tmp.fasta /shared/ifbstor1/projects/polynoidae_transcriptomes/results-trinity/Brajas_trinity-res/both.fa 16 2>tmp.3207472.1710897875.stderr died with ret 65280  at /shared/ifbstor1/software/miniconda/envs/trinity-2.15.1/opt/trinity-2.15.1/PerlLib/Pipeliner.pm line 187.
	Pipeliner::run(Pipeliner=HASH(0x55a3b2336780)) called at /shared/ifbstor1/software/miniconda/envs/trinity-2.15.1/bin/Trinity line 4216
	main::salmon_expr_filtering("Trinity.tmp.fasta", "/shared/ifbstor1/projects/polynoidae_transcriptomes/results-t"..., "/shared/projects/polynoidae_transcriptomes/results-trinity/Br"...) called at /shared/ifbstor1/software/miniconda/envs/trinity-2.15.1/bin/Trinity line 1517

Merci,

Bonne journée,

Brice

Bonjour,

Il est indiqué:

Exception : [unrecognised option '--minAssignedFrags']. Exiting.

La version de salmon embarqué avec trinity via conda est p'têtre trop ancienne.

Vous pouvez p'têtre essayer en chargeant une version plus récente:

module load trinity/2.15.1
module load salmon/1.5.2  # ou plus récent

Sinon, peut-être essayer en téléchargeant et utilisant un image singularity de trinity (Index of /Trinity/TRINITY_SINGULARITY)

Dites-nous ce qu'il en est.