diff --git a/Program_Licenses.md b/Program_Licenses.md index 40d33b498..cc8048baa 100644 --- a/Program_Licenses.md +++ b/Program_Licenses.md @@ -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 | diff --git a/README.md b/README.md index 8a685aea0..bb54c9027 100644 --- a/README.md +++ b/README.md @@ -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/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/kraken2)](https://hub.docker.com/r/staphb/kraken2) | | https://github.com/DerrickWood/kraken2 | | [KrakenTools](https://github.com/jenniferlu717/KrakenTools)
[![docker pulls](https://badgen.net/docker/pulls/staphb/krakentools)](https://hub.docker.com/r/staphb/krakentools) | | https://github.com/jenniferlu717/KrakenTools | | [KrakenUniq](https://hub.docker.com/r/staphb/krakenuniq/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/krakenuniq)](https://hub.docker.com/r/staphb/krakenuniq) | | https://github.com/fbreitwieser/krakenuniq | +| [Krona](https://hub.docker.com/r/staphb/krona/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/krona)](https://hub.docker.com/r/staphb/krona) | | https://github.com/marbl/Krona | | [kSNP3](https://hub.docker.com/r/staphb/ksnp3/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/ksnp3)](https://hub.docker.com/r/staphb/ksnp3)| | https://sourceforge.net/projects/ksnp/ | | [kSNP4](https://hub.docker.com/r/staphb/ksnp4/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/ksnp4)](https://hub.docker.com/r/staphb/ksnp4)| | https://sourceforge.net/projects/ksnp/ | | [label](https://hub.docker.com/r/staphb/label/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/label)](https://hub.docker.com/r/staphb/label)| | https://wonder.cdc.gov/amd/flu/label | diff --git a/build-files/krona/2.8.1/Dockerfile b/build-files/krona/2.8.1/Dockerfile new file mode 100644 index 000000000..110cebb44 --- /dev/null +++ b/build-files/krona/2.8.1/Dockerfile @@ -0,0 +1,66 @@ +FROM ubuntu:jammy AS app + +ARG KRONA_VER="2.8.1" +ARG KRAKENTOOLS_COMMIT="d4a2fbe2833c2392a724697c0c97a3014e748474" + +USER root + +WORKDIR / + +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="sagemwright@gmail.com" + +# '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 \ + perl \ + unzip \ + python3 \ + python-is-python3 \ + python3-pip \ + python3-setuptools \ + make \ + procps && \ + apt-get autoclean && rm -rf /var/lib/apt/lists/* + +ENV PATH="/root/miniconda3/bin:$PATH" + +RUN wget https://github.com/marbl/Krona/releases/download/v${KRONA_VER}/KronaTools-${KRONA_VER}.tar && \ + tar -xvf KronaTools-${KRONA_VER}.tar && \ + rm KronaTools-${KRONA_VER}.tar && \ + mv KronaTools-${KRONA_VER} KronaTools && \ + cd KronaTools && \ + ./install.pl + +RUN pip install biopython==1.84 \ + pandas==2.2.3 + +ARG KRAKENTOOLS_COMMIT="d4a2fbe2833c2392a724697c0c97a3014e748474" + +RUN wget https://github.com/jenniferlu717/KrakenTools/archive/${KRAKENTOOLS_COMMIT}.zip && \ + unzip ${KRAKENTOOLS_COMMIT}.zip && \ + mv KrakenTools-${KRAKENTOOLS_COMMIT} KrakenTools && \ + chmod +x KrakenTools/* + +ENV PATH=/KrakenTools:${PATH} + +WORKDIR /data + +CMD ["ktImportTaxonomy"] + +FROM app AS test + +RUN combine_kreports.py -h + +RUN extract_kraken_reads.py --help +RUN ktImportTaxonomy + diff --git a/build-files/krona/2.8.1/README.md b/build-files/krona/2.8.1/README.md new file mode 100644 index 000000000..5f630a4c2 --- /dev/null +++ b/build-files/krona/2.8.1/README.md @@ -0,0 +1,69 @@ + +# Krona container + +Main tool: [Krona](https://github.com/marbl/Krona) + +Code repository: + +Additional tools: + +- krona 2.8.1 +- krakentools d4a2fbe +- pandas 2.2.3 +- biopython 1.84 + +Basic information on how to use this tool: + +- executables: + - KronaTools (available as tab-completed executables): + - ktClassifyBLAST + - ktGetTaxInfo + - ktImportGalaxy + - ktImportPhymmBL + - ktImportXML + - ktGetContigMagnitudes + - ktImportBLAST + - ktImportKrona + - ktImportRDP + - ktGetLCA + - ktImportDiskUsage + - ktImportMETAREP-BLAST + - ktImportRDPComparison + - ktGetLibPath + - ktImportEC + - ktImportMETAREP-EC + - ktImportTaxonomy + - ktGetTaxIDFromAcc + - ktImportFCP + - ktImportMGRAST + - ktImportText + - KrakenTools (within the /KrakenTools directory): + - combine_kreports.py + - combine_mpa.py + - extract_kraken_reads.py + - filter_bracken.out.py + - fix_unmapped.py + - **kreport2krona.py** (of special interest to this image) + - kreport2mpa.py + - make_kreport.py + - make_ktaxonomy.py + - DiversityTools/alpha_diversity.py + - DiversityTools/beta_diversity.py +- help: provide the tool name without any arguments to see the help message (``) +- version: Versioning information is available within the help message and can be retrieved with the following grep command ` | 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 +```