Erreur execution commande Roary

Bonjour @team.ifbcorecluster ,

j'aimerai utiliser roary pour travailler sur le pan génomes de mes souches mais quand j’exécute la commande de base
srun roary -p 10 -f /shared/projects/mbovis_diversity/Assembly_ONT/roary/. -t 4 -v strain.gff strain2.gff
il commence à tourner puis met un message d'erreur dans l'environnement miniconda ....

Combine proteins into a single file
Iteratively run cd-hit
Parallel all against all blast
Cluster with MCL
2021/06/07 11:29:58 Running command: pan_genome_post_analysis -o clustered_proteins -p pan_genome.fa -s gene_presence_absence.csv -c _clustered.clstr  -i /shared/ifbstor1/projects/mbovis_diversity/Assembly_ONT/roary/._1623058158/_BUzx7rSA7//_gff_files -f /shared/ifbstor1/projects/mbovis_diversity/Assembly_ONT/roary/._1623058158/_BUzx7rSA7//_fasta_files -t 4  --dont_create_rplots   -v   -j Local --processors 10 --group_limit 50000 -cd 99
Use of uninitialized value in require at /shared/ifbstor1/software/miniconda/envs/roary-3.12.0/lib/perl5/site_perl/5.22.0/Bio/Roary/CommandLine/RoaryPostAnalysis.pm line 10.
Can't locate File/Find/Rule.pm in @INC (you may need to install the File::Find::Rule module) (@INC contains:  /shared/ifbstor1/projects/mbovis_diversity/Assembly_ONT/roary/._1623058158/lib /shared/ifbstor1/software/miniconda/envs/roary-3.12.0/lib/perl5/site_perl/5.22.0/x86_64-linux-thread-multi /shared/ifbstor1/software/miniconda/envs/roary-3.12.0/lib/perl5/site_perl/5.22.0 /shared/ifbstor1/software/miniconda/envs/roary-3.12.0/lib/perl5/5.22.0/x86_64-linux-thread-multi /shared/ifbstor1/software/miniconda/envs/roary-3.12.0/lib/perl5/5.22.0 .) at /shared/ifbstor1/software/miniconda/envs/roary-3.12.0/lib/perl5/site_perl/5.22.0/Bio/Roary/CommandLine/RoaryPostAnalysis.pm line 10.
BEGIN failed--compilation aborted at /shared/ifbstor1/software/miniconda/envs/roary-3.12.0/lib/perl5/site_perl/5.22.0/Bio/Roary/CommandLine/RoaryPostAnalysis.pm line 10.
Compilation failed in require at /shared/ifbstor1/software/miniconda/envs/roary-3.12.0/bin/pan_genome_post_analysis line 12.
BEGIN failed--compilation aborted at /shared/ifbstor1/software/miniconda/envs/roary-3.12.0/bin/pan_genome_post_analysis line 12.

pourriez vous m'aider ?
merci pour votre retour !
:smiley:

Chloé

Bonjour,

c'est possible d'avoir le resultat de la commande dans votre environnement :

perl -V

svp

Peut-etre juste re-essayer aprés ce bugfix en cours d'installation:

lorsque je fais perl -V j'ai ceci :

Summary of my perl5 (revision 5 version 16 subversion 3) configuration:

  Platform:
    osname=linux, osvers=3.10.0-957.1.3.el7.x86_64, archname=x86_64-linux-thread-multi
    uname='linux x86-02.bsys.centos.org 3.10.0-957.1.3.el7.x86_64 #1 smp thu nov 29 14:49:43 utc 2018 x86_64 x86_64 x86_64 gnulinux '
    config_args='-des -Doptimize=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic -Dccdlflags=-Wl,--enable-new-dtags -Dlddlflags=-shared -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic -Wl,-z,relro  -DDEBUGGING=-g -Dversion=5.16.3 -Dmyhostname=localhost -Dperladmin=root@localhost -Dcc=gcc -Dcf_by=Red Hat, Inc. -Dprefix=/usr -Dvendorprefix=/usr -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl5 -Dsitearch=/usr/local/lib64/perl5 -Dprivlib=/usr/share/perl5 -Dvendorlib=/usr/share/perl5/vendor_perl -Darchlib=/usr/lib64/perl5 -Dvendorarch=/usr/lib64/perl5/vendor_perl -Darchname=x86_64-linux-thread-multi -Dlibpth=/usr/local/lib64 /lib64 /usr/lib64 -Duseshrplib -Dusethreads -Duseithreads -Dusedtrace=/usr/bin/dtrace -Duselargefiles -Dd_semctl_semun -Di_db -Ui_ndbm -Di_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Duseperlio -Dinstallusrbinperl=n -Ubincompat5005 -Uversiononly -Dpager=/usr/bin/less -isr -Dd_gethostent_r_proto -Ud_endhostent_r_proto -Ud_sethostent_r_proto -Ud_endprotoent_r_proto -Ud_setprotoent_r_proto -Ud_endservent_r_proto -Ud_setservent_r_proto -Dscriptdir=/usr/bin -Dusesitecustomize'
    hint=recommended, useposix=true, d_sigaction=define
    useithreads=define, usemultiplicity=define
    useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
    use64bitint=define, use64bitall=define, uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic',
    cppflags='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
    ccversion='', gccversion='4.8.5 20150623 (Red Hat 4.8.5-44)', gccosandvers=''
    intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
    ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='gcc', ldflags =' -fstack-protector'
    libpth=/usr/local/lib64 /lib64 /usr/lib64
    libs=-lresolv -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc -lgdbm_compat
    perllibs=-lresolv -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
    libc=, so=so, useshrplib=true, libperl=libperl.so
    gnulibc_version='2.17'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,--enable-new-dtags -Wl,-rpath,/usr/lib64/perl5/CORE'
    cccdlflags='-fPIC', lddlflags='-shared -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -Wl,-z,relro '


Characteristics of this binary (from libperl):
  Compile-time options: HAS_TIMES MULTIPLICITY PERLIO_LAYERS
                        PERL_DONT_CREATE_GVSV PERL_IMPLICIT_CONTEXT
                        PERL_MALLOC_WRAP PERL_PRESERVE_IVUV USE_64_BIT_ALL
                        USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES
                        USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE
                        USE_LOCALE_NUMERIC USE_PERLIO USE_PERL_ATOF
                        USE_REENTRANT_API USE_SITECUSTOMIZE
  Locally applied patches:
        Fedora Patch1: Removes date check, Fedora/RHEL specific
        Fedora Patch3: support for libdir64
        Fedora Patch4: use libresolv instead of libbind
        Fedora Patch5: USE_MM_LD_RUN_PATH
        Fedora Patch6: Skip hostname tests, due to builders not being network capable
        Fedora Patch7: Dont run one io test due to random builder failures
        Fedora Patch9: Fix find2perl to translate ? glob properly (RT#113054)
        Fedora Patch10: Fix broken atof (RT#109318)
        Fedora Patch13: Clear $@ before "do" I/O error (RT#113730)
        Fedora Patch14: Do not truncate syscall() return value to 32 bits (RT#113980)
        Fedora Patch15: Override the Pod::Simple::parse_file (CPANRT#77530)
        Fedora Patch16: Do not leak with attribute on my variable (RT#114764)
        Fedora Patch17: Allow operator after numeric keyword argument (RT#105924)
        Fedora Patch18: Extend stack in File::Glob::glob, (RT#114984)
        Fedora Patch19: Do not crash when vivifying $|
        Fedora Patch20: Fix misparsing of maketext strings (CVE-2012-6329)
        Fedora Patch21: Add NAME headings to CPAN modules (CPANRT#73396)
        Fedora Patch22: Fix leaking tied hashes (RT#107000) [1]
        Fedora Patch23: Fix leaking tied hashes (RT#107000) [2]
        Fedora Patch24: Fix leaking tied hashes (RT#107000) [3]
        Fedora Patch25: Fix dead lock in PerlIO after fork from thread (RT#106212)
        Fedora Patch26: Make regexp safe in a signal handler (RT#114878)
        Fedora Patch27: Update h2ph(1) documentation (RT#117647)
        Fedora Patch28: Update pod2html(1) documentation (RT#117623)
        Fedora Patch29: Document Math::BigInt::CalcEmu requires Math::BigInt (CPAN RT#85015)
        RHEL Patch30: Use stronger algorithm needed for FIPS in t/op/crypt.t (RT#121591)
        RHEL Patch31: Make *DBM_File desctructors thread-safe (RT#61912)
        RHEL Patch32: Use stronger algorithm needed for FIPS in t/op/taint.t (RT#123338)
        RHEL Patch33: Remove CPU-speed-sensitive test in Benchmark test
        RHEL Patch34: Make File::Glob work with threads again
        RHEL Patch35: Fix CRLF conversion in ASCII FTP upload (CPAN RT#41642)
        RHEL Patch36: Do not leak the temp utf8 copy of namepv (CPAN RT#123786)
        RHEL Patch37: Fix duplicating PerlIO::encoding when spawning threads (RT#31923)
        RHEL Patch38: Add SSL support to Net::SMTP (CPAN RT#93823) [1]
        RHEL Patch39: Add SSL support to Net::SMTP (CPAN RT#93823) [2]
        RHEL Patch40: Add SSL support to Net::SMTP (CPAN RT#93823) [3]
        RHEL Patch41: Add SSL support to Net::SMTP (CPAN RT#93823) [4]
        RHEL Patch42: Do not overload ".." in Math::BigInt (CPAN RT#80182)
        RHEL Patch43: Fix CVE-2018-18311 Integer overflow leading to buffer overflow
        RHEL Patch44: Fix a spurious timeout in Net::FTP::close (CPAN RT#18504)
        RHEL Patch45: Fix day of year parsing (CPAN RT#88211)
  Built under linux
  Compiled at Oct  1 2020 16:53:28
  @INC:
    /usr/local/lib64/perl5
    /usr/local/share/perl5
    /usr/lib64/perl5/vendor_perl
    /usr/share/perl5/vendor_perl
    /usr/lib64/perl5
    /usr/share/perl5
    .

il faut faire le perl -V après avoir fait le module load roary

excusez moi je ne l'avais pas precisé

(normalement le module load doit changer la valeur du @INC à la fin du texte affiché)

mon module était déjà chargé mais la j'ai purgé les modules, rechargé roary et fait perl -V et voici la sortie

Summary of my perl5 (revision 5 version 22 subversion 0) configuration:

  Platform:
    osname=linux, osvers=3.13.0-106-generic, archname=x86_64-linux-thread-multi
    uname='linux c36368105a6f 3.13.0-106-generic #153-ubuntu smp tue dec 6 15:44:32 utc 2016 x86_64 x86_64 x86_64 gnulinux '
    config_args='-Dusethreads -Duserelocatableinc -Dprefix=/shared/ifbstor1/software/miniconda/envs/roary-3.12.0 -de -Aldflags='
    hint=recommended, useposix=true, d_sigaction=define
    useithreads=define, usemultiplicity=define
    use64bitint=define, use64bitall=define, uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2',
    optimize='-O2',
    cppflags='-D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include'
    ccversion='', gccversion='4.8.2 20140120 (Red Hat 4.8.2-15)', gccosandvers=''
    intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678, doublekind=3
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16, longdblkind=3
    ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='cc', ldflags ='  -fstack-protector-strong -L/usr/local/lib'
    libpth=/usr/local/lib /opt/rh/devtoolset-2/root/usr/lib /usr/lib /lib/../lib64 /usr/lib/../lib64 /lib /lib64 /usr/lib64 /usr/local/lib64
    libs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
    perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
    libc=libc-2.12.so, so=so, useshrplib=false, libperl=libperl.a
    gnulibc_version='2.12'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
    cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector-strong'


Characteristics of this binary (from libperl):
  Compile-time options: HAS_TIMES MULTIPLICITY PERLIO_LAYERS
                        PERL_DONT_CREATE_GVSV
                        PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
                        PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
                        PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV
                        USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS
                        USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE
                        USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_LOCALE_TIME
                        USE_PERLIO USE_PERL_ATOF USE_REENTRANT_API
  Built under linux
  Compiled at Jan  6 2017 10:54:52
  @INC:
    /shared/ifbstor1/software/miniconda/envs/roary-3.12.0/lib/perl5/site_perl/5.22.0/x86_64-linux-thread-multi
    /shared/ifbstor1/software/miniconda/envs/roary-3.12.0/lib/perl5/site_perl/5.22.0
    /shared/ifbstor1/software/miniconda/envs/roary-3.12.0/lib/perl5/5.22.0/x86_64-linux-thread-multi
    /shared/ifbstor1/software/miniconda/envs/roary-3.12.0/lib/perl5/5.22.0
    .

Merci !

Finalement on a installé roary 3.13.0 si vous voulez bien tester avec cette version:

module load roary/3.13.0

Et pour expliquer le souci, d’après l'erreur affiché dans votre premier message, c'est visiblement parce que le module perl File::Find::Rule n'est pas trouvé et c'est probablement parce qu’il n'est pas installé avec la bonne version de perl pour le module roary 3.12 .
Il est installé dans le répertoire 5.26 et l'@INC est défini avec le chemin 5.22 (qu'on peux voir avec la commande perl -V)
Sans conviction, je pense donc que c'est un bug dans la definition du package conda.

Un bon moyen de vérifier que ça marche ou pas, c'est par exemple de lancer la commande suivante:

module load roary/3.13.0
perl -e 'use File::Find::Rule'

Qui affiche un message d'erreur si il y'a un probleme et n'affiche rien si tout est ok.

1 « J'aime »

merci beaucoup @Francois , non seulement je n'ai pas de message d'erreur dans je fais la commande perl -e ... mais en plus je viens de faire tourner une commande de base de roary et c'est ok !!
Génial

Bonne fin d'après midi

Chloé