soedinglab / metaeuk

MetaEuk - sensitive, high-throughput gene discovery and annotation for large-scale eukaryotic metagenomics
GNU General Public License v3.0
177 stars 23 forks source link

No docker image available on dockerhub? #5

Closed domenico-simone closed 4 years ago

domenico-simone commented 4 years ago

Hi,

I have tried to run MetaEuk with both pre-compiled version and by compiling it by myself, but in both cases I get a "segmentation fault" error during the predictexons step. I am planning to submit a separate issue with details about it, but in the meantime (since unfortunately I'm a bit in a hurry for some results :D) I'd like to test the tool with its docker image. Since the cluster I'm working on has only singularity, I would really benefit from getting MetaEuk from Dockerhub, but I can't find it, although the dockerfile is in the github repo. Is it like it's meant to be or there is some issue with it?

Thank you,

Domenico

milot-mirdita commented 4 years ago

We forgot to actually enable the build on Dockerhub. It should now appear there soon.

Regarding the segfault, if you are using our profiles, please make sure that you are using the --slice-search parameter. Sorry for the usability pitfall, it will be automatically set in the next release.

If you want a set of stickers (see https://twitter.com/thesteinegger/status/1201076220957315074), send me your address to milot at mirdita de.

domenico-simone commented 4 years ago

Hi Milot, thanks for your prompt answer! I see it's there and now I'll try it.

Regarding the segfault, I've also tried to use --slice-search (I forgot to mention it). I'll send the complete log as soon as possible!

Domenico

domenico-simone commented 4 years ago

Hi Milot,

I've tried to run the docker image and through both Docker and Singularity I get errors related to file permissions, ie with Singularity:

$ singularity run docker://soedinglab/metaeuk

/.singularity.d/runscript: 39: exec: /usr/local/bin/metaeuk: Permission denied

and with Docker:

$ docker run soedinglab/metaeuk
Unable to find image 'soedinglab/metaeuk:latest' locally
latest: Pulling from soedinglab/metaeuk
704f4240fcc9: Pull complete 
89cb2296d4bd: Pull complete 
74439405e4ee: Pull complete 
7650c56bbe45: Pull complete 
9ee9978a1144: Pull complete 
Digest: sha256:a6de6bf108448ae4373039fbbbb38fc0babf8b7b0d282ea65d215506fc81dd5a
Status: Downloaded newer image for soedinglab/metaeuk:latest
docker: Error response from daemon: OCI runtime create failed: container_linux.go:346: starting container process caused "exec: \"/usr/local/bin/metaeuk\": permission denied": unknown.
ERRO[0010] error waiting for container: context canceled

Thanks,

Domenico

milot-mirdita commented 4 years ago

Whoops, my mistake. Next iteration should be hopefully okay.

domenico-simone commented 4 years ago

Hi,

thanks for the fix! But now I got this other error:

$ docker run soedinglab/metaeuk metaeuk easy-predict -h
Unable to find image 'soedinglab/metaeuk:latest' locally
latest: Pulling from soedinglab/metaeuk
704f4240fcc9: Already exists 
89cb2296d4bd: Already exists 
2052e6a7ee49: Pull complete 
38a0819ec60e: Pull complete 
b7a5c580137b: Pull complete 
d2efb49253a8: Pull complete 
Digest: sha256:2e0d01a4d91acc73bfd6de14997957182f924bd10a547465e29208fc3800aecd
Status: Downloaded newer image for soedinglab/metaeuk:latest
standard_init_linux.go:211: exec user process caused "exec format error"

when I try it with Singularity:

$ singularity run docker://soedinglab/metaeuk metaeuk easy-predict -h
/usr/local/bin/metaeuk: 1: /usr/local/bin/metaeuk: -e: not found
MetaEuk is homology-based strategy to efficiently query many contigs assembled from metagenomic samples against a comprehensive protein/profile target database to describe their protein repertoire. It does not require preliminary binning of the contigs and makes no assumption concerning the splicing signal when searching for multi-exon proteins.

Please cite:
Levy Karin E, Mirdita M, Soding J: MetaEuk – sensitive, high-throughput gene discovery and annotation for large-scale eukaryotic metagenomics. biorxiv, 851964 (2019).

metaeuk Version: a5517433286ded46c50f7d9112366d724b6f1c73
© Eli Levy Karin, eli.levy.karin@gmail.com

Main workflows for database input/output
  predictexons          Call optimal exon sets based on protein similarity
  easy-predict          Predict protein-coding genes from contigs (fasta/database) based on similarities to targets (fasta/database) and return a fasta of the predictions in a single step
  taxtocontig           Assign taxonomic labels to predictions and aggregate them per contig
  reduceredundancy      Cluster metaeuk calls that share an exon and select representative prediction
  unitesetstofasta      Create a fasta output from optimal exon sets
  groupstoacc           Create a TSV output from representative prediction to member

Invalid Command: metaeuk
Did you mean "/usr/local/bin/metaeuk_avx2 easy-cluster"?

Thanks,

Domenico

milot-mirdita commented 4 years ago

Thanks for your patience, I should not have tried to make the container work while on the road.

metaeuk is already the Docker entrypoint, so you don't have to repeat the call to the binary. I am not very familiar with singularity, but something like this should work:

$ singularity run docker://soedinglab/metaeuk easy-predict -h