Docker image (chrishah/premaker-plus) as base for building full MAKER image, plus dependencies and third party software
FYI, the image builds on a few intermediate images, in the following order:
In detail, the image is set up with the following, where the individual tools are build in the intermediate images as listed below (in case you want to use the individually, and don't need the full MAKER context):
The image can be pulled from Dockerhub (note the tag) via:
docker pull chrishah/premaker-plus:18-<commit>
or built in the premaker-plus
directory of this repo, e.g. via:
cd premaker-plus
docker build --network=host -t chrishah/premaker-plus:18-<commit> --file Dockerfile_noonbuild .
cd ..
You'll need two more things in your working directory:
repeatmaskerlibraries.tar.gz
wget --user your-user-name \
--password your-password \
-O repeatmaskerlibraries.tar.gz \
https://www.girinst.org/server/RepBase/protected/repeatmaskerlibraries/RepBaseRepeatMaskerEdition-20181026.tar.gz
maker.tar.gz
)
Once you have all this you can create a Dockerfile,
echo -e "FROM chrishah/premaker-plus:18-onbuild-<commit>" > Dockerfile-maker-plus
and build the functioning MAKER image (be reminded: you'll need to have the repeatmasker library and the MAKER archive in your working directory):
docker build --network=host -t your-maker-plus:version --file Dockerfile-maker-plus .
Or you can use the Dockerfile premaker-plus/Dockerfile_maker_onbuild
(which is exactly the above), to build the functioning MAKER image via:
docker build --network=host -t your-maker-plus:version --file premaker-plus/Dockerfile_maker_onbuild .
The above was tested with:
like so, to e.g.:
docker run -it -v $(pwd):/in/ -w /in/ --rm your-maker-plus:version run_BUSCO.py
docker run -it -v $(pwd):/in/ -w /in/ --rm your-maker-plus:version RepeatModeler
docker run -it -v $(pwd):/in/ -w /in/ --rm your-maker-plus:version RepeatMasker
docker run -it -v $(pwd):/in/ -w /in/ --rm your-maker-plus:version fathom
docker run -it -v $(pwd):/in/ -w /in/ --rm your-maker-plus:version augustus
docker run -it -v $(pwd):/in/ -w /in/ --rm your-maker-plus:version maker