From 2a444c60d5d70ae779e5a5ce8de2d6da6838c96b Mon Sep 17 00:00:00 2001 From: Magnus Wahlberg Date: Thu, 19 Oct 2023 11:02:48 +0200 Subject: [PATCH] Restore all pipelines --- .github/workflows/github-actions.yml | 123 +++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) diff --git a/.github/workflows/github-actions.yml b/.github/workflows/github-actions.yml index 61eb3a17..1fecb38c 100644 --- a/.github/workflows/github-actions.yml +++ b/.github/workflows/github-actions.yml @@ -4,6 +4,88 @@ on: [ push ] jobs: + DeepRVAT-Pipeline-Smoke-Tests: + runs-on: ubuntu-latest + steps: + - name: Check out repository code + uses: actions/checkout@v3 + - name: Training Association Testing smoke test + uses: snakemake/snakemake-github-action@v1.24.0 + with: + directory: 'example' + snakefile: 'pipelines/training_association_testing.snakefile' + args: '-j 2 -n' + - name: Link pretrained models + run: cd ${{ github.workspace }}/example && ln -s ../pretrained_models + - name: Association Testing Pretrained Smoke Test + uses: snakemake/snakemake-github-action@v1.24.0 + with: + directory: 'example' + snakefile: 'pipelines/association_testing_pretrained.snakefile' + args: '-j 2 -n' + - name: Seed Gene Discovery Smoke Test + uses: snakemake/snakemake-github-action@v1.24.0 + with: + directory: 'example' + snakefile: 'pipelines/seed_gene_discovery.snakefile' + args: '-j 2 -n' + + DeepRVAT-Pipeline-Tests: + runs-on: ubuntu-latest + needs: DeepRVAT-Pipeline-Smoke-Tests + steps: + - name: Check out repository code + uses: actions/checkout@v3 + - uses: mamba-org/setup-micromamba@v1.4.3 + with: + environment-name: deeprvat-gh-action + environment-file: ${{ github.workspace }}/deeprvat_env_no_gpu.yml + cache-environment: true + cache-downloads: true + - name: Install DeepRVAT + run: pip install -e ${{ github.workspace }} + shell: micromamba-shell {0} + # There are no GPUs on the gh worker, so we disable it in the config + - name: Update config to use no gpus + run: "sed -i 's/gpus: 1/gpus: 0/' ${{ github.workspace }}/example/config.yaml" + shell: bash -el {0} + - name: Run training_association_testing pipeline + run: | + python -m snakemake -j 2 --directory ${{ github.workspace }}/example \ + --snakefile ${{ github.workspace }}/pipelines/training_association_testing.snakefile --show-failed-logs + shell: micromamba-shell {0} + - name: Link pretrained models + run: cd ${{ github.workspace }}/example && ln -s ../pretrained_models + shell: bash -el {0} + - name: Run association_testing_pretrained pipeline + run: | + python -m snakemake -j 2 --directory ${{ github.workspace }}/example \ + --snakefile ${{ github.workspace }}/pipelines/association_testing_pretrained.snakefile --show-failed-logs + shell: micromamba-shell {0} + - name: Copy seed gene discovery snakemake config + run: cd ${{ github.workspace }}/example && cp ../deeprvat/seed_gene_discovery/config.yaml . + shell: bash -el {0} + - name: Run seed_gene_discovery pipeline + run: | + python -m snakemake -j 2 --directory ${{ github.workspace }}/example \ + --snakefile ${{ github.workspace }}/pipelines/seed_gene_discovery.snakefile --show-failed-logs + shell: micromamba-shell {0} + + + DeepRVAT-Preprocessing-Pipeline-Smoke-Tests: + runs-on: ubuntu-latest + steps: + - name: Check out repository code + uses: actions/checkout@v3 + - name: Preprocessing Smoke Test + uses: snakemake/snakemake-github-action@v1.24.0 + with: + directory: 'example/preprocess' + snakefile: 'pipelines/preprocess.snakefile' + args: '-j 2 -n --configfile pipelines/config/deeprvat_preprocess_config.yaml' + stagein: 'touch example/preprocess/workdir/reference/GRCh38.primary_assembly.genome.fa' + + DeepRVAT-Annotation-Pipeline-Smoke-Tests: runs-on: ubuntu-latest steps: @@ -15,3 +97,44 @@ jobs: directory: 'example/annotations' snakefile: 'pipelines/annotations.snakefile' args: '-j 2 -n --configfile pipelines/config/deeprvat_annotation_config.yaml' + + + DeepRVAT-Preprocessing-Pipeline-Tests: + runs-on: ubuntu-latest + needs: DeepRVAT-Preprocessing-Pipeline-Smoke-Tests + steps: + + - name: Check out repository code + uses: actions/checkout@v3 + - uses: mamba-org/setup-micromamba@v1.4.3 + with: + environment-name: deeprvat-preprocess-gh-action + environment-file: ${{ github.workspace }}/deeprvat_preprocessing_env.yml + cache-environment: true + cache-downloads: true + + - name: Install DeepRVAT + run: pip install -e ${{ github.workspace }} + shell: micromamba-shell {0} + + - name: Cache Fasta file + id: cache-fasta + uses: actions/cache@v3 + with: + path: example/preprocess/workdir/reference + key: ${{ runner.os }}-reference-fasta + + - name: Download and unpack fasta data + if: steps.cache-fasta.outputs.cache-hit != 'true' + run: | + cd ${{ github.workspace }}/example/preprocess && \ + wget https://ftp.ebi.ac.uk/pub/databases/gencode/Gencode_human/release_44/GRCh38.primary_assembly.genome.fa.gz \ + -O workdir/reference/GRCh38.primary_assembly.genome.fa.gz \ + && gzip -d workdir/reference/GRCh38.primary_assembly.genome.fa.gz + + - name: Run preprocessing pipeline + run: | + python -m snakemake -j 2 --directory ${{ github.workspace }}/example/preprocess \ + --snakefile ${{ github.workspace }}/pipelines/preprocess.snakefile \ + --configfile ${{ github.workspace }}/pipelines/config/deeprvat_preprocess_config.yaml --show-failed-logs + shell: micromamba-shell {0}