diff --git a/README.md b/README.md index 9796483a086c62c14ac3270ffd7a068fa96cecc0..fec96e2466dd17b76f2adaaf94f53f4ec012d9a0 100755 --- a/README.md +++ b/README.md @@ -68,6 +68,7 @@ NextFlow pipeline used by the Developmental Cognitive Neuroscience Lab (DCNL) to mkdir images apptainer build \ --mksquashfs-args="-comp lz4" \ + --build-arg-file="containers/versions.txt" \ images/debian-nanopore.sif \ containers/debian-nanopore.def ``` diff --git a/containers/debian-nanopore.def b/containers/debian-nanopore.def index e55c1c18f56def3a5593a502f857596726eb8496..d8d4fa482ce7f29783655c33b443d0cd6ecfbe15 100644 --- a/containers/debian-nanopore.def +++ b/containers/debian-nanopore.def @@ -8,12 +8,12 @@ From: debian:12 locales \ wget \ git \ - jq \ - python3 \ + jq="{{ JQ_VERSION }}" \ + python3="{{ PYTHON3_VERSION }}" \ python3-pip \ cython3 \ - samtools \ - bedtools \ + samtools="{{ SAMTOOLS_VERSION }}" \ + bedtools="{{ BEDTOOLS_VERSION }}" \ && apt-get clean && rm -rf /var/lib/apt/lists/* # Set timezone and language for container ## @@ -27,32 +27,35 @@ From: debian:12 # using no-cache-dir so we dont keep a copy of the downloaded package # and break-system-packages to override PEP 668 (which blocks pip installs) pip install --no-cache-dir --break-system-packages \ - pod5==0.3.23 \ - multiqc==1.28 \ - plotly==5.18.0 + pod5=={{ POD5_VERSION }} \ + multiqc=={{ MULTIQC_VERSION }} \ + plotly=={{ PLOTLY_VERSION }} - # Clone and install pycoQC 3.0.0 from duceppemo fork (altering plotly version to match MultiQC plotly version >= 5.18) + # Clone and install pycoQC from duceppemo fork + # (change plotly version to match MultiQC plotly version >= 5.18) cd /opt - git clone https://github.com/duceppemo/pycoQC.git + # clone from the CIACD fork + git clone https://gmapsrv.pucrs.br/gitlab/ccd-public/pycoQC.git cd pycoQC - sed -i 's/plotly==5.16.1/plotly==5.18.0/' setup.py python3 setup.py install # Install modkit cd /opt mkdir modkit && cd modkit - wget https://github.com/nanoporetech/modkit/releases/download/v0.4.4/modkit_v0.4.4_u16_x86_64.tar.gz - tar -xzf modkit_v0.4.4_u16_x86_64.tar.gz - rm modkit_v0.4.4_u16_x86_64.tar.gz - echo 'export PATH="/opt/modkit/dist_modkit_v0.4.4_7cf558c:$PATH"' >> "$SINGULARITY_ENVIRONMENT" + wget "https://github.com/nanoporetech/modkit/releases/download/{{ MODKIT_VERSION }}/modkit_{{ MODKIT_VERSION }}_u16_x86_64.tar.gz" + tar -xzf "modkit_{{ MODKIT_VERSION }}_u16_x86_64.tar.gz" + rm "modkit_{{ MODKIT_VERSION }}_u16_x86_64.tar.gz" + cd "dist_modkit_{{ MODKIT_VERSION }}"* + echo 'export PATH="'"$(pwd)"'/:$PATH"' >> "$SINGULARITY_ENVIRONMENT" # Install Dorado cd /opt mkdir dorado && cd dorado - wget https://cdn.oxfordnanoportal.com/software/analysis/dorado-1.0.1-linux-x64.tar.gz - tar -xzf dorado-1.0.1-linux-x64.tar.gz - rm dorado-1.0.1-linux-x64.tar.gz - echo 'export PATH="/opt/dorado/dorado-1.0.1-linux-x64/bin/:$PATH"' >> "$SINGULARITY_ENVIRONMENT" + wget "https://cdn.oxfordnanoportal.com/software/analysis/dorado-{{ DORADO_VERSION }}-linux-x64.tar.gz" + tar -xzf "dorado-{{ DORADO_VERSION }}-linux-x64.tar.gz" + rm "dorado-{{ DORADO_VERSION }}-linux-x64.tar.gz" + cd "dorado-{{ DORADO_VERSION }}"* + echo 'export PATH="'"$(pwd)"'/bin/:$PATH"' >> "$SINGULARITY_ENVIRONMENT" %test # Check if installations are on path and display their versions @@ -64,22 +67,23 @@ From: debian:12 samtools --version bedtools --version jq --version + python3 --version %labels author Joao Henrique Chrusciel - version v0.5.0 + version {{ DEBIAN_NANOPORE_VERSION }} %help Software included in the container are: - dorado==1.0.1 - modkit==0.4.4 - samtools==1.16.1 - pod5==0.3.23 - pycoQC==2.5.2 - bedtools==2.30.0 - multiqc==1.28 - jq==1.6 + dorado=={{ DORADO_VERSION }} + modkit=={{ MODKIT_VERSION }} + samtools=={{ SAMTOOLS_VERSION }} + pod5=={{ POD5_VERSION }} + pycoQC=={{ PYCOQC_VERION }} + bedtools=={{ BEDTOOLS_VERSION }} + multiqc=={{ MULTIQC_VERSION }} + jq=={{ JQ_VERSION }} NOTE THAT VERSIONS OF THE SOFTWARE INSTALLED WILL CHANGE THROUGH TIME IF YOU BUILD THE IMAGE FROM THE RECIPE FILE. diff --git a/containers/versions.txt b/containers/versions.txt new file mode 100644 index 0000000000000000000000000000000000000000..f62054504b70b10936566ce611ae3e0015a2ffe7 --- /dev/null +++ b/containers/versions.txt @@ -0,0 +1,11 @@ +DEBIAN_NANOPORE_VERSION="v0.5.2" +JQ_VERSION="1.6-2.1" +SAMTOOLS_VERSION="1.16.1-1" +BEDTOOLS_VERSION="2.30.0+dfsg-3" +PYTHON3_VERSION="3.11.2-1+b1" +POD5_VERSION="0.3.23" +MULTIQC_VERSION="1.28" +PLOTLY_VERSION="5.18.0" +PYCOQC_VERION="3.0.0" +MODKIT_VERSION="v0.4.3" +DORADO_VERSION="0.9.1"