AntonBankevich/LJA

Docker

MrTomRod opened this issue · 0 comments

Hey

I created a Dockerfile and wanted to share it in case it's useful to anyone else:

FROM debian:bullseye
MAINTAINER Thomas Roder

RUN apt update
RUN apt install -y build-essential cmake zlib1g-dev wget

WORKDIR /opt
RUN wget https://github.com/AntonBankevich/LJA/archive/refs/tags/untagged-c539e6b1159980742576.tar.gz -O LJA.tar.gz && \
mkdir LJA && tar -xf LJA.tar.gz --strip-components=1 -C LJA && rm LJA.tar.gz

WORKDIR /opt/LJA
RUN cmake . && make

ENV PATH="/opt/LJA/bin:${PATH}"

WORKDIR /data

The one above, based on debian:bullseye works. I published the image on hub.docker.com: troder/lja.

Any idea why the one below based on fedora:latest doesn't?

FROM fedora:latest
MAINTAINER Thomas Roder

RUN dnf check-update; exit 0  # only update repos once
RUN dnf install -y cmake gcc-c++ zlib-devel git wget

WORKDIR /opt
RUN wget https://github.com/AntonBankevich/LJA/archive/refs/tags/untagged-c539e6b1159980742576.tar.gz -O LJA.tar.gz && \
mkdir LJA && tar -xf LJA.tar.gz --strip-components=1 -C LJA && rm LJA.tar.gz

WORKDIR /opt/LJA
RUN cmake . && make

ENV PATH="/opt/LJA/bin:${PATH}"

WORKDIR /data

It fails to build:

/opt/LJA/src/tools/common/iterator_utils.hpp:52:7: note: candidate: 'ApplyingIterator<std::__detail::_Node_iterator<std::pair<const __int128 unsigned, dbg::Vertex>, false, true>, dbg::Edge, 8>::ApplyingIterator(const ApplyingIterator<std::__detail::_Node_iterator<std::pair<const __int128 unsigned, dbg::Vertex>, false, true>, dbg::Edge, 8>&)'
   52 | class ApplyingIterator {
      |       ^~~~~~~~~~~~~~~~
/opt/LJA/src/tools/common/iterator_utils.hpp:52:7: note:   candidate expects 1 argument, 3 provided
/opt/LJA/src/tools/common/iterator_utils.hpp:52:7: note: candidate: 'ApplyingIterator<std::__detail::_Node_iterator<std::pair<const __int128 unsigned, dbg::Vertex>, false, true>, dbg::Edge, 8>::ApplyingIterator(ApplyingIterator<std::__detail::_Node_iterator<std::pair<const __int128 unsigned, dbg::Vertex>, false, true>, dbg::Edge, 8>&&)'
/opt/LJA/src/tools/common/iterator_utils.hpp:52:7: note:   candidate expects 1 argument, 3 provided
make[2]: *** [src/projects/dbg/CMakeFiles/lja_dbg.dir/build.make:76: src/projects/dbg/CMakeFiles/lja_dbg.dir/sparse_dbg.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:603: src/projects/dbg/CMakeFiles/lja_dbg.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
Error: building at STEP "RUN cmake . && make": while running runtime: exit status 2

PS: I just tested LJA on Lactococcus garvieae MS210922A (SRA): lja -o 1_assembly_D_LJA --reads DRR381127_1.fastq -t 8
So far, I'm amazed: the output is almost identical to Flye's, but it took only slightly over 2 minutes on my laptop!!!