nextgenusfs / funannotate

Eukaryotic Genome Annotation Pipeline
http://funannotate.readthedocs.io
BSD 2-Clause "Simplified" License
300 stars 82 forks source link

ERROR: gmes_petap.pl not installed #1017

Closed mojiefei closed 2 months ago

mojiefei commented 3 months ago

I have installed funannotate 1.8.15. The missing softwares have also been installed as prompted by "$ funannotate check --show-versions", but it still reported "ERROR: gmes_petap.pl not installed". Here are my steps to install GeneMark-ES/ET/EP.

I have downloaded GeneMark-ES/ET/EP+ ver 4.72_lic (LINUX 64 kernel 3.10 - 5) from http://topaz.gatech.edu/GeneMark/license_download.cgi. The two obtained compression packages are extracted, and gm_key_64 was moved into the folder of gmes_linux_64_4. I have also installed perl through "$ cpan -i YAML Hash::Merge Logger::Simple Parallel::ForkManager". The first line of all .pl packages in gmes_linux_64_4 was changed to "#!/home/gfz3/miniconda3/envs/funannotate/bin/perl", which was the directory where perl was installed. Then, I moved all the packages in the folder of gmes_linux_64_4 to "/home/gfz3/miniconda3/envs/funannotate/bin". The path of GENEMARK is set by "$ export GENEMARK_PATH=/path/to/home/gfz3/miniconda3/envs/funannotate/bin".

However, it still reports an error after completing the above steps. The following is the output after I run "$ funannotate check --show-versions". What can I do to solve this problem? Looking forward to the solution.

(funannotate) gfz3@dell:~$ funannotate check --show-versions

Checking dependencies for 1.8.15

You are running Python v 3.8.15. Now checking python packages... biopython: 1.83 goatools: 1.3.11 matplotlib: 3.4.3 natsort: 8.4.0 numpy: 1.24.4 pandas: 1.5.3 psutil: 5.9.8 requests: 2.31.0 scikit-learn: 1.3.2 scipy: 1.10.1 seaborn: 0.13.2 All 11 python packages installed

You are running Perl v b'5.032001'. Now checking perl modules... Carp: 1.50 Clone: 0.46 DBD::SQLite: 1.72 DBD::mysql: 4.046 DBI: 1.643 DB_File: 1.858 Data::Dumper: 2.183 File::Basename: 2.85 File::Which: 1.24 Getopt::Long: 2.54 Hash::Merge: 0.302 JSON: 4.10 LWP::UserAgent: 6.67 Logger::Simple: 2.0 POSIX: 1.94 Parallel::ForkManager: 2.02 Pod::Usage: 1.69 Scalar::Util::Numeric: 0.40 Storable: 3.15 Text::Soundex: 3.05 Thread::Queue: 3.14 Tie::File: 1.06 URI::Escape: 5.17 YAML: 1.31 local::lib: 2.000029 threads: 2.25 threads::shared: 1.61 All 27 Perl modules installed

Checking Environmental Variables... $FUNANNOTATE_DB=/funannotate_db $PASAHOME=/home/gfz3/miniconda3/envs/funannotate/opt/pasa-2.5.3 $TRINITY_HOME=/home/gfz3/miniconda3/envs/funannotate/opt/trinity-2.8.5 $EVM_HOME=/home/gfz3/miniconda3/envs/funannotate/opt/evidencemodeler-1.1.1 $AUGUSTUS_CONFIG_PATH=/home/gfz3/miniconda3/envs/funannotate/config/ $GENEMARK_PATH=/path/to/home/gfz3/miniconda3/envs/funannotate/bin All 6 environmental variables are set

Checking external dependencies... PASA: 2.5.3 CodingQuarry: 2.0 Trinity: 2.8.5 augustus: 3.5.0 bamtools: bamtools 2.5.1 bedtools: bedtools v2.31.1 blat: BLAT v37x1 diamond: 2.1.8 emapper.py: 2.1.12 ete3: 3.1.3 exonerate: exonerate 2.4.0 fasta: 36.3.8g glimmerhmm: 3.0.4 gmap: 2024-03-15 hisat2: 2.2.1 hmmscan: HMMER 3.4 (Aug 2023) hmmsearch: HMMER 3.4 (Aug 2023) java: 17.0.3-internal kallisto: 0.46.1 mafft: v7.525 (2024/Mar/13) makeblastdb: makeblastdb 2.14.1+ minimap2: 2.27-r1193 pigz: 2.8 proteinortho: 6.3.1 pslCDnaFilter: no way to determine salmon: salmon 0.14.1 samtools: samtools 1.16.1 signalp: 6.0 snap: 2006-07-28 stringtie: 2.2.1 tRNAscan-SE: 2.0.12 (Nov 2022) tantan: tantan 49 tbl2asn: 25.8 tblastn: tblastn 2.14.1+ trimal: trimAl v1.4.rev15 build[2013-12-17] trimmomatic: 0.39 ERROR: gmes_petap.pl not installed

nextgenusfs commented 2 months ago

I think that you need to keep the gmes_petap directory structure intact for genemark. all funannotate is doing is to check if gmes_petap.pl is in your PATH. So you'll need to unpack the tarball somewhere, likely you need to change the shebang of all perl scripts (as they are hard coded to /usr/bin/perl which is not where your modules should be installed), and then you just need to add that folder to your PATH.

mojiefei commented 2 months ago

I think that you need to keep the gmes_petap directory structure intact for genemark. all funannotate is doing is to check if gmes_petap.pl is in your PATH. So you'll need to unpack the tarball somewhere, likely you need to change the shebang of all perl scripts (as they are hard coded to /usr/bin/perl which is not where your modules should be installed), and then you just need to add that folder to your PATH.

@nextgenusfs

How to change the shebang of all perl scripts?

I have unpacked the tarball in /home/gfz3/mojf/sofware, and moved _gm_key64 into _gmes_linux_644. I have also changed the first line of all .pl packages in _gmes_linux_644 from #!/usr/bin/perl to #!/home/gfz3/miniconda3/envs/funannotate/bin/perl, which was the directory where perl was installed. And the PATH of genemark was set using the sentence GENEMARK_PATH=/path/to/home/gfz3/mojf/sofware/gmes_linux_64_4

However, when I ran funannotate check --show-versions, I found that it didn't report ERROR: GENEMARK_PATH not set. export GENEMARK_PATH=/path/to/dir, but still reported ERROR: gmes_petap.pl not installed.

What else can I do? Looking forward to your reply.

nextgenusfs commented 2 months ago

No, it's not a funannotate issue. There is install instructions in the genemark tarball.

mojiefei commented 2 months ago

No, it's not a funannotate issue. There is install instructions in the genemark tarball.

@nextgenusfs

I have installed _GeneMark-ES/ET/EP+ ver 4.72lic (LINUX 64 kernel 3.10 - 5) according to the instructions in the tarball. Unfortunately, it still reported ERROR: gmes_petap.pl not installed. I'm wondering if it's possible that I did the following steps incorrectly.

Issue 1 Instructions in INSTALL: b. Install the key: copy key "gm_key" into users home directory as: gunzip gm_key.gz cp gm_key ~/.gm_key What did I do: Move _gm_key64 into _gmes_linux_644. My question: I can't understand what the step of cp gm_key ~/.gm_key done, what the users home directory is. Did I do the right thing? If not, what should I do?

Issue 2 Instructions in INSTALL: Perl scripts are configured with default Perl location at "/usr/bin/perl". Default path to Perl can be changed by script "perl change_path_in_perl_scripts.pl" from GeneMark* distribution folder. What did I do: I entered (funannotate) gfz3@dell:~/mojf/sofware/gmes_linux_64_4$ perl change_path_in_perl_scripts.pl "/home/gfz3/miniconda3/envs/funannotate/bin/perl" And then I got done. Also, I confirm that the first line of _gmespetap.pl has been rewritten to #!/home/gfz3/miniconda3/envs/funannotate/bin/perl. The path /home/gfz3/miniconda3/envs/funannotate/bin is the location where I installed perl. My question: Did I do the right thing? If not, what should I do?

Issue 3 What did I do: I set the PATH of GENEMARK using the sentence GENEMARK_PATH=/path/to/home/gfz3/mojf/sofware/gmes_linux_64_4. The /home/gfz3/mojf/sofware is the location where the unzipped _gmes_linux_644 containing the key is stored. The _gmespetap.pl with the first line modified is also in _gmes_linux_644. My question: Did I do the right thing? If not, what should I do?

Looking forward to your detailed solutions.

nextgenusfs commented 2 months ago

yes, you need to move the key into your home directory, ie you can literally use gunzip gm_key.gz cp gm_key ~/.gm_key.

Then you need to export the ENV variable, assuming it is actually in this location:

export GENEMARK_PATH=/home/gfz3/mojf/sofware/gmes_linux_64_4
mojiefei commented 2 months ago

yes, you need to move the key into your home directory, ie you can literally use gunzip gm_key.gz cp gm_key ~/.gm_key.

Then you need to export the ENV variable, assuming it is actually in this location:

export GENEMARK_PATH=/home/gfz3/mojf/sofware/gmes_linux_64_4

@nextgenusfs

Unluckily, even though I exported the ENV variable using export GENEMARK_PATH=/home/gfz3/mojf/sofware/gmes_linux_64_4, it still reports ERROR: gmes_petap.pl not installed.

I wonder if it is wrong to move _gmkey into _gmes_linux_644. I don't know what is the meaning of "my home directory", and what the specific command statement I should use for cp gm_key ~/.gm_key.

Here is the output after I ran funannotate check --show-versions. Apart from the problems mentioned above, could there be something wrong with other installation steps?

-------------------------------------------------------
Checking dependencies for 1.8.15
-------------------------------------------------------
You are running Python v 3.8.15. Now checking python packages...
biopython: 1.83
goatools: 1.3.11
matplotlib: 3.4.3
natsort: 8.4.0
numpy: 1.24.4
pandas: 1.5.3
psutil: 5.9.8
requests: 2.31.0
scikit-learn: 1.3.2
scipy: 1.10.1
seaborn: 0.13.2
All 11 python packages installed

You are running Perl v b'5.032001'. Now checking perl modules...
Carp: 1.50
Clone: 0.46
DBD::SQLite: 1.72
DBD::mysql: 4.046
DBI: 1.643
DB_File: 1.858
Data::Dumper: 2.183
File::Basename: 2.85
File::Which: 1.24
Getopt::Long: 2.54
Hash::Merge: 0.302
JSON: 4.10
LWP::UserAgent: 6.67
Logger::Simple: 2.0
POSIX: 1.94
Parallel::ForkManager: 2.02
Pod::Usage: 1.69
Scalar::Util::Numeric: 0.40
Storable: 3.15
Text::Soundex: 3.05
Thread::Queue: 3.14
Tie::File: 1.06
URI::Escape: 5.17
YAML: 1.31
local::lib: 2.000029
threads: 2.25
threads::shared: 1.61
All 27 Perl modules installed

Checking Environmental Variables...
$FUNANNOTATE_DB=/database/funannotate_db
$PASAHOME=/home/gfz3/miniconda3/envs/funannotate/opt/pasa-2.5.3
$TRINITY_HOME=/home/gfz3/miniconda3/envs/funannotate/opt/trinity-2.8.5
$EVM_HOME=/home/gfz3/miniconda3/envs/funannotate/opt/evidencemodeler-1.1.1
$AUGUSTUS_CONFIG_PATH=/home/gfz3/miniconda3/envs/funannotate/config/
$GENEMARK_PATH=/home/gfz3/mojf/sofware/gmes_linux_64_4
All 6 environmental variables are set
-------------------------------------------------------
Checking external dependencies...
PASA: 2.5.3
CodingQuarry: 2.0
Trinity: 2.8.5
augustus: 3.5.0
bamtools: bamtools 2.5.1
bedtools: bedtools v2.31.1
blat: BLAT v37x1
diamond: 2.1.8
emapper.py: 2.1.12
ete3: 3.1.3
exonerate: exonerate 2.4.0
fasta: 36.3.8g
glimmerhmm: 3.0.4
gmap: 2024-03-15
hisat2: 2.2.1
hmmscan: HMMER 3.4 (Aug 2023)
hmmsearch: HMMER 3.4 (Aug 2023)
java: 17.0.3-internal
kallisto: 0.46.1
mafft: v7.525 (2024/Mar/13)
makeblastdb: makeblastdb 2.14.1+
minimap2: 2.27-r1193
pigz: 2.8
proteinortho: 6.3.1
pslCDnaFilter: no way to determine
salmon: salmon 0.14.1
samtools: samtools 1.16.1
signalp: 6.0
snap: 2006-07-28
stringtie: 2.2.1
tRNAscan-SE: 2.0.12 (Nov 2022)
tantan: tantan 49
tbl2asn: 25.8
tblastn: tblastn 2.14.1+
trimal: trimAl v1.4.rev15 build[2013-12-17]
trimmomatic: 0.39
    ERROR: gmes_petap.pl not installed

Hope to hear from you soon.