Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
270 commits
Select commit Hold shift + click to select a range
f5070ef
fix hub script
cademirch Jul 11, 2023
cd6026d
fix html
cademirch Jul 11, 2023
974caf8
Merge pull request #113 from harvardinformatics/trackhubs
erikenbody Jul 15, 2023
d85ce92
Update resources.yaml
tsackton Aug 7, 2023
4846330
add resource spec for intervals #114
cademirch Aug 7, 2023
2a5992c
Merge pull request #115 from harvardinformatics/main
cademirch Aug 7, 2023
caf1303
Fix mosdepth to 0.3.3
aewebb80 Aug 8, 2023
f536114
Merge pull request #116 from harvardinformatics/bugfix
tsackton Aug 8, 2023
a4849fa
Merge pull request #117 from aewebb80/main
tsackton Aug 8, 2023
c9f87ac
Update path, enable conda
aewebb80 Aug 9, 2023
af8afd3
Merge pull request #118 from aewebb80/main
cademirch Aug 9, 2023
d00634d
update read group naming in common.smk
erikenbody Sep 20, 2023
5c42f3f
Merge pull request #124 from harvardinformatics/erikenbody-regroups
cademirch Sep 21, 2023
0b0206b
Update index.md
erikenbody Sep 26, 2023
d1f9eb8
Update setup.md
erikenbody Sep 26, 2023
ce6e0a6
Merge pull request #127 from harvardinformatics/erikenbody-patch-4
cademirch Sep 27, 2023
1b42841
Merge pull request #126 from harvardinformatics/erikenbody-patch-5
cademirch Sep 27, 2023
bec679f
Remove chromosomes from chr_ex in QC
aewebb80 Sep 27, 2023
993664a
Add scaffolds_to_exclude to config for QC tests
aewebb80 Sep 27, 2023
753025d
Merge pull request #128 from aewebb80/main
tsackton Sep 29, 2023
c195291
Update README.md
tsackton Sep 29, 2023
88b937f
Merge pull request #129 from harvardinformatics/update-readme
cademirch Oct 2, 2023
8843afb
Update common.smk
erikenbody Oct 3, 2023
95eeb86
Update cov_filter.yml
tsackton Oct 6, 2023
8156efe
Merge pull request #131 from harvardinformatics/pyd4-fix
cademirch Oct 6, 2023
adfcbe7
Merge pull request #130 from harvardinformatics/erikenbody-patch-4
cademirch Oct 6, 2023
d230125
add ploidy options
cademirch Oct 19, 2023
62cb27a
add some doc stuff
cademirch Oct 20, 2023
53109f8
Merge pull request #135 from harvardinformatics/update_docs
cademirch Oct 20, 2023
d5a37f5
Merge pull request #134 from harvardinformatics/ploidy
cademirch Oct 20, 2023
930e0af
update docs
cademirch Nov 2, 2023
6719c85
dont run ci tests on pr for docs/md files
cademirch Nov 2, 2023
1b81d94
Merge pull request #136 from harvardinformatics/docs
tsackton Nov 3, 2023
e544c3a
add info about multiple seq runs
cademirch Nov 3, 2023
3c94532
add sentence
cademirch Nov 3, 2023
a424f0b
update wording
cademirch Nov 3, 2023
6c8951b
Merge pull request #138 from harvardinformatics/docs
cademirch Nov 3, 2023
aed98ce
Update write_samples.py
tsackton Nov 28, 2023
1d0525e
Merge pull request #143 from harvardinformatics/tsackton-patch-1
cademirch Dec 12, 2023
96b0b6b
add support for mixed local and sra fastqs
cademirch Dec 15, 2023
a9d10ce
handle sra only
cademirch Dec 15, 2023
0b48783
formatting
cademirch Dec 19, 2023
275de90
Merge pull request #146 from harvardinformatics/local_and_sra
cademirch Dec 29, 2023
80e2105
update citation
cademirch Dec 29, 2023
1f3cb30
Merge pull request #150 from harvardinformatics/cademirch-patch-1
tsackton Dec 30, 2023
686be19
Fix typo in mk module
tsackton Jan 24, 2024
042e64d
Update setup.md
cademirch Feb 1, 2024
884d978
Merge pull request #152 from harvardinformatics/tsackton-patch-2
tsackton Feb 1, 2024
e62268b
pin python versions
cademirch Feb 1, 2024
b355b09
try using my fork of snakemake actions
cademirch Feb 1, 2024
fae8790
remove version from gh action
cademirch Feb 1, 2024
e8055f2
v1 action
cademirch Feb 1, 2024
bae8ec7
Merge pull request #155 from harvardinformatics/cademirch-patch-1
tsackton Feb 6, 2024
fa49e7c
Update cov_filter.smk
tsackton Feb 14, 2024
8a671fa
add resources to qc rules
tsackton Feb 14, 2024
9c00331
Add resources to postprocess module
tsackton Feb 14, 2024
5b479be
Merge pull request #157 from harvardinformatics/tsackton-patch-2
cademirch Feb 15, 2024
b3c2025
remove --overwrite from tar. incompatible with bsdtar, is default for…
cademirch Mar 7, 2024
0464660
Update setup.md
cademirch Mar 7, 2024
c899806
Update modules.md
cademirch Mar 7, 2024
c9971b8
Merge pull request #164 from harvardinformatics/cademirch-patch-1
tsackton Mar 7, 2024
f0fe796
Merge pull request #162 from harvardinformatics/osx-fixes
tsackton Mar 7, 2024
39a899f
change file.rename to file.copy, then file.remove to deal with snparc…
cademirch Mar 8, 2024
a80e60a
Merge pull request #167 from harvardinformatics/issue-166
tsackton Mar 11, 2024
dd60dbb
improve admixture run contig names
erikenbody Mar 11, 2024
74a649a
remove comments
erikenbody Mar 11, 2024
8e76407
fix fai typo
erikenbody Mar 11, 2024
fca158d
trying to fix fai file path again
erikenbody Mar 11, 2024
ed43114
Merge pull request #168 from harvardinformatics/admixture_contig_names
tsackton Mar 12, 2024
a8bf7e8
bump min snakemake version, update config for remote reads
cademirch Mar 26, 2024
c38153e
change default_remote_prefix to new api
cademirch Mar 26, 2024
be8b5b5
missed a default prefix
cademirch Mar 26, 2024
fba5e97
add copy_reference rule
cademirch Mar 27, 2024
fba55fe
add gz local genome test
cademirch Mar 27, 2024
5851c77
update ecoli test case
cademirch Mar 27, 2024
d6631a4
update reference stuff, replace default_remote_prefix
cademirch Mar 27, 2024
af48cee
Merge pull request #169 from harvardinformatics/main
cademirch Mar 27, 2024
e3b081c
revert gh actions to use snakemake's action
cademirch Mar 27, 2024
dc52a2f
update ecoli csv
cademirch Mar 27, 2024
c47cf80
add snparcher_utils to deal with samplesheet/config parsing for main …
cademirch Mar 28, 2024
ebc8992
use snparcher utils, clean up some imports
cademirch Mar 28, 2024
bb66554
move functions to init
cademirch Mar 28, 2024
3c117ed
use snparcher_utils
cademirch Mar 28, 2024
f4bc650
clean up imports add snparcherutils, add logs
cademirch Mar 28, 2024
84516b6
update postprocess and trackhub with utils
cademirch Mar 28, 2024
1855bef
update mk with utils
cademirch Mar 28, 2024
bfd3c49
update write samples and move it
cademirch Mar 28, 2024
4bcf913
update git stuff
cademirch Mar 28, 2024
36335d9
fix gh action syntax
cademirch Mar 28, 2024
ecb0fce
add config genome test case
cademirch Mar 28, 2024
58addff
add refGenome and refPath to main config
cademirch Mar 28, 2024
16b4548
clean up unused files
cademirch Mar 28, 2024
94652dd
moving resources to profile
cademirch Mar 29, 2024
9fb2315
moving resources to profile
cademirch Mar 29, 2024
05c0beb
fix gh action workflow
cademirch Mar 29, 2024
b76aa92
fix gh action
cademirch Mar 29, 2024
f8c3b2b
add slurm profile
cademirch Mar 29, 2024
9218196
update profiles
cademirch Mar 30, 2024
5973c6f
update docs
cademirch Apr 2, 2024
d27693d
update profiles
cademirch Apr 2, 2024
0a41913
initial example commit
cademirch Apr 2, 2024
956bad2
add example
cademirch Apr 2, 2024
5adbcd9
revert to old download ref behavior because of issue w/ ruleorder and…
cademirch Apr 3, 2024
9a37f6d
Update main.yaml
cademirch Apr 3, 2024
c7bded4
try again
cademirch Apr 3, 2024
44ae6b2
switched to stable snakemake in gh action docker
cademirch Apr 3, 2024
86ba347
go back to snakemake gh action, use stagein to set python version
cademirch Apr 3, 2024
0c99d0c
update gh action version
cademirch Apr 3, 2024
292795e
get rid of stagein
cademirch Apr 3, 2024
513b3d0
try pinning versions in cov filter
cademirch Apr 4, 2024
c00f79f
trying to get cov filter to build
cademirch Apr 4, 2024
d506e27
add functions to create/modify curl rc, then undo at end of workflow
cademirch Apr 5, 2024
b28b3f4
add template module to provide scaffold for new modules
cademirch Apr 8, 2024
b67e24b
add backwards compatibility for snakemake7
cademirch Apr 8, 2024
2811618
use pkg_resources.parse_version instead of distutils
cademirch Apr 8, 2024
730475f
Merge pull request #170 from harvardinformatics/snakemake8
tsackton Apr 10, 2024
896babb
add mark_duplicates option. defaults to true
cademirch Apr 12, 2024
c6e8524
add mark duplicates option
cademirch Apr 12, 2024
ff5aa05
add bcftools norm
cademirch Apr 12, 2024
22f1a13
update profiles
cademirch Apr 12, 2024
c41f28a
fix docs
cademirch Apr 13, 2024
3391225
add mark dups option
cademirch Apr 13, 2024
2004340
Merge pull request #177 from harvardinformatics/docs-fix-typo
tsackton Apr 14, 2024
81f9cc6
Merge pull request #175 from harvardinformatics/feat--bcftools_norm
tsackton Apr 14, 2024
9f2813f
Merge pull request #173 from harvardinformatics/feat--optional-dedup
tsackton Apr 14, 2024
d46220f
get rid of stray resource_config refs
cademirch Apr 18, 2024
f07c3fd
add mark_duplicates to config
cademirch Apr 18, 2024
034a449
add sentieon test dryun
cademirch Apr 18, 2024
e7456f9
dont add mapfile to output if sentieon
cademirch Apr 18, 2024
a3aef31
Merge pull request #181 from harvardinformatics/fix-get-rid-of-resour…
cademirch Apr 18, 2024
0c6fab0
use json summary from fastp to make sure all stdout/stderr goes to log
cademirch Apr 18, 2024
7bad90d
Merge pull request #184 from harvardinformatics/fastp-use-json
tsackton Apr 19, 2024
9a9b24c
add config option to sort reads with bbmap before read trimming
erikenbody Apr 29, 2024
4b60301
remove print statement
erikenbody Apr 29, 2024
93095e4
add test config
erikenbody Apr 29, 2024
384429d
Merge pull request #188 from harvardinformatics/sortreads
tsackton Apr 29, 2024
a33a6be
fix QC html to correctly report the number of filtered SNPs
erikenbody Apr 30, 2024
570daa1
remove unused diversity line
erikenbody Apr 30, 2024
5dd2e7e
Merge pull request #189 from harvardinformatics/fix_SNP_summary
tsackton May 1, 2024
064d665
make gls work again. fix minor issues with non-intervals. update docs
cademirch May 14, 2024
91c8495
Merge pull request #192 from harvardinformatics/testings-gls
cademirch May 15, 2024
2908f16
concat json fastp summary
cademirch May 15, 2024
abc9c68
Merge pull request #194 from harvardinformatics/fix-json
tsackton May 16, 2024
92fbf1c
typo
erikenbody Jun 6, 2024
f1f378e
caluclate correctly
erikenbody Jun 6, 2024
72a482f
Merge pull request #199 from harvardinformatics/postprocessing_update
tsackton Jun 10, 2024
17e9e7f
gnu parallel to sentieon filter_vcf
erikenbody Jun 11, 2024
489d24b
add shadow directive to cleanup
erikenbody Jun 11, 2024
7fc229d
update docs about profiles
cademirch Jun 12, 2024
857625c
Merge pull request #205 from harvardinformatics/update-docs
tsackton Jun 12, 2024
52db16e
indel snps use -T and interval filter vcf sentieon
erikenbody Jun 17, 2024
1b8b74c
remove resources from rules
erikenbody Jun 17, 2024
7ca25b4
Merge pull request #207 from harvardinformatics/filter_intervals
tsackton Jun 17, 2024
0464efd
Merge pull request #209 from harvardinformatics/cleanup_resources
tsackton Jun 17, 2024
438547e
fix issue with trackhub
erikenbody Jun 18, 2024
25864b7
fix issue with trackhub
erikenbody Jun 18, 2024
192caad
add unzip as option to download ref
erikenbody Jun 21, 2024
d214b65
Merge branch 'main' into ref_unzip_fix
erikenbody Jun 21, 2024
0907afc
Merge pull request #211 from harvardinformatics/ref_unzip_fix
tsackton Jun 24, 2024
b1b1f48
add logs for concat gvcf and normalise
cademirch Aug 9, 2024
9f810b4
update docs typos
cademirch Aug 14, 2024
e3aa36a
fix config not rendering in example doc page
cademirch Aug 15, 2024
8a0921d
Merge pull request #215 from harvardinformatics/add_logs
tsackton Aug 15, 2024
0fe1e1b
make local fastq bigger
cademirch Oct 11, 2024
88efde3
Merge pull request #224 from harvardinformatics/fix-ecoli-test
tsackton Oct 11, 2024
0219d75
make sort reads its own rule
cademirch Oct 18, 2024
3299670
fix window vis
cademirch Oct 28, 2024
9d7ade7
new line for genome line
cademirch Oct 28, 2024
76df953
Merge pull request #228 from harvardinformatics/trackhubs
tsackton Oct 30, 2024
817b8c0
Update modules.md
erikenbody Nov 22, 2024
092a99c
Merge pull request #231 from harvardinformatics/erikenbody-patch-1
tsackton Nov 25, 2024
55ebb1a
add jvm heap options to interval rules
cademirch Jan 29, 2025
c1fddc5
fix: ncbi datasets
cademirch Apr 1, 2025
dea4f34
Merge pull request #241 from harvardinformatics/fix-datasets
tsackton Apr 1, 2025
5454fdf
Merge pull request #235 from harvardinformatics/fix-picard-memory
tsackton Apr 1, 2025
413f1d9
initial commit for adding clam for callable sites. expects clam is in…
cademirch Oct 30, 2024
2952b6a
update conda env, clam rules
cademirch Apr 8, 2025
5aa025f
fix: update gatk splitinterval javaopts
cademirch Apr 8, 2025
32a164f
fix: untemp persample d4 files; add gzi as input to clam loci; remove…
cademirch Apr 9, 2025
3dccc43
remove unused shell scripts
cademirch Apr 30, 2025
df3d756
update profiles
cademirch Apr 30, 2025
259a4ee
update docs to reflect profile changes
cademirch Apr 30, 2025
c1893ba
update actions to use worklfow-profile
cademirch May 1, 2025
765d83a
Merge pull request #246 from harvardinformatics/v1-dev
tsackton May 2, 2025
6ce7983
docs: code block missing backticks
cademirch May 14, 2025
84073f2
Merge pull request #253 from harvardinformatics/fix-docs-typo
tsackton May 14, 2025
bd3bc81
fix: set default mem to more realistic number
cademirch May 15, 2025
21e74c6
Merge pull request #254 from harvardinformatics/cademirch-patch-1
tsackton May 15, 2025
4ceec5b
fix: use bedtk to merge clam callable bed b/c its more mem efficient …
cademirch Jun 25, 2025
2580aec
fix wildcards
cademirch Jun 25, 2025
b3720e7
fix typo
cademirch Jun 25, 2025
5c23b77
log mv
cademirch Jun 25, 2025
54c0c1b
cp not mv
cademirch Jun 25, 2025
9967a06
Merge pull request #262 from harvardinformatics/fix-clam-bed-file
erikenbody Jun 26, 2025
cb39172
Update executing.md
cademirch Jul 7, 2025
048cd76
Merge pull request #265 from harvardinformatics/cademirch-patch-1
tsackton Jul 7, 2025
2fc5cb6
Update dataset link in documentation
tsackton Aug 26, 2025
7a39593
initial design for version2
tsackton Nov 21, 2025
c647f18
V2/config sample sheet (#276)
cademirch Jan 30, 2026
c05c2af
Update gitignore
tsackton Feb 5, 2026
d960d0f
Codex/hotfix pkg resources main (#279)
tsackton Feb 10, 2026
9ebe5a2
v2: align config/tool contract, tmpdir defaults, and multi-row sample…
tsackton Feb 19, 2026
f9ffc1d
Implement staged interval concat for large VCF/gVCF merges
Feb 20, 2026
b914e7a
Fix bcftools staged concat tmp prefix for macOS temp dirs
tsackton Feb 20, 2026
02dd524
Add explicit multistage interval concat test coverage
tsackton Feb 20, 2026
f991c6e
Update workflow/rules/variant_calling/gatk_intervals.smk
tsackton Feb 20, 2026
9a5183b
Update workflow/rules/variant_calling/gatk_intervals.smk
tsackton Feb 20, 2026
f09d6c2
Update workflow/rules/variant_calling/gatk_intervals.smk
tsackton Feb 20, 2026
f425cf0
update final concat rule
tsackton Feb 20, 2026
7d08ec1
Merge pull request #281 from harvardinformatics/codex/feat-codex-inte…
tsackton Feb 20, 2026
0040d43
add a doc that includes a methods section and refs
erikenbody Feb 21, 2026
2cb5481
Merge pull request #282 from harvardinformatics/erikenbody-patch-1
tsackton Feb 22, 2026
440b1e0
Add bcftools/deepvariant/parabricks callers and deduplicate shared va…
tsackton Mar 6, 2026
fc9e36c
feat: update modules to v2 (#283)
cademirch Mar 6, 2026
9462278
Merge remote-tracking branch 'origin/main' into v2/develop
cademirch Mar 6, 2026
77de848
Merge branch 'v2/develop' of https://github.com/harvardinformatics/sn…
cademirch Mar 6, 2026
7457d95
Merge pull request #286 from harvardinformatics/v2/develop
tsackton Mar 6, 2026
c17db19
Improve v2 config handling
Mar 13, 2026
cdee345
Refresh ecoli smoke test dataset
Mar 13, 2026
836702c
Harden interval checkpoint manifest reads
Mar 13, 2026
daee422
Warn on unsupported Snakemake versions
Mar 13, 2026
2332f83
remove defaults from glnexus and deepvariant conda envs
Mar 13, 2026
58d9c5b
Merge pull request #289 from harvardinformatics/codex/config-compat-n…
tsackton Mar 13, 2026
23d287e
Add standalone QC runner script
Mar 13, 2026
aada999
Merge pull request #290 from harvardinformatics/codex/qc-script
gwct Mar 13, 2026
ce69c74
Codex/v2 bugfix (#292)
tsackton Mar 13, 2026
f061b98
Implement callable sites BED generation (#293)
tsackton Mar 24, 2026
1c9b194
add example dir; clean up old .test (#295)
cademirch Mar 24, 2026
16b410c
docs: add config and sample-sheet field reference docs (#298)
tsackton Mar 25, 2026
2e5b2f5
Support mixed SRA and FASTQ inputs per sample (#297)
tsackton Mar 27, 2026
bfbe1a7
docs: documentation links and add Snakemake version note (#300)
cademirch Mar 30, 2026
5b5fa2c
Remove retired modules and harden QC modules (#301)
tsackton Apr 2, 2026
d862843
Fix Snakemake version detection warning (#302)
tsackton Apr 2, 2026
70bf1b5
Fix ffq fallback for SRA downloads (#305)
tsackton Apr 6, 2026
a39d44b
Preserve numeric-like IDs in QC and add regression test (#307)
tsackton Apr 7, 2026
477ada6
Fix default target selection when QC module is enabled (#310)
tsackton Apr 8, 2026
07df95b
Filter sparse QC samples before PLINK GRM (#312)
tsackton Apr 13, 2026
2579f63
Auto-tune GenMap indexing for large genomes (#313)
tsackton Apr 13, 2026
0cacaee
add debug info (#311)
cademirch Apr 13, 2026
f8ce723
update QC module to be robust to snp caller annotation differences (#…
tsackton May 11, 2026
d516d4d
Fix (some) coverage bed OOM errors (#320)
tsackton May 11, 2026
b4e5ee0
Add complexity-aware DB interval splitting (#321)
tsackton May 14, 2026
51d27e6
Disable coverage bed for mixed sample sheets (#324)
tsackton May 20, 2026
33d6f30
Move GATK memory resources into profile (#325)
tsackton May 20, 2026
675dab0
Fix deepvariant (#323)
tsackton May 21, 2026
aaf7b2e
bai -> csi migration (#326)
tsackton Jun 4, 2026
559ce08
Apply GATK hard filters to GATK-lineage callers; fix filtering wiring…
tsackton Jul 16, 2026
e0e7a94
docs: move snparcher.github.io source here (#335)
cademirch Jul 16, 2026
a1ba478
docs: sync v2 reference with current workflow (#336)
cademirch Jul 17, 2026
6209bb5
Refresh promoted variant output timestamps (#339)
tsackton Jul 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
25 changes: 25 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# SCM syntax highlighting & preventing 3-way merges
pixi.lock merge=binary linguist-language=YAML linguist-generated=true

# Binary files
*.gz binary
*.bam binary
*.bai binary
*.csi binary
*.vcf.gz binary
*.tbi binary
*.dict binary
tests/data/fixtures/** linguist-generated
tests/data/fixtures/**/*.bam binary
tests/data/fixtures/**/*.bam.bai binary
tests/data/fixtures/**/*.bam.csi binary
tests/data/fixtures/**/*.vcf.gz binary
tests/data/fixtures/**/*.vcf.gz.tbi binary
tests/data/fixtures/**/*.g.vcf.gz binary
tests/data/fixtures/**/*.g.vcf.gz.tbi binary
tests/data/fixtures/**/*.tar binary
tests/data/fixtures/**/*.fa.gz binary
tests/data/fixtures/**/*.d4 binary
tests/data/fixtures/**/*.zarr/** binary
tests/data/fixtures/**/*.tdb binary
tests/data/fixtures/**/*.tdb.gz binary
17 changes: 0 additions & 17 deletions .github/workflows/ci.yaml

This file was deleted.

51 changes: 0 additions & 51 deletions .github/workflows/main.yaml

This file was deleted.

24 changes: 24 additions & 0 deletions .github/workflows/notify-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: Notify docs site

# When the docs sources under website/ change on main, tell the
# snparcher/snparcher.github.io repo to rebuild and redeploy the site.
on:
push:
branches: [main]
paths:
- "website/**"
workflow_dispatch:

jobs:
notify:
runs-on: ubuntu-latest
steps:
- name: Trigger snparcher.github.io rebuild
env:
# Fine-grained PAT (or GitHub App token) with Contents: write
# on snparcher/snparcher.github.io. Store as a repo secret.
GH_TOKEN: ${{ secrets.DOCS_DEPLOY_TOKEN }}
run: |
gh api --method POST \
repos/snparcher/snparcher.github.io/dispatches \
-f event_type=docs-updated
161 changes: 161 additions & 0 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,161 @@
name: Tests

on:
push:
branches:
- main
paths:
- "**/Snakefile"
- "**/*.smk"
- "**/*.py"
- "workflow/**/*.yml"
- "workflow/**/*.yaml"
- "pyproject.toml"
- ".github/workflows/*"
pull_request:
paths:
- "**/Snakefile"
- "**/*.smk"
- "**/*.py"
- "workflow/**/*.yml"
- "workflow/**/*.yaml"
- "pyproject.toml"
- ".github/workflows/*"

jobs:
dry-run-tests:
name: dry-run (${{ matrix.group }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- group: core
filter: "not metadata and not postprocess and not qc"
- group: metadata
filter: "metadata and not postprocess and not qc"
- group: postprocess
filter: "postprocess"
- group: qc
filter: "qc"
steps:
- uses: actions/checkout@v4

- uses: prefix-dev/setup-pixi@v0.9.3
with:
cache: true
environments: dev

- name: Run dry-run tests
run: pixi run -e dev pytest -v tests/tests.py --dry-run-only -k "${{ matrix.filter }}"

build-conda-envs:
name: build conda envs
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: prefix-dev/setup-pixi@v0.9.3
with:
cache: true
environments: dev

- name: Cache conda envs
id: conda-cache
uses: actions/cache@v4
with:
path: .snakemake/conda
key: conda-envs-${{ hashFiles('workflow/**/*.yml', 'workflow/**/*.yaml', 'pyproject.toml') }}

- name: Create conda envs
if: steps.conda-cache.outputs.cache-hit != 'true'
run: pixi run -e dev setup-test-envs

unit-tests:
name: unit (${{ matrix.group }})
needs: build-conda-envs
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
group: [1, 2, 3, 4]
steps:
- uses: actions/checkout@v4

- uses: prefix-dev/setup-pixi@v0.9.3
with:
cache: true
environments: dev

- name: Restore conda envs
uses: actions/cache/restore@v4
with:
path: .snakemake/conda
key: conda-envs-${{ hashFiles('workflow/**/*.yml', 'workflow/**/*.yaml', 'pyproject.toml') }}
fail-on-cache-miss: true

- name: Run unit tests
env:
TMPDIR: ${{ runner.temp }}
run: |
pixi run -e dev pytest -v tests/unit_tests.py \
--conda-prefix $(pwd)/.snakemake/conda \
--splits 4 --group ${{ matrix.group }}

full-run-tests:
name: full-run (${{ matrix.group }})
needs: build-conda-envs
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- group: core-1
filter: "not metadata and not postprocess and not qc"
split_group: 1
- group: core-2
filter: "not metadata and not postprocess and not qc"
split_group: 2
- group: core-3
filter: "not metadata and not postprocess and not qc"
split_group: 3
- group: qc
filter: "qc"
split_group: 0
steps:
- uses: actions/checkout@v4

- uses: prefix-dev/setup-pixi@v0.9.3
with:
cache: true
environments: dev

- name: Restore conda envs
uses: actions/cache/restore@v4
with:
path: .snakemake/conda
key: conda-envs-${{ hashFiles('workflow/**/*.yml', 'workflow/**/*.yaml', 'pyproject.toml') }}
fail-on-cache-miss: true

- name: Run full tests
env:
TMPDIR: ${{ runner.temp }}
run: |
SPLIT_ARGS=""
if [ "${{ matrix.split_group }}" != "0" ]; then
SPLIT_ARGS="--splits 3 --group ${{ matrix.split_group }}"
fi
pixi run -e dev pytest -v tests/tests.py \
--conda-prefix $(pwd)/.snakemake/conda \
-m full_run \
-k "${{ matrix.filter }}" \
$SPLIT_ARGS

- name: Upload QC dashboard
if: matrix.group == 'qc'
uses: actions/upload-artifact@v4
with:
name: qc-dashboard
path: test-artifacts/
retention-days: 5
if-no-files-found: ignore
81 changes: 42 additions & 39 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,44 +1,47 @@
# OS files
.DS_Store
data_preparation/
example/results
example/logs
example/.snakemake
example/benchmarks
# Editor settings
.vscode/

# Codex app
.codex/
.tmp/

# Python cache/build artifacts
__pycache__/
*.egg-info/

# Conda / Pixi environments
.conda-envs/
tests/.conda-envs/
.pixi/
!.pixi/config.toml

# Snakemake + workflow outputs
.snakemake*
template_slurm.sh
slurm_logs/*
# indexing and creating a sequence dictionary gets done within pipeline
data/zebraFinch/genome/*.sa
data/zebraFinch/genome/*.pac
data/zebraFinch/genome/*.bwt
data/zebraFinch/genome/*.ann
data/zebraFinch/genome/*.amb
data/zebraFinch/genome/*.fai
data/zebraFinch/genome/*.dict
rules/.snakemake
data/BHduck/genome/*.sa
data/BHduck/genome/*.pac
data/BHduck/genome/*.bwt
data/BHduck/genome/*.ann
data/BHduck/genome/*.amb
data/BHduck/genome/*.fai
data/BHduck/genome/*.dict
/data/
fastp.*
intervalFiles/
out
err
__pycache__
log/
fastq2bam/
intervalFiles/
freebayes/
gatk/
logs/
*_dryrun.txt
results/
logs/
benchmarks/
tmp/
.test/ecoli/benchmarks/
.test/ecoli/logs/
.test/ecoli/results/
.test/ecoli/data/
slurm_logs/
*_dryrun.txt

# Test outputs
.test/*/benchmarks/
.test/*/logs/
.test/*/results/
.test/*/.snakemake/
.test/trackhub/*.sizes
.test/trackhub/out.log

# Licenses and secrets
*.lic
.test/ci/results
.test/ci/benchmarks
.test/ci/logs

# MkDocs build output
site/
scratch
*.bak
Loading