Commit graph

65 commits

Author SHA1 Message Date
Edmund Miller
799c6af795
ci: Use colored output for pytest 2022-01-25 13:40:00 -06:00
Gregor Sturm
6d622bfe54 Force fancification 2022-01-21 08:53:02 +01:00
Gregor Sturm
5ebfe7d272 Use batcat 2022-01-21 08:53:02 +01:00
Gregor Sturm
213cd6d466
Merge branch 'master' into bat-test 2022-01-21 08:33:58 +01:00
Edmund Miller
550df3b006
ci: Remove second python setup call (#1225)
Co-authored-by: Gregor Sturm <mail@gregor-sturm.de>
2022-01-21 07:57:57 +01:00
Gregor Sturm
55ea3f2061
CI: print out pytest logs on failure (#1220) 2022-01-21 07:51:28 +01:00
Edmund Miller
37961f7320
ci(pytest-workflow): cat => bat 2022-01-20 21:34:08 -06:00
Gregor Sturm
beb6acb205
CI: print out pytest logs on failure 2022-01-20 08:55:43 +01:00
James A. Fellows Yates
edbbbbf420
fix: exclude conda/singularity images from pytest workflow output (#1162) 2021-12-13 08:13:24 +00:00
Harshil Patel
20d8250d9f
Update all modules to new NF DSL2 syntax (#1099)
* Add comment line for consistency

* Remove all functions.nf

* Remove include functions.nf and publishDir options

* Replace options.args3 with task.ext.args3 - 3 modules

* Replace options.args3 with task.ext.args3 - 17 modules

* Replace {task.cpus} with task.cpus

* Replace off on off off off off off off off on off on off on off off off on off off off on on off off off on on off off off off off off off on off off off off on off on on off off off on on on on off off off on off on on off on on off off on on on off on on off on off off off off on off off off on off off on off on off off off on on off on off on off off on off off off on off off off on off off off off on off off off on on on off on on off off on off on on on off on on off on on on off off off off off on on off off on off off off off off on off off on on off on on off on off off off on off off off off on on off on off off on off off on off on off off off off off off off off on on off on off off off.args with

* Add def args = task.ext.args line to all modules in script section

* Replace options.args with args and args_list

* Initialise args2 and args3 properly

* Replace container syntax

* Revert container changes for cellranger/mkref

* Replace getProcessName in all modules

* Replace getSoftwareName in all modules

* Unify modules using VERSION variable

* Replae options.suffix with task.ext.suffix

* Remove NF version restriction for CI

* Bump NF version in README

* Replace task.process.tokenize logic with task.process

* Minor tweaks to unify syntax in tests main.nf

* Add a separate nextflow.config for each module

* Transfer remaining module options to nextflow.config

* Remove addParams from tests main.nf

* Remove TODO statements

* Use -c to import module specific config

* Bump NF version to 21.10.3

* Fix tests for artic/minion

* Fix broken publishDir syntax

* Standardise and fix obvious failing module tests

* Remove kronatools to krona

* Comment out tags in subworkflow test.yml

* Fix failing module tests

* Add consistent indentation to nextflow.config

* Comment out subworklow definitions

* Fix kallistobustools/ref

* Fix rmarkdownnotebook

* Fix jupyternotebook

* Quote task.process

* Add plink2/vcf to pytest_modules.yml

* Remove NF_CORE_MODULES_TEST from pytest CI

* Fix more tests

* Move bacteroides_fragilis to prokaryotes folder

* Fix cooler merge tests

* Fix kallistobustools/count tests

* Fix kallistobustools/ref tests

* Update test_10x_1_fastq_gz file for kallistobustools/count tests

* Fix bcftools/query tests

* Fix delly/call tests

* Fix cooler/zoomify tests

* Fix csvtk/split tests

* Fix gatk4/intervallisttools tests

* Fix gatk4/variantfiltration

* Fix pydamage/filter tests

* Fix test data for unicycler

* Fix gstama/collapse module

* Fix leehom tests

* Fix metaphlan3 tests

* Fix pairtools/select tests

* Update nextflow.config

* Update nextflow.config

* feat: update syntax

* Fix arriba tests

* Fix more failing tests

* Update test syntax

* Remove comments from tests nextflow.config

* Apply suggestions from code review

* Fix kallistobustools/count module

* Update dumpsoftwareversions module

* Update custom/dumpsoftwareversions

* Add args2 to untar module

* Update leftover modules

* Remove last remaining addParams

Co-authored-by: JoseEspinosa <kadomu@gmail.com>
Co-authored-by: Gregor Sturm <mail@gregor-sturm.de>
Co-authored-by: MaxUlysse <max.u.garcia@gmail.com>
2021-11-26 07:58:40 +00:00
Edmund Miller
2af071ed0d
Fix subworkflows seperate from modules (#933)
* ci: Remove pytest_subworkflows

* ci(bam_sort_samtools): Depend on paths-filter instead of pytest-workflow

Co-authored-by: Harshil Patel <drpatelhh@gmail.com>
Co-authored-by: Gregor Sturm <mail@gregor-sturm.de>
Co-authored-by: Jose Espinosa-Carrasco <kadomu@gmail.com>

* ci: Revert back to one job branch

* ci(align_bowtie2): Run tests that depend on bam_sort_samtools

* ci: Fix anchor not being created yet

* ci: Update sra_fastq tags and pytest_modules

* fix(bam_sort_samtools): Update nextflow.config with params

* test(subworkflows): Update gatk_create_som_pon tags

* ci: Point to subworkflow_hacks branch of nf-core tools

Co-authored-by: Harshil Patel <drpatelhh@gmail.com>
Co-authored-by: Gregor Sturm <mail@gregor-sturm.de>
Co-authored-by: Jose Espinosa-Carrasco <kadomu@gmail.com>
2021-11-15 18:18:46 +00:00
Moritz E. Beber
194e598a34
Fix workflow (#817)
* tests: fix tags definition

* fix: correct typo
2021-10-12 11:58:19 +01:00
Edmund Miller
d0df4b03e3
ci: Duplicate tests for subworkflows (#815)
Causing an issue with only running the subworkflow tests and now the
modules. Just for now, we can come back to this.
2021-10-12 08:14:20 +01:00
Edmund Miller
c19671dca9
Subworkflow Infrastructure (#662)
* feat(subworkflows): Add align_bowtie2 subworkflow

For testing CI setup

* test(align_bowtie2): Add initial list of changes to test

* test(align_bowtie2): Add initial test

* refactor: Use tags to run subworkflows ci

For every underlying module used by workflow and allow the modules
pytest-modules definition be the source of truth.

* refactor: Use individual directories for subworkflows

* docs(align_bowtie2): Add initial meta.yml

Copied most of it from the bowtie2/align module.

* fix(align_bowtie2): Fix module include paths

* test(bam_sort_samtools): Add initial test

* ci(bam_sort_samtools): Add modules that trigger the tag

* test(bam_stats_samtools): Add initial test

* ci(bam_stats_samtools): Add keys to pick up changes

* docs(bam_samtools): Add initial meta.yml

* test(align_bowtie2): Fix path to subworkflow

* test(align_bowtie2): Update entry point

* fix(bam_sort_samtools): Update include paths

* test(bam_sort_samtools): Fix path

* style: Clean up addParams

* test(samtools_sort): Add suffix for test

* test(align_bowtie2): Add samtools_options for suffix

* test(bam_stats_samtools): Update path

* test(bam_stats_samtools): Use stats input

Otherwise it's just an example of how it's used in the bam_sort_samtools subworkflow

* ci(linting): Skip module linting of subworkflows

* ci(linting): Clean up startsWith statement

* test(bam_stats_samtools): Use single end test data for single end test

* test(bam_stats_samtools): Add expected files

* test(align_bowtie2): Add paired-end test

* test(align_bowtie2): Sort order of output

* test(align_bowtie2): Update hashes

* docs(align_bowtie2): Fix typo

* test(align_bowtie2): Update samtools output names

* test(align_bowtie2): Remove md5sums for bam/bai

* feat(subworkflows): Add nextflow.configs

These can be used for default settings in the future. They can then be
included in the conf/modules.config so that the params don't have to be
duplicated in the root nextflow.config.

* docs(subworkflows): Include modules instead of tools

* fix: Update to versions

* chore(align_bowtie2): Remove duplicate tag

* style: Format yamls

* test(subworkflows): Only check versions for modules

* chore: Update subworkflows to match rnaseq dev

* fix(subworkflows): Update paths

* fix(bam_sort_samtools): Fix sort parameters for testing

* Apply suggestions from code review

Co-authored-by: Harshil Patel <drpatelh@users.noreply.github.com>

* docs: Update TODOs with a message

* ci: Try using a matrix for strategy

* ci: Try passing an array

* Revert "ci: Try passing an array"

This reverts commit d3611fcd8332bbb9a8501e8dd299d0a623aaecaa.

Co-authored-by: Harshil Patel <drpatelh@users.noreply.github.com>
2021-10-08 16:02:42 +01:00
Gregor Sturm
3d0b873584
Run CI only on pull-requests and on the master-branch. (#743)
* Run CI only on pull-requests and on the master-branch.

* also for the other workflows
2021-09-27 08:03:30 +02:00
Gregor Sturm
ab67a1d41b
Update fastqc to produce multi-version versions.yml (#665)
* Update fastqc to produce multi-version versions.yml

* Update readme and pull request template

* Fix markdownlint

* remove  variable

* Change publish dir to lowercase

* Re-add getSoftwareName

* Add custom pytest-workflow test to ensure versions.yml is valid

* Add docstring

* Remove __init__.py as it is not needed

* Remove changes to README, since this part went to nf-co.re

* Add NF_CORE_TEST env var

* Fix editorconfig

* Add additional consistency checks for versions.yml

* Update multiqc module

* Fix output channel
2021-09-24 10:01:54 +01:00
Edmund Miller
669fb5caed
Homer Modules (#75)
* feat(homer): Add initial makeTagDirectory

* feat(homer): Add initial findPeaks module

* feat(homer): Update with new options

See 1d30e2c21a

* fix(homer): Correct findpeaks process name

* fix(homer): Takes a bam file instead of bed

* feat(homer): Add initial makeTagDirectory test

* fix(homer): Hardcode genome and configureHomer

I'd like to modularize configureHomer, but I need to figure out how
exactly the genomes work.

* fix(homer): bam => bed

Bam requires samtools to be present, which it's not in this docker image

* feat(homer): Add initial configureHomer script

* ci(homer): Add initial test

* test(homer): Reproducible configuration workaround

- I can't run both tests(one file and two files) at the same time because it breaks
- I can't copy the genome stuff from the configurehomer module because it's read only
- So I can't make the makeTagDirectory module depend on configureHomer

* test(homer): Add placeholder annotatepeaks

The required inputs are necessarily required for all workflows from what
I've used, but I'll need to look at the actual docs

* test(homer): Add missing B.bed

* test(homer): Rename two => groseq

Then all of the various workflows that homer provides can be e2e tested

* feat(homer): Add initial makeUCSCfile module

* test(homer): Add start to makeUCSCfile testing

* chore(homer): Add various cleanups

* test(homer): Rewrite annotatepeaks

Not passing yet

* test(homer): Rewrite configurehomer

* test(homer): Rewrite findpeaks

Still failing

* test(homer): Rewrite makeucscfile

Not passing yet

* test(homer): Rewrite maketagdirectory

All homer modules now follow the new structure. Time to make them pass.

* test(homer): Fix typo for workflow name

* fix(homer): Use correct container

* fix(homer): Accept fasta in maketagdirectory

Apparently all of the homer stuff can just take any old fasta and you
don't need to configure the genome ahead of time with configureHomer

* test(homer): makeTagDirectory passes now

* fix(homer): Update containers in makeucscfile

* test(homer): Rewrite makeucscfile

Takes input from maketagdirectory which is how the module should be used

* fix(homer): Update makeUCSCFile bedgraph path

* test(homer): Update makeucscfile expected output

* fix(homer): Update containers in findpeaks

* fix(homer): Change findpeaks args

The user is just going to have to know what they're doing for now

* test(homer): findPeaks rewrite with tagDir input

* test(homer): Update expected files for findPeaks

And bump filters

* style: Appease editorconfig

* ci: Remove old workflow

* tests(homer): Add md5sums

* test(homer): Add meta test

* style(homer): Capitalize HOMER

* docs(homer): Add maketagdirectory meta.yml

* docs(homer): Add makeucscfile meta.yml

* docs(homer): Add findpeaks meta.yml

* test(homer): Update to new test data standards

* chore: Remove stuff that got revived in the rebase

* chore: software => modules

* test(homer): Update tags

* test(homer): Update annotatepeaks

* ci: Fix uploading of artifacts

GitHub actions doesn't like the / in the tags

* test(homer): Remove annotate md5sum

This is failing and breaking new tests

* test(homer): Use bams instead of beds

* test(homer): Fix meta maketagdirectory

* test(homer): Fix input in all tests

* test(homer): Move back to bed files

Forgot samtools isn't present

* chore(homer): Add TODOs for tests

* test(homer): Add bed format arg

* test(homer): Update md5sums

* test(homer): Fix tags tsvs

* style(homer): Appease nf-core linting

* docs(homer): Be in line with what is in the main.nf file

Co-authored-by: Kevin Menden <kevin.menden@live.com>

Co-authored-by: Kevin Menden <kevin.menden@live.com>
2021-09-08 15:40:34 +00:00
Harshil Patel
e937c7950a
Rename software/ directory to modules/ to re-organise module structure (#567)
* Update README

* Rename pytest_software.yml to pytest_modules.yml

* Rename main software directory to modules

* Remove deprecated modules

* Rename tests software to modules

* Replace paths for tests in pytest_modules.yml

* Replace software with modules in Github Actions

* Replace software with modules in main.nf tests

* Rename software to modules in test.yml
2021-07-07 10:10:18 +01:00
Edmund Miller
bdee7804ca
build: Bump version to 21.04.0 (#481)
* build: Bump version to 21.04.0

Recent stable release https://github.com/nextflow-io/nextflow/releases/tag/v21.04.0

* Update README.md

Co-authored-by: Harshil Patel <drpatelh@users.noreply.github.com>
2021-05-04 00:38:29 +01:00
Harshil Patel
f34892c1af
Test PR for nf-core modules lint (#414)
* Update functions.nf for publish_by_id

* Pass a list of publish_by_id instead of a string

* Remove NF version

* Rename code linting file

* Run separate workflow for nf-core modules lint

* Adjust nf-core update comment

* Comment out linting from pytest-workflow.yml

* Remove commented out linting code from pytest-workflow.yml

* Adjust spacing

* Adjust spacing again

* Move NF version to job level for linting

* Add CAPSULE_LOG none env when installing NF

* Remove NXF_ANSI_LOG env for linting

* Revert changes
2021-04-09 07:58:43 +01:00
Edmund Miller
a3684d9594
Lint modules ci (#389)
* ci: Add modules lint step

Moved it ahead of the nextflow install so ideally it'll fail before we
bother doing any more setup

* ci: _ => /

* Update tests/config/pytest_software.yml

Co-authored-by: Harshil Patel <drpatelh@users.noreply.github.com>
2021-04-08 09:10:52 +01:00
Edmund Miller
6e4b23a1ca
ci: Upload work directory on failure (#388)
Closes #374
2021-03-25 09:34:19 +00:00
Edmund Miller
1fc4aa260d
ci: Add 21.03.0 version to matrix (#317) 2021-03-22 22:57:59 +00:00
Harshil Patel
9b99b33401
Rename .github/filters.yml -> tests/config/pytest_software.yml (#271)
* Rename pytest filters.yml

* Change filters.yml name

* Update resoures for ivar trim
2021-03-15 12:51:30 +00:00
Gregor Sturm
38349417ad
Update .github/workflows/pytest-workflow.yml
Co-authored-by: Harshil Patel <drpatelh@users.noreply.github.com>
2021-02-23 14:14:29 +01:00
Gregor Sturm
94bdc62123 Only use one thread for pytest-workflow
This avoids a race condition on the conda cache.
2021-02-23 14:06:52 +01:00
drpatelh
418bd64e80 Test module with Conda 2021-02-07 21:33:42 +00:00
Edmund Miller
05c09429a3
ci: Fix artifact path
Had to change it for singularity
2021-02-04 08:45:34 -06:00
Edmund Miller
6fe7b48b5b
Revert "Run alllll the testsgit add .github/workflows/pytest-workflow.yml"
This reverts commit ffc218e51b.
2021-02-03 20:08:11 -06:00
drpatelh
ffc218e51b
Run alllll the testsgit add .github/workflows/pytest-workflow.yml 2021-02-03 20:03:45 -06:00
drpatelh
0c88ff7458
Upgrade Singularity and change TMPDIR for pytest output 2021-02-03 20:03:43 -06:00
drpatelh
3968c18fd7 Only run Docker tests 2021-02-03 14:04:58 +00:00
drpatelh
9e44b0f4f2 Add conda clean step to action 2021-02-03 12:57:55 +00:00
drpatelh
49fecaa4f0 Switch channel order 2021-02-03 12:07:39 +00:00
drpatelh
d783e2d535 Only test Docker and Conda 2021-02-03 09:02:12 +00:00
Edmund Miller
54bb0ae7a1
ci: Name logs 2021-02-02 17:51:20 -06:00
Edmund Miller
42b8962320
ci: Add bioconda channels 2021-02-02 17:13:35 -06:00
Edmund Miller
0813e61c01
ci: Kick off all container types 2021-02-02 17:08:10 -06:00
Edmund Miller
725de25ce4
Revert "ci: Only test docker for now"
This reverts commit c63ba06777.
2021-02-02 17:03:29 -06:00
Edmund Miller
c63ba06777
ci: Only test docker for now
I can't access the artifacts.
2021-02-02 16:49:03 -06:00
Edmund Miller
bb3196ddeb
ci: Update name to use matrix 2021-02-02 16:49:03 -06:00
Edmund Miller
dcfd1089e5
ci: Add --keep-workflow-wd-on-fail 2021-02-02 16:49:03 -06:00
Edmund Miller
983b024010
ci: Use ubuntu-20.04 for singularity 2021-02-02 16:49:02 -06:00
Edmund Miller
8cd6e41df9
ci: Change singularity version 3.6.4 => 3.5.3
Per @grst having issues after 3.6
2021-02-02 16:49:02 -06:00
Edmund Miller
bf2e027fdf
ci: Remove conda to kickoff CI 2021-02-02 16:48:58 -06:00
Edmund Miller
1e9aad430d
ci: Remove ${{}} for style points
It's not necessary in if statements
2021-02-02 15:40:30 -06:00
Edmund Miller
654c6225f0
ci: Setup multiple profiles for testing
Added conda and singularity
2021-02-02 15:38:51 -06:00
Edmund Miller
341fa43ae3
ci: Add PROFILE ahead of pytest run 2021-02-02 13:07:58 -06:00
Edmund Miller
ce2a5b32f5
refactor: Move away from composite-action 2021-02-02 12:21:36 -06:00
Edmund Miller
6da00a8a1b
ci: Put python setup before cache
34cf8a3e0f
2021-01-24 11:38:29 -06:00