Skip to content

Commit

Permalink
Add/update requested gwas.sif binaries (#214)
Browse files Browse the repository at this point in the history
* add gdb, ldak, snptest; update metal, qctool

* update changelog

* fixed tests

* updated changelog

* rebuilt gwas.sif
  • Loading branch information
espenhgn authored Dec 14, 2023
1 parent e493751 commit 842638d
Show file tree
Hide file tree
Showing 13 changed files with 159 additions and 61 deletions.
15 changes: 14 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,20 @@ If MD5 sum is not listed for a certain release then it means that the container

* Miscellaneous goes here

## [1.5.1] - 2023-10.20
## [1.6.0] - 2023-12-12

### Added

- Added `gdb` debugger, `ldak` and `snptest` binaries to `gwas.sif` container
- Added tests for `ldak` and `snptest` binaries in `gwas.sif` container

### Updated

- updated `metal` to version `2020-05-05` in `gwas.sif`
- updated `qctool` to `v2.2.2` and added related binaries `inthinnerator`, `hptest`, `ldbird` and `selfmap` to `gwas.sif`
- rebuilt `gwas.sif` (md5 checksum b6104b58d21f862f9d61a86d9d4802a6)

## [1.5.1] - 2023-10-20

### Fixed

Expand Down
6 changes: 4 additions & 2 deletions docker/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,11 +48,12 @@ The detailed description of the available container [files](https://github.com/c
| gwas.sif | flashpca_x86-64 | 2.0 | [GPLv3](https://www.gnu.org/licenses/gpl-3.0.html)
| gwas.sif | gcta64 | version 1.93.3 beta 2 Linux | [GPLv3](https://www.gnu.org/licenses/gpl-3.0.html)
| gwas.sif | gctb | 2.02 | [MIT](https://opensource.org/licenses/MIT)
| gwas.sif | qctool | 2.0.6, revision 18b8f17 | [Boost](https://www.boost.org/LICENSE_1_0.txt)
| gwas.sif | qctool | 2.2.2, revision e5723df2c0c85959 | [Boost](https://www.boost.org/LICENSE_1_0.txt)
| gwas.sif | GWAMA | 2.2.2 | [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause)
| gwas.sif | HTSlib | 1.12 | [MIT/Expat/Modified-BSD](https://github.com/samtools/htslib/blob/develop/LICENSE)
| gwas.sif | king | 2.2.9 - (c) | [permissive](https://www.kingrelatedness.com/Download.shtml)
| gwas.sif | metal | version released on 2011-03-25 | -
| gwas.sif | ldak | 5.2 | [GPLv3](https://www.gnu.org/licenses/gpl-3.0.html)
| gwas.sif | metal | 2020-05-05 | -
| gwas.sif | minimac4 | v4.1.0 | [GPLv3](https://www.gnu.org/licenses/gpl-3.0.html)
| gwas.sif | plink | v1.90b6.18 64-bit (16 Jun 2020) | [GPLv3](https://www.gnu.org/licenses/gpl-3.0.html)
| gwas.sif | plink2 | v2.00a3.6LM 64-bit Intel (14 Aug 2022) | [GPLv3](https://www.gnu.org/licenses/gpl-3.0.html)
Expand All @@ -66,6 +67,7 @@ The detailed description of the available container [files](https://github.com/c
| gwas.sif | shapeit5 switch | v5.1.1 | [MIT](https://opensource.org/licenses/MIT)
| gwas.sif | shapeit5 xcftools | v5.1.1 | [MIT](https://opensource.org/licenses/MIT)
| gwas.sif | simu_linux | v0.9.4 | [GPLv3](https://www.gnu.org/licenses/gpl-3.0.html)
| gwas.sif | snptest | v2.5.6 | [permissive](https://www.chg.ox.ac.uk/~gav/snptest/#download)
| gwas.sif | switchError | 6e688b1 | [MIT](https://opensource.org/licenses/MIT)
| gwas.sif | vcftools | 0.1.17 | [GPLv3](https://www.gnu.org/licenses/gpl-3.0.html)
| python3.sif | ubuntu | 20.04 (LTS) | [Creative Commons CC-BY-SA version 3.0 UK licence](https://ubuntu.com/legal/intellectual-property-policy)
Expand Down
22 changes: 17 additions & 5 deletions docker/dockerfiles/gwas/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -59,18 +59,30 @@ COPY /scripts/install_gctb.sh /tmp/gctb/
RUN bash /tmp/gctb/install_gctb.sh && \
rm -rf /tmp/gctb

# qctools
WORKDIR /tmp/qctools
COPY /scripts/install_qctools.sh /tmp/qctools/
RUN bash /tmp/qctools/install_qctools.sh && \
rm -rf /tmp/qctools
# qctool
WORKDIR /tmp/qctool
COPY /scripts/install_qctools.sh /tmp/qctool/
RUN bash /tmp/qctool/install_qctools.sh && \
rm -rf /tmp/qctool

# snptest
WORKDIR /tmp/snptest
COPY /scripts/install_snptest.sh /tmp/snptest/
RUN bash /tmp/snptest/install_snptest.sh && \
rm -rf /tmp/snptest

# king
WORKDIR /tmp/king
COPY /scripts/install_king.sh /tmp/king/
RUN bash /tmp/king/install_king.sh && \
rm -rf /tmp/king

# ldak
WORKDIR /tmp/ldak
COPY /scripts/install_ldak.sh /tmp/ldak/
RUN bash /tmp/ldak/install_ldak.sh && \
rm -rf /tmp/ldak

# metal
WORKDIR /tmp/metal
COPY /scripts/install_metal.sh /tmp/metal/
Expand Down
15 changes: 8 additions & 7 deletions docker/scripts/apt_get_essential.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/sh
set -euo pipefail

apt-get update && apt-get install -y --no-install-recommends apt-utils=2.0.9
apt-get update && apt-get install -y --no-install-recommends apt-utils=2.0.10
apt-get update && apt-get install -y --no-install-recommends ca-certificates=20230311ubuntu0.20.04.1 && \
update-ca-certificates

Expand All @@ -12,27 +12,28 @@ apt-get update && apt-get install -y --no-install-recommends \
build-essential=12.8ubuntu1 \
bzip2=1.0.8-2 \
cmake=3.16.3-1ubuntu1.20.04.1 \
curl=7.68.0-1ubuntu2.19 \
curl=7.68.0-1ubuntu2.21 \
dos2unix=7.4.0-2 \
gdb=9.1-0ubuntu1 \
gfortran=4:9.3.0-1ubuntu2 \
git=1:2.25.1-1ubuntu3.11 \
less=551-1ubuntu0.1 \
libatlas-base-dev=3.10.3-8ubuntu7 \
libcurl4-openssl-dev=7.68.0-1ubuntu2.19 \
libcurl4-openssl-dev=7.68.0-1ubuntu2.21 \
libgomp1=10.5.0-1ubuntu1~20.04 \
libgsl-dev=2.5+dfsg-6build1 \
libgsl-dev=2.5+dfsg-6+deb10u1build0.20.04.1 \
libnss3=2:3.49.1-1ubuntu1.9 \
libpcre2-dev=10.34-7ubuntu0.1 \
libxt-dev=1:1.1.5-1 \
pandoc=2.5-3build2 \
pandoc-citeproc=0.15.0.1-1build4 \
parallel=20161222-1.1 \
perl=5.30.0-9ubuntu0.4 \
perl=5.30.0-9ubuntu0.5 \
pkg-config=0.29.1-0ubuntu4 \
tar=1.30+dfsg-7ubuntu0.20.04.2 \
tar=1.30+dfsg-7ubuntu0.20.04.4 \
tofrodos=1.7.13+ds-4 \
unzip=6.0-25ubuntu1.1 \
vim=2:8.1.2269-1ubuntu5.17 \
vim=2:8.1.2269-1ubuntu5.20 \
wget=1.20.3-1ubuntu2 \
zlib1g-dev=1:1.2.11.dfsg-2ubuntu1.5 \
&& \
Expand Down
4 changes: 2 additions & 2 deletions docker/scripts/install_bcftools.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ set -euo pipefail

# deps
apt-get update && apt-get install -y --no-install-recommends \
libcurl4-gnutls-dev=7.68.0-1ubuntu2.19 \
libperl-dev=5.30.0-9ubuntu0.4 \
libcurl4-gnutls-dev=7.68.0-1ubuntu2.21 \
libperl-dev=5.30.0-9ubuntu0.5 \
&& \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
Expand Down
2 changes: 1 addition & 1 deletion docker/scripts/install_htslib.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ set -euo pipefail
apt-get update && apt-get install --no-install-recommends \
libbz2-dev=1.0.8-2 \
liblzma-dev=5.2.4-1ubuntu1.1 \
libssl-dev=1.1.1f-1ubuntu2.19 \
libssl-dev=1.1.1f-1ubuntu2.20 \
-y && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
Expand Down
6 changes: 6 additions & 0 deletions docker/scripts/install_ldak.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/bin/sh
set -euo pipefail

wget --no-check-certificate https://dougspeed.com/wp-content/uploads/ldak5.2.linux_.zip
unzip ldak5.2.linux_.zip
cp ldak5.2.linux /bin/ldak
12 changes: 7 additions & 5 deletions docker/scripts/install_metal.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,11 @@
set -euo pipefail

# metal
wget --no-check-certificate http://csg.sph.umich.edu/abecasis/metal/download/Linux-metal.tar.gz && \
tar -xvzf Linux-metal.tar.gz && \
rm -rf Linux-metal.tar.gz
wget --no-check-certificate https://github.com/statgen/METAL/archive/refs/tags/2020-05-05.tar.gz
tar -xvzf 2020-05-05.tar.gz

mv generic-metal/* .
cp metal /bin
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ../METAL-2020-05-05/.
make -j4
make install
cp bin/metal /bin
2 changes: 1 addition & 1 deletion docker/scripts/install_minimac4.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ set -euo pipefail
# install some deps for installing cget
apt-get update && \
apt-get install --no-install-recommends \
python3-pip=20.0.2-5ubuntu1.9 \
python3-pip=20.0.2-5ubuntu1.10 \
python3-click=7.0-3 \
python3-six=1.14.0-2 \
-y && \
Expand Down
30 changes: 23 additions & 7 deletions docker/scripts/install_qctools.sh
Original file line number Diff line number Diff line change
@@ -1,13 +1,29 @@
#!/bin/sh
set -euo pipefail

# qctools
wget --no-check-certificate https://www.well.ox.ac.uk/~gav/resources/qctool_v2.0.6-Ubuntu16.04-x86_64.tgz && \
tar -xvzf qctool_v2.0.6-Ubuntu16.04-x86_64.tgz && \
rm -rf qctool_v2.0.6-Ubuntu16.04-x86_64.tgz
# python appears to be a build time dependency
apt-get update && apt-get install -y --no-install-recommends python3=3.8.2-0ubuntu2 && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*

# /usr/bin/python must exist
update-alternatives --install /usr/bin/python python /usr/bin/python3 10

# qctools
wget --no-check-certificate https://code.enkre.net/qctool/zip/e5723df2c0c85959/qctool.zip
unzip qctool.zip
cd qctool
./waf configure
./waf

mv qctool_v2.0.6-Ubuntu16.04-x86_64/* .
cp qctool /bin
# copy binaries to /bin
cp build/release/apps/inthinnerator_v2.2.2 /bin/inthinnerator
cp build/release/apps/hptest_v2.2.2 /bin/hptest
cp build/release/apps/ldbird_v2.2.2 /bin/ldbird
cp build/release/apps/qctool_v2.2.2 /bin/qctool
cp build/release/apps/selfmap_v2.2.2 /bin/selfmap

chmod 755 /bin/qctool
# remove python
apt-get purge \
python3 -y && \
apt-get autoremove --purge -y
7 changes: 7 additions & 0 deletions docker/scripts/install_snptest.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/bin/sh
set -euo pipefail

# snptest
wget --no-check-certificate http://www.well.ox.ac.uk/~gav/resources/snptest_v2.5.6_CentOS_Linux7.8-x86_64_dynamic.tgz
tar -xvzf snptest_v2.5.6_CentOS_Linux7.8-x86_64_dynamic.tgz
cp snptest_v2.5.6_CentOS_Linux7.8.2003-x86_64_dynamic/snptest_v2.5.6 /bin/snptest
4 changes: 2 additions & 2 deletions singularity/gwas.sif
Git LFS file not shown
Loading

0 comments on commit 842638d

Please sign in to comment.