Skip to content

Latest commit

 

History

History
111 lines (96 loc) · 4.31 KB

README.md

File metadata and controls

111 lines (96 loc) · 4.31 KB

maker-docker

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):

  • chrishah/ubuntu-basic
    • Ubuntu 18.04
    • perl 5.26.1
    • Python 3.6.6
    • blast 2.6.0+
    • hmmer 3.1b2
    • exonerate 2.4.0
  • chrishah/ab-initio
    • Augustus 3.3
    • SNAP (2017-05-17 - git commit: a89d68e8346337c155b99697389144dfb5470b0f)
    • perl dependencies for Genemark
      • YAML
      • Hash::Merge
      • Logger::Simple
      • Parallel::ForkManager
      • MCE::Mutex
  • chrishah/repeatmasker-maker
    • RMBlastn 2.2.28
    • trf 407b
    • RepeatScout 1.0.5
    • RepeatMasker 4.0.7
    • RepeatModeler 1.0.10
  • chrishah/premaker-plus
    • perl dependencies for MAKER
      • DBI
      • DBD::SQLite
      • forks
      • forks::shared
      • File::Which
      • Perl::Unsafe::Signals
      • Bit::Vector
      • Inline::C
      • IO::All
      • IO::Prompt
      • BioPerl

Get the image containing the setup to compile and run maker

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 ..

Build the fully functioning MAKER image (i.e. compile MAKER and repeatmasker onbuild)

You'll need two more things in your working directory:

  • A copy of the latest Repbase-derived RepeatMasker libraries, renamed to repeatmaskerlibraries.tar.gz
    • this requires free (for academic purposes) registration
    • once registered, download the latest version, e.g. via:
wget --user your-user-name \
    --password your-password \
    -O repeatmaskerlibraries.tar.gz \
    https://www.girinst.org/server/RepBase/protected/repeatmaskerlibraries/RepBaseRepeatMaskerEdition-20181026.tar.gz
  • a copy of the MAKER archive (renamed to maker.tar.gz)
    • this again requires free (for academic purposes) registration

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:

  • MAKER v2.31.10
  • MAKER v3.01.02-beta
  • Repbase Repeatmasker Edition 20181026

Use the image..

like so, to e.g.:

  • run BUSCO:
    • docker run -it -v $(pwd):/in/ -w /in/ --rm your-maker-plus:version run_BUSCO.py
  • run RepeatModeler:
    • docker run -it -v $(pwd):/in/ -w /in/ --rm your-maker-plus:version RepeatModeler
  • run RepeatMasker:
    • docker run -it -v $(pwd):/in/ -w /in/ --rm your-maker-plus:version RepeatMasker
  • run SNAP (fathom):
    • docker run -it -v $(pwd):/in/ -w /in/ --rm your-maker-plus:version fathom
  • run augustus:
    • docker run -it -v $(pwd):/in/ -w /in/ --rm your-maker-plus:version augustus
  • run MAKER:
    • docker run -it -v $(pwd):/in/ -w /in/ --rm your-maker-plus:version maker