From cb2c0a7c45cf0fe532a02871ec5cbd0da20c2ef8 Mon Sep 17 00:00:00 2001 From: Haidong Yi Date: Tue, 22 Oct 2024 16:05:15 -0700 Subject: [PATCH 1/2] add fastcat in build --- .github/workflows/build.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e2fac54..48d1e7f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -6,6 +6,7 @@ on: - 'deepmod2/**' - 'deepmod2-gpu/**' - 'annovar/**' + - 'fastcat/**' branches: - main pull_request: @@ -24,6 +25,8 @@ jobs: platforms: linux/amd64 - app: annovar platforms: linux/amd64,linux/arm64 + - app: fastcat + platforms: linux/amd64,linux/arm64 steps: - name: Checkout code From f1212b304fd03b1adc7f647636836a1d82279b46 Mon Sep 17 00:00:00 2001 From: Haidong Yi Date: Tue, 22 Oct 2024 16:05:37 -0700 Subject: [PATCH 2/2] add fastcat tool --- fastcat/Dockerfile | 42 ++++++++++++++++++++++++++ fastcat/README.md | 67 +++++++++++++++++++++++++++++++++++++++++ fastcat/environment.yml | 14 +++++++++ fastcat/version | 1 + 4 files changed, 124 insertions(+) create mode 100644 fastcat/Dockerfile create mode 100644 fastcat/README.md create mode 100644 fastcat/environment.yml create mode 100644 fastcat/version diff --git a/fastcat/Dockerfile b/fastcat/Dockerfile new file mode 100644 index 0000000..43f236e --- /dev/null +++ b/fastcat/Dockerfile @@ -0,0 +1,42 @@ +FROM mambaorg/micromamba:2-ubuntu22.04 AS source + +USER $MAMBA_USER + +# set work directory +WORKDIR /tmp + +# copy environment file +COPY --chown=$MAMBA_USER:$MAMBA_USER environment.yml /tmp/environment.yml + +# create environment from yml file +RUN micromamba env create -f environment.yml \ + && micromamba clean --all --yes \ + && rm /tmp/environment.yml + +FROM mambaorg/micromamba:2-ubuntu22.04 AS final + +ARG BUILD_VERSION=v0.18.6 + +################## METADATA ###################### +LABEL base_image="micromamba:2-ubuntu22.04" +LABEL version="1" +LABEL software="fastcat" +LABEL software.version="${BUILD_VERSION}" +LABEL about.summary="Simple utility to concatenate .fastq(.gz) files whilst creating a summary of the sequences." +LABEL about.home="https://github.com/epi2me-labs/fastcat" +LABEL about.documentation="https://github.com/epi2me-labs/fastcat/blob/master/README.md" +LABEL about.license_file="https://github.com/epi2me-labs/fastcat/blob/master/LICENSE" +LABEL about.tags="Genomics" +LABEL extra.identifiers.biotools="fastcat" + +COPY --from=source /opt/conda/envs/fastcat /opt/conda/envs/fastcat + +RUN echo "micromamba activate fastcat" >> ~/.bashrc + +WORKDIR /app + +# default command +CMD ["fastcat", "--help"] + +# add mantainer +MAINTAINER Haidong Yi diff --git a/fastcat/README.md b/fastcat/README.md new file mode 100644 index 0000000..56b6673 --- /dev/null +++ b/fastcat/README.md @@ -0,0 +1,67 @@ +# Fastcat Docker Image + +This Dockerfile builds a container for Fastcat, a tool that provides simple utilities to concatenate .fastq(.gz) files whilst creating a summary of the sequences. + +## Build + +To build the image: + +```bash +docker build -t fastcat:v0.18.6 . +``` + +You can specify a different version using the `BUILD_VERSION` argument: + +```bash +docker build --build-arg BUILD_VERSION={your_version} -t fastcat:{your_version} . +``` + +## Usage + +Run the container: + +```bash +docker run --rm fastcat:v0.18.6 fastcat --help +``` + +This will display the help message for `Fastcat`. To run specific commands, replace `--help` with your desired arguments. + +## Features + +- Created based on `micromamba` image +- Bundled with other useful utilities (e.g. `bzip2`, `split`, etc.) +- Fastcat version: v0.18.6 (default, can be changed during build). For more versions, you can check it using `conda / mamba search`. + +## License + +Copyright (c) 2020-, Oxford Nanopore Technologies Plc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* All advertising materials mentioning features or use of this software must + display the following acknowledgement: This product includes software + developed by Oxford Nanopore Technologies Plc. + +* Neither the name of Oxford Nanopore Technologies Plc. nor the names of + its contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY Oxford Nanopore Technologies Plc. AS IS AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL Oxford Nanopore Technologies Plc. BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + diff --git a/fastcat/environment.yml b/fastcat/environment.yml new file mode 100644 index 0000000..87a2f83 --- /dev/null +++ b/fastcat/environment.yml @@ -0,0 +1,14 @@ +name: fastcat +channels: + - nanoporetech + - conda-forge + - bioconda +dependencies: + - python ==3.8.* + - ezcharts ==0.11.2 + - pysam ==0.22.0 + - fastcat ==0.18.6 + - pandas <2.0.0 + - epi2melabs ==0.0.53 + - samtools ==1.19.2 + - csvtk diff --git a/fastcat/version b/fastcat/version new file mode 100644 index 0000000..9c8e505 --- /dev/null +++ b/fastcat/version @@ -0,0 +1 @@ +v0.18.6