StaPH-B / docker-builds

:package: :whale: Dockerfiles and documentation on tools for public health bioinformatics
GNU General Public License v3.0
187 stars 119 forks source link

Prokka image is missing barrnap for rRNA prediction #11

Closed kapsakcj closed 5 years ago

kapsakcj commented 5 years ago

Just noticed that the prokka 1.13.3 image is missing barrnap. Prokka still runs, but cannot predict rRNAs. https://github.com/tseemann/barrnap

Barrnap requires:

Need to include barrnap and its dependencies in dockerfile for Prokka:

# add hmmer to list of things to install with apt-get
RUN apt-get install hmmer gcc

# install bedtools, needs gcc to compile
RUN wget https://github.com/arq5x/bedtools2/releases/download/v2.27.1/bedtools-2.27.1.tar.gz &&\
    tar -xzf bedtools-2.27.1.tar.gz &&\
    rm bedtools-2.27.1.tar.gz &&\
    cd bedtools2/ &&\
    make

# install barrnap
RUN wget https://github.com/tseemann/barrnap/archive/0.9.tar.gz &&\
    tar -zxf 0.9.tar.gz &&\
    rm 0.9.tar.gz &&\

ENV PATH="$PATH:/prokka-1.13.3/bin:\
/bedtools2/bin:\
/barrnap-0.9/bin"

Also plan on bumping the dockerfile version to 2 in the dockerfile label

Prokka and it's dependencies make it quite a large image. One of our largest at ~2.1 GB

kapsakcj commented 5 years ago

Also should add: WORKDIR /data at the end of the dockerfile

kapsakcj commented 5 years ago

OK. Got a Dockerfile to build successfully. Need to do some testing, then I will push to master branch soon.

# base image
FROM ubuntu:xenial

# metadata
LABEL base.image="ubuntu:xenial"
LABEL version="2"
LABEL software="Prokka"
LABEL software.version="1.13.3"
LABEL description="Automated prokaryotic genome annotation tool"
LABEL website="https://github.com/tseemann/prokka"
LABEL license="https://github.com/tseemann/prokka#licence"

# Maintainer
MAINTAINER Curtis Kapsak <curtis.kapsak@state.co.us>

# install dependencies using conda
RUN apt-get update && apt-get -y install \
 bzip2 \
 gzip \
 wget \
 perl \
 less \
 libdatetime-perl \
 libxml-simple-perl \
 libdigest-md5-perl \
 default-jre \
 bioperl \
 hmmer \
 gcc \
 bedtools \
 make && apt-get clean && apt-get autoclean && rm -rf /var/lib/apt/lists/*

#### bedtools installed via apt-get. It's v2.25 (Sept 2015) but it should still work.
#### It's too much of a pain to install and compile from source. Ran into problems with gcc/g++

# install bedtools, required for barrnap
#RUN wget https://github.com/arq5x/bedtools2/releases/download/v2.27.1/bedtools-2.27.1.tar.gz &&\
#    tar -xzf bedtools-2.27.1.tar.gz &&\
#    rm bedtools-2.27.1.tar.gz &&\
#    cd bedtools2/ &&\
#    make

# install barrnap
RUN wget https://github.com/tseemann/barrnap/archive/0.9.tar.gz &&\
    tar -zxf 0.9.tar.gz &&\
    rm 0.9.tar.gz &&\
    cd barrnap-0.9 &&\
    make test

RUN wget https://github.com/tseemann/prokka/archive/v1.13.3.tar.gz && \
    tar -xzf v1.13.3.tar.gz && \
    rm -rf v1.13.3.tar.gz && \
    mkdir /data

ENV PATH="$PATH:/prokka-1.13.3/bin:\
/barrnap-0.9/bin"

RUN prokka --setupdb && prokka --listdb
WORKDIR /data
kapsakcj commented 5 years ago

GCC could probably be removed

kapsakcj commented 5 years ago

Change has been implemented and now rRNAs are predicted with barrnap! Yay!