tseemann / prokka

:zap: :aquarius: Rapid prokaryotic genome annotation
843 stars 226 forks source link

tbl2asn expired #453

Closed nahanoo closed 4 years ago

nahanoo commented 4 years ago

Dear Torsten,

Thanks for actively developing and maintaining prokka. I'm pretty sure that tlb2asn just expired and prokka produces an error saying it can't run tbl2asn. Latest version of tbl2asn (25.8) has not been added to the conda channels so conda update prokka is not fixing the issue. Users having to wait for the fix can download latest tbl2asn from ftp://ftp.ncbi.nih.gov/toolbox/ncbi_tools/converters/by_program/tbl2asn/

Best, Eric

tseemann commented 4 years ago

I am updating brew and I believe conda is updated now too.

keyfm commented 4 years ago

I did download all tbl2asn executables from: ftp://ftp.ncbi.nih.gov/toolbox/ncbi_tools/converters/by_program/tbl2asn/

It seems for linux, only linux64.tbl2asn.gz is up to date, while all others throw the tbl2asn older than 1 year error.

After gunzip and chmod +x, execution of linux64.tbl2asn does produce the following error for me, which I was not able to fix just yet. linux64.tbl2asn: /lib64/libc.so.6: versionGLIBC_2.14' not found (required by ./linux64.tbl2asn)`

All done from inside my previously working prokka environment (conda).

Any help?

suryasaha commented 4 years ago

I was able to run prokka with the tbl2asn downloaded from ftp://ftp.ncbi.nih.gov/toolbox/ncbi_tools/converters/by_program/tbl2asn/

You probably need to install glibc version 2.14 or later to execute this file. If this is a debian based distro, then the following commands will do it

sudo apt-get update
sudo apt-get install libc6

hth

keyfm commented 4 years ago

Thx suryasaha. However, I am operating on a server network without sudo access. Also, I wonder why glibc (if necessary) is not already present in my prokka conda environment (which as mentioned worked prior to the tbl2asn expiration w/o glibc)?

Koen-vdl commented 4 years ago

Hi keyfm,

I managed to find a tmp fix by creating a prokka env in conda with an older version of blast and replacing the tbl2asn executable in the env bin folder with the newest version from ncbi.

I first removed my old prokka_env

conda remove --name prokka_env --all

I then created a new env with the previous version of blast

conda create --name prokka_env prokka blast=2.9.0

I then replaced tbl2asn 25.7 istalled by conda in the env bin with tbl2asn 25.8 from NCBI

wget ftp://ftp.ncbi.nih.gov/toolbox/ncbi_tools/converters/by_program/tbl2asn/linux64.tbl2asn.gz
gunzip linux64.tbl2asn.gz
mv linux64.tbl2asn /home/kvandelannoo/miniconda3/envs/prokka_env/bin/tbl2asn
chmod 755 /home/kvandelannoo/miniconda3/envs/prokka_env/bin/tbl2asn

This resolved the tbl2asn issue for me. prokka now produces a gbk.

Rob-murphys commented 4 years ago

so running conda update prokka does not fix the issue still?

sk-sahu commented 4 years ago

Hi keyfm,

I managed to find a tmp fix by creating a prokka env in conda with an older version of blast and replacing the tbl2asn executable in the env bin folder with the newest version from ncbi.

I first removed my old prokka_env

conda remove --name prokka_env --all

I then created a new env with the previous version of blast

conda create --name prokka_env prokka blast=2.9.0

I then replaced tbl2asn 25.7 istalled by conda in the env bin with tbl2asn 25.8 from NCBI

wget ftp://ftp.ncbi.nih.gov/toolbox/ncbi_tools/converters/by_program/tbl2asn/linux64.tbl2asn.gz
gunzip ftp://ftp.ncbi.nih.gov/toolbox/ncbi_tools/converters/by_program/tbl2asn/linux64.tbl2asn.gz
mv linux64.tbl2asn /home/kvandelannoo/miniconda3/envs/prokka_env/bin/tbl2asn

This resolved the tbl2asn issue for me. prokka now produces a gbk.

@Koen-vdl I tried this. Not helping.

@tseemann Is it possible to bundle the latest tbl2asn binary and do a quick release?

jaybake5 commented 4 years ago

Several Prokka users here at the J. Craig Venter Institute with the same issue. Updating tbl2asn now produces the GLIBC error, and we are on a server without the ability to update glibc. I also tried the fix suggested by @Koen-vdl, and it did not work for me either. Any help would be greatly appreciated. Thanks!

tseemann commented 4 years ago

It seems that NCBI used to provide a binary linked against an older glibc that older OSes used and newer ones had compatibility libraries for. However this version will not work on older systems depending on their system's glibc. I think conda might suffer this problem, but homebrew is ok. Me bundling the new tbl2asn will not help those people, but I will update it.

i've updated binaries in git, no release yet though. https://github.com/tseemann/prokka/commit/8c82891aab4bab48bb07a47a1cb50e0cd3dcdcc0

zdk123 commented 4 years ago

Looks like your tests on Travis are failing (for the same reason?) since the tbl2asn update https://travis-ci.org/tseemann/prokka/builds

hoelzer commented 4 years ago

Hi all,

I was finally able to build a working Docker by installing prokka v1.14.5 via conda and update tbl2asn manually. I also needed

RUN apt-get update -y
RUN apt-get install -y libidn11

to get it run.

Please feel free to use the Docker if you have still any issues at the moment:

docker pull nanozoo/prokka:1.14.5--33be639

ps: kicking out tbl2asn in some newer prokka version would be awesome ;)

antunderwood commented 4 years ago

I also made a working Docker using conda and a manual update of tbl2asn

Dockerfile

FROM continuumio/miniconda3
LABEL authors="Anthony Underwood" \
      description="Docker image for prokka"

RUN apt update

COPY environment.yml /
RUN conda env create -f /environment.yml && conda clean -a
# update to latest copy of tbl2asn
RUN wget ftp://ftp.ncbi.nih.gov/toolbox/ncbi_tools/converters/by_program/tbl2asn/linux64.tbl2asn.gz -O linux64.tbl2asn.gz 
RUN gunzip linux64.tbl2asn.gz && mv linux64.tbl2asn /opt/conda/envs/prokka/bin/tbl2asn && chmod 755 /opt/conda/envs/prokka/bin/tbl2asn

ENV PATH /opt/conda/envs/prokka/bin:$PATH

environment.yml file

name: prokka
channels:
  - conda-forge
  - bioconda
  - defaults
dependencies:
  - prokka=1.14.5
Rob-murphys commented 4 years ago

Is there a fix for those of us working with conda?

hoelzer commented 4 years ago

Is there a fix for those of us working with conda?

The following should work (replace the path to the environment if you use another specification for your (mini)conda)

conda create -n prokka -c bioconda prokka=1.14.5
wget ftp://ftp.ncbi.nih.gov/toolbox/ncbi_tools/converters/by_program/tbl2asn/linux64.tbl2asn.gz -O linux64.tbl2asn.gz 
gunzip linux64.tbl2asn.gz
mv linux64.tbl2asn ~/miniconda3/envs/prokka/bin/tbl2asn
chmod +x ~/miniconda3/envs/prokka/bin/tbl2asn

Then your prokka conda env should work.

Use the right tbl2asn executable for your system (above for linux).

Rob-murphys commented 4 years ago

Hi @hoelzer, thank you for this it seems to have worked! :)

Rob-murphys commented 4 years ago

@hoelzer, it seems like I am still sometimes getting the error unfortunatly. Some genomes work some don't. Any idea why this would happen?

hoelzer commented 4 years ago

@hoelzer, it seems like I am still sometimes getting the error unfortunatly. Some genomes work some don't. Any idea why this would happen?

Oh sorry, this does not sound like an issue related to the tbl2asn because this should be fixed by manually downloading and replacing the binary. What is the error that you get for some genomes? related to the tbl2asn again?

maesaar commented 4 years ago

Hi keyfm,

I managed to find a tmp fix by creating a prokka env in conda with an older version of blast and replacing the tbl2asn executable in the env bin folder with the newest version from ncbi.

I first removed my old prokka_env

conda remove --name prokka_env --all

I then created a new env with the previous version of blast

conda create --name prokka_env prokka blast=2.9.0

I then replaced tbl2asn 25.7 istalled by conda in the env bin with tbl2asn 25.8 from NCBI

wget ftp://ftp.ncbi.nih.gov/toolbox/ncbi_tools/converters/by_program/tbl2asn/linux64.tbl2asn.gz
gunzip ftp://ftp.ncbi.nih.gov/toolbox/ncbi_tools/converters/by_program/tbl2asn/linux64.tbl2asn.gz
mv linux64.tbl2asn /home/kvandelannoo/miniconda3/envs/prokka_env/bin/tbl2asn

This resolved the tbl2asn issue for me. prokka now produces a gbk.

Thank you this helped me to resolve the issue on the Mac, but for the final step I had to add following command:

chmod +x /pathto/tbl2asn

bibilujan commented 4 years ago

@jaybake5 have you found a workaround? I have the same issue and I don't see how I could fix it.

jaybake5 commented 4 years ago

Hi @bibilujan, I'm sorry but I haven't found a good work around. I resorted to using a colleague's old Prokka conda environment (with the old tbl2asn), where you get the tbl2asn warning, but you still get most of the output (all I needed at the moment was the gene calls from the .faa file).

Koen-vdl commented 4 years ago

I just tested my previous fix on a new system and it still does the trick:

I first removed my old prokka_env

conda remove --name prokka_env --all

I then created a new env with the previous version of blast

conda create --name prokka_env prokka blast=2.9.0

I then replaced tbl2asn 25.7 istalled by conda in the env bin with tbl2asn 25.8 from NCBI

wget ftp://ftp.ncbi.nih.gov/toolbox/ncbi_tools/converters/by_program/tbl2asn/linux64.tbl2asn.gz
gunzip linux64.tbl2asn.gz
mv linux64.tbl2asn /home/kvandelannoo/miniconda3/envs/prokka_env/bin/tbl2asn
chmod 755 /home/kvandelannoo/miniconda3/envs/prokka_env/bin/tbl2asn
tseemann commented 4 years ago

New conda ready, brew coming now.

liangyong1991 commented 3 years ago

I have pulled prokka docker image using "docker pull ummidock/prokka:1.14.5-1", and it works well before, but why it can not work and says "can't run tbl2asn" with the same docker image recently. In my opinion, the docker image is a stable environment, once built successfully, it will work well all the time.

hoelzer commented 3 years ago

I have pulled prokka docker image using "docker pull ummidock/prokka:1.14.5-1", and it works well before, but why it can not work and says "can't run tbl2asn" with the same docker image recently. In my opinion, the docker image is a stable environment, once built successfully, it will work well all the time.

Unfortunately, no. I think the tbl2asn executable has a timestamp from when the Docker image was created. And after x months: expires. One has to re-build the Docker image to reset the time stamp. If you want, you can use nanozoo/prokka:1.14.6--773a90d with the latest version.

liangyong1991 commented 3 years ago

I have pulled prokka docker image using "docker pull ummidock/prokka:1.14.5-1", and it works well before, but why it can not work and says "can't run tbl2asn" with the same docker image recently. In my opinion, the docker image is a stable environment, once built successfully, it will work well all the time.

Unfortunately, no. I think the tbl2asn executable has a timestamp from when the Docker image was created. And after x months: expires. One has to re-build the Docker image to reset the time stamp. If you want, you can use nanozoo/prokka:1.14.6--773a90d with the latest version.

Thank you for your solution. Would the tbl2assn of docker image of nanozoo/prokka:1.14.6--773a90d expire someday in the future?

hoelzer commented 3 years ago

@liangyong1991 I fear that one will also expire at some point. However, I think there was a solution now how to prevent the tbl2asn time check but can't find it currently

SergeyBaikal commented 3 years ago

wget ftp://ftp.ncbi.nih.gov/toolbox/ncbi_tools/converters/by_program/tbl2asn/linux64.tbl2asn.gz gunzip linux64.tbl2asn.gz

linux64.tbl2asn.gz to tbl2asn

export PATH="/home/prokka/binaries/linux/:$PATH" chmod -R 777 /home/prokka

This solved my problem on Debian10