diff --git a/Dockerfile b/Dockerfile index 814619d..ed03027 100755 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,7 @@ -# This build container image ends up about 3GB FROM ubuntu:22.04 AS build-container +RUN rm /bin/sh && ln -s /bin/bash /bin/sh + # libboost-python on Ubuntu 22.04 is python 3.10 # liboost-python-dev includes python3.10-dev with it # We don't need intel-mkl or any other specific BLAS lib because carvaIBD only uses Armadillo headers @@ -10,6 +11,7 @@ RUN apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get install -y \ build-essential \ cmake \ + git \ libarmadillo-dev \ libboost-iostreams-dev \ libboost-numpy-dev \ @@ -17,6 +19,10 @@ RUN apt-get update && \ WORKDIR /app COPY . . +# Add this step to fetch the submodule content + +RUN git submodule update --init --recursive +# Make sure their is no previous build directory RUN rm -rf build RUN mkdir build @@ -27,7 +33,7 @@ RUN make -j4 # Make a leaner run container without build dependencies # How much leaner is it? It's about 170MB -FROM ubuntu:22.04 as run-container +FROM ubuntu:22.04 AS run-container # We seem to not need libboost-numpy at runtime?! RUN apt-get update && \ @@ -36,10 +42,11 @@ RUN apt-get update && \ libboost-iostreams1.74.0 \ libboost-numpy1.74.0 \ libboost-python1.74.0 \ + liblapack3 \ libpython3.10 WORKDIR /app -COPY --from=build-container /app/build/carvaIBD carvaIBD +COPY --from=build-container /app/build/ibdmap ibdmap COPY --from=build-container /app/build/*.so . -ENTRYPOINT ["./carvaIBD"] +ENV PATH="/app:$PATH" diff --git a/README.md b/README.md index 7f0d639..7df9456 100755 --- a/README.md +++ b/README.md @@ -1,7 +1,5 @@ # IBDMap ---- - IBDMap is a multithreaded scalable application for IBD (Identity By Descent) mapping of binary traits. IBDMap implements a test statistic developed by Browning & Thompson et al., 2012 [cite] that detects regions where IBD sharing is statistically enriched among case-case pairs than among case-control pairs. IBDMap addresses key challenges in IBD mapping by using a map-reduce approach to analyze genome-wide relative IBD segment enrichment, making it tractable for biobank-scale analysis. IBDMap’s computational flexibility enables execution in a wide array of compute environments. @@ -16,8 +14,6 @@ The seed should be specified and different for each job on a chromosome. However ## Key features of IBDMap ---- - - Implements flexible multiple testing correction options (FWER and FDR approaches) - Includes supplementary statistical assessments, such as: - Likelihood ratio test for signal localization @@ -183,7 +179,15 @@ If you are in a compute environment that prevents you from running containers as singularity pull ibdmap.sif docker:jtb114/ibdmap:latest ``` -This command will create a new singularity image called `ibdmap.sif` +This command will create a new singularity image called `ibdmap.sif`. The tool can then be run using the following command to view the help menu: + +```bash +# Docker image +docker run --rm {image ID/tag} ibdmap -h + +# Singularity image +singularity exec ibdmap.sif ibdmap -h +``` ## Data Formatting