Skip to contents

Builds the aws s3 sync include/exclude pattern tibble for a workflow, from the glob fields declared by each of its tool's schema.yaml.

Usage

wf_s3sync_patterns(workflow, include = NULL, exclude = NULL)

Arguments

workflow

(character(1))
Workflow name (e.g. "wigits", "dragen"), as accepted by nemoverse_wf_dispatch().

include, exclude

(character(n))
Extra globs to add after the workflow's own patterns. Excludes come first, so an extra include wins over any exclude.

Value

(tibble())
Tibble with inex ("in"/"ex") and pat columns, suitable for s3sync()'s pats argument.

Examples

(pats <- wf_s3sync_patterns("workflow1"))
#> # A tibble: 7 × 2
#>   inex  pat               
#>   <chr> <chr>             
#> 1 ex    *                 
#> 2 in    *.tool1.table1.tsv
#> 3 in    *.tool1.table2.tsv
#> 4 in    *.tool1.table3.tsv
#> 5 in    *.tool1.table4.tsv
#> 6 in    *.tool1.table6.csv
#> 7 in    *.tool1.table7.tsv
(pats2 <- wf_s3sync_patterns("workflow1", include = "*.a.tsv", exclude = "*.b.tsv"))
#> # A tibble: 9 × 2
#>   inex  pat               
#>   <chr> <chr>             
#> 1 ex    *                 
#> 2 in    *.tool1.table1.tsv
#> 3 in    *.tool1.table2.tsv
#> 4 in    *.tool1.table3.tsv
#> 5 in    *.tool1.table4.tsv
#> 6 in    *.tool1.table6.csv
#> 7 in    *.tool1.table7.tsv
#> 8 ex    *.b.tsv           
#> 9 in    *.a.tsv