Singularity #67
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test Harpy Modules | |
on: | |
push: | |
branches: | |
- 'dev' | |
pull_request: | |
branches: | |
- dev | |
# Cancel in progress workflows on pull_requests. | |
# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
env: | |
CACHE_NUMBER: 0 # increase to reset cache manually | |
jobs: | |
changes: | |
name: detect file changes | |
runs-on: ubuntu-latest | |
# Required permissions | |
permissions: | |
pull-requests: read | |
# Set job outputs to values from filter step | |
outputs: | |
preflight: ${{ steps.filter.outputs.preflight }} | |
demux: ${{ steps.filter.outputs.demux }} | |
qc: ${{ steps.filter.outputs.qc }} | |
bwa: ${{ steps.filter.outputs.bwa }} | |
ema: ${{ steps.filter.outputs.ema }} | |
minimap: ${{ steps.filter.outputs.minimap }} | |
mpileup: ${{ steps.filter.outputs.mpileup }} | |
freebayes: ${{ steps.filter.outputs.freebayes }} | |
leviathan: ${{ steps.filter.outputs.leviathan }} | |
naibr: ${{ steps.filter.outputs.naibr }} | |
impute: ${{ steps.filter.outputs.impute }} | |
phase: ${{ steps.filter.outputs.phase }} | |
simvars: ${{ steps.filter.outputs.simvars }} | |
simreads: ${{ steps.filter.outputs.simreads }} | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: check which files changed | |
uses: dorny/paths-filter@v3 | |
id: filter | |
with: | |
base: 'dev' | |
filters: .github/filters.yml | |
pkgbuild: | |
name: harpy installation | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: setup mamba | |
uses: mamba-org/setup-micromamba@v1 | |
with: | |
init-shell: bash | |
generate-run-shell: true | |
environment-file: resources/harpy.yaml | |
cache-environment: true | |
post-cleanup: 'all' | |
- name: Install harpy | |
shell: micromamba-shell {0} | |
run: | | |
python3 -m pip install --upgrade build && python3 -m build | |
pip install dist/*.whl | |
resources/buildforCI.sh | |
test_dmux_gen1: | |
needs: [changes, pkgbuild] | |
if: ${{ needs.changes.outputs.demux == 'true' && needs.pkgbuild.result == 'success' }} | |
name: test demux gen1 | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: setup mamba | |
uses: mamba-org/setup-micromamba@v1 | |
with: | |
init-shell: bash | |
generate-run-shell: true | |
environment-file: resources/harpy.yaml | |
cache-environment: true | |
post-cleanup: 'all' | |
- name: Install harpy | |
shell: micromamba-shell {0} | |
run: | | |
python3 -m pip install --upgrade build && python3 -m build | |
pip install dist/*.whl | |
resources/buildforCI.sh | |
- name: harpy demultiplex | |
run: harpy demultiplex gen1 --snakemake "--apptainer-args --sandbox" --schema test/demux/samples.schema test/demux/Undetermined_S0_L004_R* test/demux/Undetermined_S0_L004_I* | |
shell: micromamba-shell {0} | |
test_preflight: | |
needs: [changes, pkgbuild] | |
if: ${{ needs.changes.outputs.preflight == 'true' && needs.pkgbuild.result == 'success' }} | |
name: test preflight | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: setup mamba | |
uses: mamba-org/setup-micromamba@v1 | |
env: | |
ACTIONS_STEP_DEBUG: true | |
with: | |
init-shell: bash | |
generate-run-shell: true | |
environment-file: resources/harpy.yaml | |
cache-environment: true | |
post-cleanup: 'all' | |
log-level: error | |
- name: Install harpy | |
shell: micromamba-shell {0} | |
run: | | |
python3 -m pip install --upgrade build && python3 -m build | |
pip install dist/*.whl | |
resources/buildforCI.sh | |
- name: test preflight fastq | |
shell: micromamba-shell {0} | |
run: harpy preflight fastq --snakemake "--apptainer-args sandbox" test/fastq | |
- name: test preflight bam | |
if: always() | |
shell: micromamba-shell {0} | |
run: harpy preflight bam --snakemake "--apptainer-args sandbox" test/bam | |
test_qc: | |
needs: [changes, pkgbuild] | |
if: ${{ needs.changes.outputs.qc == 'true' && needs.pkgbuild.result == 'success' }} | |
name: test qc | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: setup mamba | |
uses: mamba-org/setup-micromamba@v1 | |
env: | |
ACTIONS_STEP_DEBUG: true | |
with: | |
init-shell: bash | |
generate-run-shell: true | |
environment-file: resources/harpy.yaml | |
cache-environment: true | |
post-cleanup: 'all' | |
log-level: error | |
- name: Install harpy | |
shell: micromamba-shell {0} | |
run: | | |
python3 -m pip install --upgrade build && python3 -m build | |
pip install dist/*.whl | |
resources/buildforCI.sh | |
- name: harpy qc | |
shell: micromamba-shell {0} | |
run: harpy qc -x "--trim_poly_g" --snakemake "--show-failed-logs --apptainer-args sandbox" test/fastq | |
- name: harpy qc skip adapter trimming | |
if: always() | |
shell: micromamba-shell {0} | |
run: harpy qc -a --snakemake "--show-failed-logs --apptainer-args sandbox" test/fastq | |
test_bwa: | |
needs: [changes, pkgbuild] | |
if: ${{ needs.changes.outputs.bwa == 'true' && needs.pkgbuild.result == 'success' }} | |
name: test align BWA | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: setup mamba | |
uses: mamba-org/setup-micromamba@v1 | |
env: | |
ACTIONS_STEP_DEBUG: true | |
with: | |
init-shell: bash | |
generate-run-shell: true | |
environment-file: resources/harpy.yaml | |
cache-environment: true | |
post-cleanup: 'all' | |
log-level: error | |
- name: Install harpy | |
shell: micromamba-shell {0} | |
run: | | |
python3 -m pip install --upgrade build && python3 -m build | |
pip install dist/*.whl | |
resources/buildforCI.sh | |
- name: test bwa | |
shell: micromamba-shell {0} | |
run: harpy align bwa -g test/genome/genome.fasta.gz --snakemake "--show-failed-logs --apptainer-args sandbox" -x "-A 2" test/fastq | |
test_ema: | |
needs: [changes, pkgbuild] | |
if: ${{ needs.changes.outputs.ema == 'true' && needs.pkgbuild.result == 'success' }} | |
name: test align EMA | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: setup mamba | |
uses: mamba-org/setup-micromamba@v1 | |
env: | |
ACTIONS_STEP_DEBUG: true | |
with: | |
init-shell: bash | |
generate-run-shell: true | |
environment-file: resources/harpy.yaml | |
cache-environment: true | |
post-cleanup: 'all' | |
log-level: error | |
- name: Install harpy | |
shell: micromamba-shell {0} | |
run: | | |
python3 -m pip install --upgrade build && python3 -m build | |
pip install dist/*.whl | |
resources/buildforCI.sh | |
- name: test ema | |
shell: micromamba-shell {0} | |
run: harpy align ema --ema-bins 150 -g test/genome/genome.fasta.gz --snakemake "--show-failed-logs --apptainer-args sandbox" -x "-d" test/fastq | |
test_minimap: | |
needs: [changes, pkgbuild] | |
if: ${{ needs.changes.outputs.minimap == 'true' && needs.pkgbuild.result == 'success' }} | |
name: test align minimap | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: setup mamba | |
uses: mamba-org/setup-micromamba@v1 | |
env: | |
ACTIONS_STEP_DEBUG: true | |
with: | |
init-shell: bash | |
generate-run-shell: true | |
environment-file: resources/harpy.yaml | |
cache-environment: true | |
post-cleanup: 'all' | |
log-level: error | |
- name: Install harpy | |
shell: micromamba-shell {0} | |
run: | | |
python3 -m pip install --upgrade build && python3 -m build | |
pip install dist/*.whl | |
resources/buildforCI.sh | |
- name: test minimap | |
shell: micromamba-shell {0} | |
run: harpy align minimap -g test/genome/genome.fasta.gz --snakemake "--show-failed-logs --apptainer-args sandbox" -x "--seed 13" test/fastq | |
test_mpileup: | |
needs: [changes, pkgbuild] | |
if: ${{ needs.changes.outputs.mpileup == 'true' && needs.pkgbuild.result == 'success' }} | |
name: test mpileup | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: setup mamba | |
uses: mamba-org/setup-micromamba@v1 | |
env: | |
ACTIONS_STEP_DEBUG: true | |
with: | |
init-shell: bash | |
generate-run-shell: true | |
environment-file: resources/harpy.yaml | |
cache-environment: true | |
post-cleanup: 'all' | |
log-level: error | |
- name: Install harpy | |
shell: micromamba-shell {0} | |
run: | | |
python3 -m pip install --upgrade build && python3 -m build | |
pip install dist/*.whl | |
resources/buildforCI.sh | |
- name: snp mpileup | |
shell: micromamba-shell {0} | |
run: harpy snp mpileup -r test/positions.bed -g test/genome/genome.fasta.gz -x "--ignore-RG" test/bam | |
- name: snp mpileup-pop | |
shell: micromamba-shell {0} | |
run: harpy snp mpileup -r test/positions.bed -o SNP/poptest -g test/genome/genome.fasta.gz -p test/samples.groups -s "--apptainer-args --sandbox" test/bam | |
test_freebayes: | |
needs: [changes, pkgbuild] | |
if: ${{ needs.changes.outputs.freebayes == 'true' && needs.pkgbuild.result == 'success' }} | |
name: test freebayes | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: setup mamba | |
uses: mamba-org/setup-micromamba@v1 | |
env: | |
ACTIONS_STEP_DEBUG: true | |
with: | |
init-shell: bash | |
generate-run-shell: true | |
environment-file: resources/harpy.yaml | |
cache-environment: true | |
post-cleanup: 'all' | |
log-level: error | |
- name: Install harpy | |
shell: micromamba-shell {0} | |
run: | | |
python3 -m pip install --upgrade build && python3 -m build | |
pip install dist/*.whl | |
resources/buildforCI.sh | |
- name: snp freebayes | |
shell: micromamba-shell {0} | |
run: harpy snp freebayes -r test/positions.bed -g test/genome/genome.fasta.gz -x "-g 200" test/bam | |
- name: snp freebayes-pop | |
shell: micromamba-shell {0} | |
run: harpy snp freebayes -r test/positions.bed -o SNP/poptest -g test/genome/genome.fasta.gz -p test/samples.groups test/bam | |
test_impute: | |
needs: [changes, pkgbuild] | |
if: ${{ needs.changes.outputs.impute == 'true' && needs.pkgbuild.result == 'success' }} | |
name: test impute | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: setup mamba | |
uses: mamba-org/setup-micromamba@v1 | |
env: | |
ACTIONS_STEP_DEBUG: true | |
with: | |
init-shell: bash | |
generate-run-shell: true | |
environment-file: resources/harpy.yaml | |
cache-environment: true | |
post-cleanup: 'all' | |
log-level: error | |
- name: Install harpy | |
shell: micromamba-shell {0} | |
run: | | |
python3 -m pip install --upgrade build && python3 -m build | |
pip install dist/*.whl | |
resources/buildforCI.sh | |
- name: impute | |
shell: micromamba-shell {0} | |
run: harpy impute --vcf test/vcf/test.bcf -p test/stitch.params --snakemake "--show-failed-logs --apptainer-args sandbox" test/bam | |
- name: impute from vcf | |
shell: micromamba-shell {0} | |
if: always() | |
run: harpy impute --vcf-samples -o vcfImpute --vcf test/vcf/test.bcf -p test/stitch.params --snakemake "--show-failed-logs --apptainer-args sandbox" test/bam | |
test_phase: | |
needs: [changes, pkgbuild] | |
if: ${{ needs.changes.outputs.phase == 'true' && needs.pkgbuild.result == 'success' }} | |
name: test phase | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: setup mamba | |
uses: mamba-org/setup-micromamba@v1 | |
env: | |
ACTIONS_STEP_DEBUG: true | |
with: | |
init-shell: bash | |
generate-run-shell: true | |
environment-file: resources/harpy.yaml | |
cache-environment: true | |
post-cleanup: 'all' | |
log-level: error | |
- name: Install harpy | |
shell: micromamba-shell {0} | |
run: | | |
python3 -m pip install --upgrade build && python3 -m build | |
pip install dist/*.whl | |
resources/buildforCI.sh | |
- name: phase | |
shell: micromamba-shell {0} | |
run: harpy phase --vcf test/vcf/test.bcf --snakemake "--show-failed-logs --apptainer-args sandbox" -x "--max_iter 10001" test/bam | |
- name: phase with indels | |
shell: micromamba-shell {0} | |
if: always() | |
run: harpy phase --vcf test/vcf/test.bcf -o phaseindel -g test/genome/genome.fasta.gz --snakemake "--show-failed-logs --apptainer-args sandbox" test/bam | |
- name: phase from vcf | |
shell: micromamba-shell {0} | |
if: always() | |
run: harpy phase --vcf-samples -o phasevcf --vcf test/vcf/test.bcf --snakemake "--show-failed-logs --apptainer-args sandbox" test/bam | |
test_leviathan: | |
needs: [changes, pkgbuild] | |
if: ${{ needs.changes.outputs.leviathan == 'true' && needs.pkgbuild.result == 'success' }} | |
name: test sv leviathan | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: setup mamba | |
uses: mamba-org/setup-micromamba@v1 | |
env: | |
ACTIONS_STEP_DEBUG: true | |
with: | |
init-shell: bash | |
generate-run-shell: true | |
environment-file: resources/harpy.yaml | |
cache-environment: true | |
post-cleanup: 'all' | |
log-level: error | |
- name: Install harpy | |
shell: micromamba-shell {0} | |
run: | | |
python3 -m pip install --upgrade build && python3 -m build | |
pip install dist/*.whl | |
resources/buildforCI.sh | |
- name: leviathan | |
shell: micromamba-shell {0} | |
run: harpy sv leviathan -n 100 -b 1 -g test/genome/genome.fasta.gz --snakemake "--show-failed-logs --apptainer-args sandbox" -x "-M 2002" test/bam | |
continue-on-error: true | |
- name: leviathan-pop | |
if: always() | |
shell: micromamba-shell {0} | |
run: harpy sv leviathan -n 100 -b 1 -g test/genome/genome.fasta.gz -o SV/leviathanpop -p test/samples.groups --snakemake "--show-failed-logs --apptainer-args sandbox" test/bam | |
test_naibr: | |
needs: [changes, pkgbuild] | |
if: ${{ needs.changes.outputs.naibr == 'true' && needs.pkgbuild.result == 'success' }} | |
name: test sv naibr | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: setup mamba | |
uses: mamba-org/setup-micromamba@v1 | |
env: | |
ACTIONS_STEP_DEBUG: true | |
with: | |
init-shell: bash | |
generate-run-shell: true | |
environment-file: resources/harpy.yaml | |
cache-environment: true | |
post-cleanup: 'all' | |
log-level: error | |
- name: Install harpy | |
shell: micromamba-shell {0} | |
run: | | |
python3 -m pip install --upgrade build && python3 -m build | |
pip install dist/*.whl | |
resources/buildforCI.sh | |
- name: naibr | |
shell: micromamba-shell {0} | |
run: harpy sv naibr -g test/genome/genome.fasta.gz -o SV/naibr --snakemake "--show-failed-logs --apptainer-args sandbox" -x "-min_sv 5000" test/bam_phased && rm -r Genome | |
- name: naibr pop | |
if: always() | |
shell: micromamba-shell {0} | |
run: harpy sv naibr -g test/genome/genome.fasta.gz -o SV/pop -p test/samples.groups --snakemake "--show-failed-logs --apptainer-args sandbox" test/bam_phased && rm -r Genome | |
- name: naibr with phasing | |
if: always() | |
shell: micromamba-shell {0} | |
run: | | |
harpy sv naibr -g test/genome/genome.fasta.gz -o SV/phase -v test/vcf/test.phased.bcf --snakemake "--show-failed-logs --apptainer-args sandbox" test/bam && rm -r Genome | |
- name: naibr pop with phasing | |
if: always() | |
shell: micromamba-shell {0} | |
run: harpy sv naibr -g test/genome/genome.fasta.gz -o SV/phasepop -v test/vcf/test.phased.bcf -p test/samples.groups --snakemake "--show-failed-logs --apptainer-args sandbox" test/bam && rm -r Genome | |
test_simulate_variants: | |
needs: [changes, pkgbuild] | |
if: ${{ needs.changes.outputs.simvars == 'true' && needs.pkgbuild.result == 'success' }} | |
name: test simulate variants | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: setup mamba | |
uses: mamba-org/setup-micromamba@v1 | |
env: | |
ACTIONS_STEP_DEBUG: true | |
with: | |
init-shell: bash | |
generate-run-shell: true | |
environment-file: resources/harpy.yaml | |
cache-environment: true | |
post-cleanup: 'all' | |
log-level: error | |
- name: Install harpy | |
run: | | |
python3 -m pip install --upgrade build && python3 -m build | |
pip install dist/*.whl | |
resources/buildforCI.sh | |
shell: micromamba-shell {0} | |
- name: simulate random snps/indels | |
shell: micromamba-shell {0} | |
run: | | |
harpy simulate snpindel --snp-count 10 --indel-count 10 -z 0.5 --snakemake "--show-failed-logs --apptainer-args sandbox" test/genome/genome.fasta.gz | |
harpy simulate snpindel --prefix Simulate/snpvcf --snp-vcf Simulate/snpindel/sim.snpindel.snp.hap1.vcf --indel-vcf Simulate/snpindel/sim.snpindel.indel.hap1.vcf --snakemake "--show-failed-logs --apptainer-args sandbox" test/genome/genome.fasta.gz | |
- name: simulate inversions | |
shell: micromamba-shell {0} | |
if: always() | |
run: | | |
harpy simulate inversion --count 10 -z 0.5 test/genome/genome.fasta.gz | |
harpy simulate inversion --prefix Simulate/invvcf --vcf Simulate/inversion/sim.inversion.hap1.vcf --snakemake "--show-failed-logs --apptainer-args sandbox" test/genome/genome.fasta.gz | |
- name: simulate cnv | |
shell: micromamba-shell {0} | |
if: always() | |
run: | | |
harpy simulate cnv --count 10 -z 0.5 test/genome/genome.fasta.gz | |
harpy simulate cnv --prefix Simulate/cnvvcf --vcf Simulate/cnv/sim.cnv.hap1.vcf --snakemake "--show-failed-logs --apptainer-args sandbox" test/genome/genome.fasta.gz | |
- name: simulate translocations | |
shell: micromamba-shell {0} | |
if: always() | |
run: | | |
harpy simulate translocation --count 10 -z 0.5 test/genome/genome.fasta.gz | |
harpy simulate translocation --prefix Simulate/transvcf --vcf Simulate/translocation/sim.translocation.hap1.vcf --snakemake "--show-failed-logs --apptainer-args sandbox" test/genome/genome.fasta.gz | |
test_simulate_linkedreads: | |
needs: [changes, pkgbuild] | |
if: ${{ needs.changes.outputs.simreads == 'true' && needs.pkgbuild.result == 'success' }} | |
name: test simulate linkedreads | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: setup mamba | |
uses: mamba-org/setup-micromamba@v1 | |
env: | |
ACTIONS_STEP_DEBUG: true | |
with: | |
init-shell: bash | |
generate-run-shell: true | |
environment-file: resources/harpy.yaml | |
cache-environment: true | |
post-cleanup: 'all' | |
log-level: error | |
- name: Install harpy | |
shell: micromamba-shell {0} | |
run: | | |
python3 -m pip install --upgrade build && python3 -m build | |
pip install dist/*.whl | |
resources/buildforCI.sh | |
- name: simulate linked reads | |
shell: micromamba-shell {0} | |
run: harpy simulate linkedreads --snakemake "--show-failed-logs --apptainer-args sandbox" -t 4 -n 2 -l 100 -p 50 test/genome/genome.fasta.gz test/genome/genome2.fasta.gz | |
test_extras: | |
needs: [changes, pkgbuild] | |
if: ${{ needs.changes.outputs.extras == 'true' && needs.pkgbuild.result == 'success' }} | |
name: test harpy extras | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: setup mamba | |
uses: mamba-org/setup-micromamba@v1 | |
env: | |
ACTIONS_STEP_DEBUG: true | |
with: | |
init-shell: bash | |
generate-run-shell: true | |
environment-file: resources/harpy.yaml | |
cache-environment: true | |
post-cleanup: 'all' | |
log-level: error | |
- name: Install harpy | |
shell: micromamba-shell {0} | |
run: | | |
python3 -m pip install --upgrade build && python3 -m build | |
pip install dist/*.whl | |
resources/buildforCI.sh | |
- name: harpy stitchparams | |
shell: micromamba-shell {0} | |
run: harpy stitchparams -o params.file | |
- name: harpy popgroup | |
shell: micromamba-shell {0} | |
run: harpy popgroup test/fastq |