Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

adding krona 2.8.1 with krakentools #1164

Open
wants to merge 9 commits into
base: master
Choose a base branch
from
1 change: 1 addition & 0 deletions Program_Licenses.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ The licenses of the open-source software that is contained in these Docker image
| Kraken2 | MIT | https://github.com/DerrickWood/kraken2/blob/master/LICENSE |
| KrakenTools | GNU GPLv3 | https://github.com/jenniferlu717/KrakenTools/blob/master/LICENSE |
| KrakenUniq | GNU GPLv3 | https://github.com/fbreitwieser/krakenuniq/blob/master/LICENSE |
| Krona | non-standard license (see link) | https://github.com/marbl/Krona/blob/master/KronaTools/LICENSE.txt |
| kSNP3 | BSD | available in zipped kSNP archive on sourceforge or in docker image under `/kSNP3.1_Linux_package/THE BSD OPENSOURCE LICENSE.pdf` |
| kSNP4 | BSD | available in zipped kSNP archive on sourceforge or in docker image under `/opt/kSNP4 Linux package/Documentation/THE BSD OPENSOURCE LICENSE.pdf` |
| LABEL | GPL version 3 | In zipped file in README.md |
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,7 @@ To learn more about the docker pull rate limits and the open source software pro
| [Kraken2](https://hub.docker.com/r/staphb/kraken2/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/kraken2)](https://hub.docker.com/r/staphb/kraken2) | <ul><li>2.0.8-beta (no database)</li><li>2.0.8-beta (MiniKraken2_v1_8GB db)</li><li>2.0.8-beta_hv (human + virus db)</li><li>2.0.9-beta (no db)</li><li>2.0.9-beta (Minikraken v2 RefSeq: bacteria, archaea, viral, and human 8GB db)</li><li>2.1.0 (no db)</li><li>2.1.1 (no db)</li><li>2.1.2 (no db)</li><li>[2.1.3](kraken2/2.1.3/) (no db)</li></ul> | https://github.com/DerrickWood/kraken2 |
| [KrakenTools](https://github.com/jenniferlu717/KrakenTools) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/krakentools)](https://hub.docker.com/r/staphb/krakentools) | <ul><li>[d4a2fbe](./krakentools/d4a2fbe)</li></ul> | https://github.com/jenniferlu717/KrakenTools |
| [KrakenUniq](https://hub.docker.com/r/staphb/krakenuniq/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/krakenuniq)](https://hub.docker.com/r/staphb/krakenuniq) | <ul><li>[1.0.4](./krakenuniq/1.0.4) (no database)</li></ul> | https://github.com/fbreitwieser/krakenuniq |
| [Krona](https://hub.docker.com/r/staphb/krona/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/krona)](https://hub.docker.com/r/staphb/krona) | <ul><li>[2.8.1](./krona/2.8.1)</li></ul> | https://github.com/marbl/Krona |
| [kSNP3](https://hub.docker.com/r/staphb/ksnp3/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/ksnp3)](https://hub.docker.com/r/staphb/ksnp3)| <ul><li>3.1</li></ul> | https://sourceforge.net/projects/ksnp/ |
| [kSNP4](https://hub.docker.com/r/staphb/ksnp4/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/ksnp4)](https://hub.docker.com/r/staphb/ksnp4)| <ul><li>4.0</li><li>[4.1](./ksnp4/4.1/)</li></ul> | https://sourceforge.net/projects/ksnp/ |
| [label](https://hub.docker.com/r/staphb/label/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/label)](https://hub.docker.com/r/staphb/label)| <ul><li>[0.6.4](./label/0.6.4/)</li></ul> | https://wonder.cdc.gov/amd/flu/label |
Expand Down
55 changes: 55 additions & 0 deletions build-files/krona/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
FROM ubuntu:jammy AS app

ARG KRONA_VER="2.8.1"
ARG KRAKENTOOLS_VER="d4a2fbe"

LABEL base_image="ubuntu:jammy"
LABEL dockerfile.version="1"
LABEL software="krona"
LABEL software.version="${KRONA_VER}"
LABEL description="Krona Tools is a set of scripts to create Krona charts from several Bioinformatics tools as well as from text and XML files."
LABEL website="https://github.com/marbl/Krona"
LABEL license="https://github.com/marbl/Krona/blob/master/KronaTools/LICENSE.txt"
LABEL maintainer="Sage Wright"
LABEL maintainer.email="[email protected]"

# 'LABEL' instructions tag the image with metadata that might be important to the user
RUN apt-get update && apt-get install -y --no-install-recommends \
wget \
ca-certificates \
curl \
python3 \
python3-pip \
python3-setuptools \
git \
make \
procps && \
apt-get autoclean && rm -rf /var/lib/apt/lists/*

RUN mkdir -p ~/miniconda3 && \
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh && \
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3 && \
rm ~/miniconda3/miniconda.sh
sage-wright marked this conversation as resolved.
Show resolved Hide resolved

ENV PATH="/root/miniconda3/bin:$PATH"

RUN conda install -c bioconda krona=${KRONA_VER} && \
ktUpdateTaxonomy.sh

RUN pip install biopython==1.84 \
pandas==2.2.3

RUN git clone https://github.com/jenniferlu717/KrakenTools.git && \
cd KrakenTools && \
git checkout ${KRAKENTOOLS_VERSION} && \
chmod +x *
sage-wright marked this conversation as resolved.
Show resolved Hide resolved

ENV PATH=/KrakenTools:${PATH}

sage-wright marked this conversation as resolved.
Show resolved Hide resolved
WORKDIR /data

FROM app AS test

RUN python3 /KrakenTools/extract_kraken_reads.py --help
RUN ktImportTaxonomy

35 changes: 35 additions & 0 deletions build-files/krona/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@

# Krona container

Main tool: [Krona](https://github.com/marbl/Krona)

Code repository: <https://github.com/marbl/Krona/tree/master/KronaTools>

Additional tools:

- krona 2.8.1
- krakentools d4a2fbe
- pandas 2.2.3
- bioptyhon 1.84
sage-wright marked this conversation as resolved.
Show resolved Hide resolved
- miniconda (latest)

Basic information on how to use this tool:
- executable: various perl scripts
sage-wright marked this conversation as resolved.
Show resolved Hide resolved
- help: provide the tool name without any arguments to see the help message (`<toolname>`)
- version: Versioning information is available within the help message and can be retrieved with the following grep command `<toolname> | grep "KronaTools" | cut -d' ' -f3`
- description: "Krona allows hierarchical data to be explored with zooming, multi-layered pie charts... The interactive charts are self-contained and can be viewed with any modern web browser."

Additional information: This container also contains [KrakenTools](https://github.com/jenniferlu717/KrakenTools), which provides a way for Krona plots to be generated for viral data.

Full documentation: [https://github.com/marbl/Krona](https://github.com/marbl/Krona/wiki)

## Example Usage

```bash
# run Krona without preprocessing of the kraken output by Krakentools -- viral data will be considered "other root" but bacterial data will be visualized
ktImportTaxonomy MYSAMPLE.kraken_output_report -o MYSAMPLE.krona.hmtl -tax taxonomy

# run Krona with preprocessing of the kraken output by Krakentools in order to visualize viral data properly
python3 /KrakenTools/kreport2krona.py -r MYSAMPLE.kraken_output_report -o MYSAMPLE.krona
ktImportText MYSAMPLE.krona -o MYSAMPLE.krona.html
```
Loading