diff --git a/.github/workflows/run_quick_tests.yaml b/.github/workflows/run_quick_tests.yaml index 9e6a06c..91b3f15 100644 --- a/.github/workflows/run_quick_tests.yaml +++ b/.github/workflows/run_quick_tests.yaml @@ -34,12 +34,17 @@ jobs: else echo "BRANCH_NAME=${{ github.ref_name }}" >> $GITHUB_ENV fi - + + - name: Install system dependencies + run: | + apt-get update + # libuv1-dev: required to compile 'fs' (>= 2.x), a transitive dep of testthat. + # zlib1g-dev: enables data.table fwrite compression (otherwise NOZLIB). + apt-get install -y libuv1-dev zlib1g-dev + - name: Install R dependencies run: | - Rscript -e 'install.packages("testthat", repos="https://cran.rstudio.com/")' - Rscript -e 'install.packages("data.table", repos="https://cran.rstudio.com/")' - Rscript -e 'install.packages("R.utils", repos="https://cran.rstudio.com/")' + Rscript -e 'pkgs <- c("testthat", "data.table", "R.utils"); install.packages(pkgs, repos = "https://cran.rstudio.com/"); missing <- pkgs[!pkgs %in% rownames(installed.packages())]; if (length(missing)) stop("Failed to install: ", paste(missing, collapse = ", "))' - name: Run tests run: | diff --git a/pipeline/rules/dependencies.smk b/pipeline/rules/dependencies.smk index 8913566..76623ae 100644 --- a/pipeline/rules/dependencies.smk +++ b/pipeline/rules/dependencies.smk @@ -728,6 +728,10 @@ rule download_prscs_ref_ukb: rm -r -f {resdir}/data/prscs_ref/ukbb/ldblk_ukbb_{wildcards.population}; \ wget --no-check-certificate -O {resdir}/data/prscs_ref/ukbb/ldblk_ukbb_{wildcards.population}.tar.gz {params.url}; \ tar -zxvf {resdir}/data/prscs_ref/ukbb/ldblk_ukbb_{wildcards.population}.tar.gz -C {resdir}/data/prscs_ref/ukbb/; \ + extracted_dir=$(tar -tzf {resdir}/data/prscs_ref/ukbb/ldblk_ukbb_{wildcards.population}.tar.gz | head -1 | cut -d/ -f1); \ + if [ "$extracted_dir" != "ldblk_ukbb_{wildcards.population}" ]; then \ + mv {resdir}/data/prscs_ref/ukbb/"$extracted_dir" {resdir}/data/prscs_ref/ukbb/ldblk_ukbb_{wildcards.population}; \ + fi; \ rm {resdir}/data/prscs_ref/ukbb/ldblk_ukbb_{wildcards.population}.tar.gz }} > {log} 2>&1 """ @@ -761,6 +765,10 @@ rule download_prscs_ref_1kg: rm -r -f {resdir}/data/prscs_ref/1kg/ldblk_1kg_{wildcards.population}; \ wget --no-check-certificate -O {resdir}/data/prscs_ref/1kg/ldblk_1kg_{wildcards.population}.tar.gz {params.url}; \ tar -zxvf {resdir}/data/prscs_ref/1kg/ldblk_1kg_{wildcards.population}.tar.gz -C {resdir}/data/prscs_ref/1kg/; \ + extracted_dir=$(tar -tzf {resdir}/data/prscs_ref/1kg/ldblk_1kg_{wildcards.population}.tar.gz | head -1 | cut -d/ -f1); \ + if [ "$extracted_dir" != "ldblk_1kg_{wildcards.population}" ]; then \ + mv {resdir}/data/prscs_ref/1kg/"$extracted_dir" {resdir}/data/prscs_ref/1kg/ldblk_1kg_{wildcards.population}; \ + fi; \ rm {resdir}/data/prscs_ref/1kg/ldblk_1kg_{wildcards.population}.tar.gz }} > {log} 2>&1 """