tseemann / prokka

:zap: :aquarius: Rapid prokaryotic genome annotation
778 stars 221 forks source link

Argument "1.7.7" isn't numeric in numeric #508

Open tseemann opened 4 years ago

tseemann commented 4 years ago

Argument "1.7.7" isn't numeric in numeric lt (<) at /home/tseemann/git/prokka/bin/prokka line 259.

MatthewRalston commented 3 years ago

Hello @tseemann , I noticed a similar error with a recent release of blastp (2.10) isn't being recognized as properly sufficient (>2.2 is required). Could this be a similar string comparison error?

hydong113 commented 3 years ago

The same situation. What can I do to solve it?

JAnsede commented 3 years ago

Is there any solution since September?

wolfgangrumpf commented 3 years ago

I am also getting this error. I simply can't get Prokka to run!

ghost commented 3 years ago

Hi, I am getting the same error message, any recommendation?

ghost commented 3 years ago

Hello,

It could be resolved doing this --> https://github.com/tseemann/prokka/issues/448

follow --> cabrerad commented on 13 Jan, I'll quote him

Try this: $ conda create -n prokka_env -c conda-forge -c bioconda prokka $ conda activate prokka_env

It worked for me! I had the same problem as you.

You can check your environment list with: $ conda env list

Hope this can help!

wolfgangrumpf commented 3 years ago

This approach finally worked for me. It's bizarre - I TRIED doing a Conda install previously, but it too failed - until I wiped everything and started again with this approach. Thanks, JuanMartinezV!

arif-tanmoy commented 2 years ago

Hi, faced this Bioperl version issue a few months back. solved it by modifying a few lines of code.

Here's how I solved it on v1.14.5. Pretty sure, it will work on v1.14.6 too.

Need this module. use Perl::Version;

Changed the code a bit on those specific lines (starts from line 259)

my $minbpver = "1.006002"; # for Bio::SearchIO::hmmer3
my $bpver0 = Perl::Version->new($Bio::Root::Version::VERSION);
my $bpver = $bpver0->numify;
msg("You have BioPerl $bpver");
err("Please install BioPerl $minbpver or higher") if $bpver < $minbpver;
minhtrung1997 commented 2 years ago

I can solve it with a pre-code : prokka --setupdb

neelam19051 commented 1 year ago

Hi, I have tried all the suggestion regarding this error on this page but still unable to resolve it. please help me if anyone know anything about this error.

This is prokka 1.14.6 [09:35:51] Written by Torsten Seemann torsten.seemann@gmail.com [09:35:51] Homepage is https://github.com/tseemann/prokka [09:35:51] Local time is Tue Sep 27 09:35:51 2022 [09:35:51] You are bvs [09:35:51] Operating system is linux [09:35:51] You have BioPerl 1.7.8 Argument "1.7.8" isn't numeric in numeric lt (<) at /home/bvs/anaconda3/envs/prokka_env/bin/prokka line 259. [09:35:51] System has 96 cores. [09:35:51] Will use maximum of 10 cores. [09:35:51] Annotating as >>> Bacteria <<< [09:35:51] Please supply a contig FASTA file on the command line. /home/bvs/neelam/plasmid_cp/P_aeruginosa_KB-PA_F19-3.fna

Thank you!

MHassanSaeed commented 1 year ago

I can solve it with a pre-code : prokka --setupdb

How?

I am unable to resolve this issue.

Veroman commented 1 year ago

prokka --setupdb did not work, but @arif-tanmoy solution worked for me.

saras224 commented 1 year ago

Hi, faced this Bioperl version issue a few months back. solved it by modifying a few lines of code.

Here's how I solved it on v1.14.5. Pretty sure, it will work on v1.14.6 too.

Need this module. use Perl::Version;

Changed the code a bit on those specific lines (starts from line 259)

my $minbpver = "1.006002"; # for Bio::SearchIO::hmmer3
my $bpver0 = Perl::Version->new($Bio::Root::Version::VERSION);
my $bpver = $bpver0->numify;
msg("You have BioPerl $bpver");
err("Please install BioPerl $minbpver or higher") if $bpver < $minbpver;

Hi @arif-tanmoy I tried to change the code in prokka script but it shows me this error now:

Can't locate object method "new" via package "Perl::Version" (perhaps you forgot to load "Perl::Version"?) at /home/rsharma/anaconda3/envs/prokka/bin/prokka line 257

Kindly help me resolve this error! Thanks in Advance!!

joelwwh commented 1 year ago

Hi, faced this Bioperl version issue a few months back. solved it by modifying a few lines of code. Here's how I solved it on v1.14.5. Pretty sure, it will work on v1.14.6 too. Need this module. use Perl::Version; Changed the code a bit on those specific lines (starts from line 259)

my $minbpver = "1.006002"; # for Bio::SearchIO::hmmer3
my $bpver0 = Perl::Version->new($Bio::Root::Version::VERSION);
my $bpver = $bpver0->numify;
msg("You have BioPerl $bpver");
err("Please install BioPerl $minbpver or higher") if $bpver < $minbpver;

Hi @arif-tanmoy I tried to change the code in prokka script but it shows me this error now:

Can't locate object method "new" via package "Perl::Version" (perhaps you forgot to load "Perl::Version"?) at /home/rsharma/anaconda3/envs/prokka/bin/prokka line 257

Kindly help me resolve this error! Thanks in Advance!!

This link (https://github.com/tseemann/prokka/pull/619) fixed it for me as of today. I had the same problem as you

arif-tanmoy commented 1 year ago

Hi @joelwwh you just need to add the module I mentioned in the text.

use Perl::Version;

Add this in the script (in the module calling section) and it should be fine too.

joelwwh commented 1 year ago

@arif-tanmoy I actually tried that but got the same error as @saras224. Not sure why. Perhaps others have better luck. Thanks for your help though

saras224 commented 1 year ago

Hi @joelwwh you just need to add the module I mentioned in the text.

use Perl::Version;

Add this in the script (in the module calling section) and it should be fine too.

Hi @arif-tanmoy Thanks for responding but I have a doubt, what do you mean when you are saying " use Perl::Version; "? What I am doing is that I am going to the prokka script in the bin and changing the lines from 259. Is it not what we should do? And even after doing that, I am getting the same error.

Thanks!

arif-tanmoy commented 1 year ago

Hi @joelwwh you just need to add the module I mentioned in the text. use Perl::Version; Add this in the script (in the module calling section) and it should be fine too.

Hi @arif-tanmoy Thanks for responding but I have a doubt, what do you mean when you are saying " use Perl::Version; "? What I am doing is that I am going to the prokka script in the bin and changing the lines from 259. Is it not what we should do? And even after doing that, I am getting the same error.

Thanks!

Hi @saras224 - yes, you have to change the codes in/from line 259. However, you are using a different module there, named "Perl::Version" and it's not in the script by default. So, you have call that module from the script. You can add that module calling part use Perl::Version; in line 41. Now, with the changes in line 41 and few lines near 259, the script should run without an error.

brilliant2643 commented 6 days ago

Hi @joelwwh you just need to add the module I mentioned in the text. use Perl::Version; Add this in the script (in the module calling section) and it should be fine too.

Hi @arif-tanmoy Thanks for responding but I have a doubt, what do you mean when you are saying " use Perl::Version; "? What I am doing is that I am going to the prokka script in the bin and changing the lines from 259. Is it not what we should do? And even after doing that, I am getting the same error. Thanks!

Hi @saras224 - yes, you have to change the codes in/from line 259. However, you are using a different module there, named "Perl::Version" and it's not in the script by default. So, you have call that module from the script. You can add that module calling part use Perl::Version; in line 41. Now, with the changes in line 41 and few lines near 259, the script should run without an error.

Hi! I use this method to change those code, but I get some new error Bareword "Perl::Version" not allowed while "strict subs" in use at /home/boot/micromamba/envs/prokka/bin/prokka line 41. BEGIN not safe after errors--compilation aborted at /home/boot/micromamba/envs/prokka/bin/prokka line 1612. I'm wondering if I change the wrong line?