Altius / hotspot2

Implementation of hotspot2 by Eric Rynes
16 stars 3 forks source link

Dockerize #25

Open fwip opened 6 years ago

fwip commented 6 years ago

This adds a Dockerfile to create a hotspot2 docker container.

Usage

docker run --mount type=bind,source="$(pwd)"/data,target=/data -it hotspot2 extractCenterSites.sh -c /data/chr20.chrom_sizes.bed -o /data/chr20.chrom_sizes.center.starch
docker run --mount type=bind,source="$(pwd)"/data,target=/data -it hotspot2 hotspot2.sh -c /data/chr20.chrom_sizes.bed -C /data/chr20.chrom_sizes.center.starch /data/chr20.bam /data/out_chr20

Where the current directory has:

and will create:

Docker trivia

.dockerignore is a file much like .gitignore - files matching these patterns are not sent as context to the docker daemon.

this Dockerfile uses a multi-stage build approach. This builds several small sub-images (modwt-build, samtools-build, etc), to compile the code necessary. The final stage copies only the necessary tools out of the previous stages, resulting in a lean image size of 75MB.