LJA
LJA copied to clipboard
Docker
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!!!