Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Viash to 0.9.0-RC7 #796

Merged
merged 77 commits into from
Aug 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
9ccc4a3
Add ATAC demux (#726)
VladimirShitov Mar 25, 2024
41b60be
Remove muon as test dependency for concatenate_h5mu. (#773)
DriesSchaumont Mar 27, 2024
7ec3ba4
scGPT binning component (#765)
dorien-er Mar 28, 2024
a169145
Cellranger Multi: output stdout/err on when cellranger failed (#766)
jakubmajercik Mar 29, 2024
fac74cd
config mods + report/mermaid refactored
jakubmajercik Apr 2, 2024
e5e0426
files/make_params refactored
jakubmajercik Apr 3, 2024
70c1130
interactive/run_cellxgene and compression/compress_h5mu refactored
jakubmajercik Apr 4, 2024
ee8273d
compression, interactive, process namespaces refactored
jakubmajercik Apr 8, 2024
9ba4f55
interactive namespace refactored
jakubmajercik Apr 10, 2024
0bb1f18
10xt_to_h5mu changed config
jakubmajercik Apr 22, 2024
baeac77
cluster - dimred namespaces (alphabetically) refactored and tested
jakubmajercik Apr 23, 2024
29481d8
all components refactored and tested
jakubmajercik Apr 24, 2024
1cf9b34
annotate/popv fix
jakubmajercik Apr 24, 2024
0cae088
Implement cellranger mkgtf (#771)
jakubmajercik Apr 25, 2024
39dedf2
Merge remote-tracking branch 'origin/main' into develop
DriesSchaumont Apr 25, 2024
ee2c71d
Merge branch 'main' of github.com:openpipelines-bio/openpipeline into…
jakubmajercik Apr 26, 2024
f1fde6f
Merge branch 'develop' of github.com:openpipelines-bio/openpipeline i…
jakubmajercik Apr 26, 2024
2c598d9
removed viashpy from cellbender_remocve_background
jakubmajercik Apr 26, 2024
47a1f66
Merge remote-tracking branch 'origin/main' into 776-refactor-config-n…
DriesSchaumont Jun 12, 2024
84c877f
Specify viash version in config
DriesSchaumont Jun 12, 2024
5870dd4
Merge remote-tracking branch 'origin/main' into 776-refactor-config-n…
DriesSchaumont Jun 25, 2024
248843a
Merge remote-tracking branch 'origin/main' into 776-refactor-config-n…
DriesSchaumont Jul 10, 2024
cbd98b9
Update after merge
DriesSchaumont Jul 10, 2024
28cff91
Bump viash
DriesSchaumont Jul 10, 2024
7474cec
Remove concat component
DriesSchaumont Jul 10, 2024
405dbfc
Remove deprecated workflows from workflows folder in project root
DriesSchaumont Jul 10, 2024
442afa9
Update CHANGELOG [ci skip]
DriesSchaumont Jul 10, 2024
fe7906b
Also convert workflow and some new components
DriesSchaumont Jul 10, 2024
b48f490
Fix some config
DriesSchaumont Jul 10, 2024
5e947c8
CI: Remove --setup 'meh'
DriesSchaumont Jul 10, 2024
22dcf7a
CI: adjust viash-test
DriesSchaumont Jul 10, 2024
3dd6ecc
info -> build_info
DriesSchaumont Jul 11, 2024
3c9da71
Update docker
DriesSchaumont Jul 11, 2024
62e9003
Add missing '-type: executable'
DriesSchaumont Jul 11, 2024
3d6714d
Add more missing '- type:executable'
DriesSchaumont Jul 11, 2024
8a00586
Use unique tests
DriesSchaumont Jul 11, 2024
1c188a6
More changes to CI
DriesSchaumont Jul 11, 2024
b3c90bd
Test generating nextflow schemas with viash 0.9
DriesSchaumont Jul 11, 2024
1fcc09b
Merge remote-tracking branch 'origin/main' into 776-refactor-config-n…
DriesSchaumont Jul 22, 2024
f125cca
Fix after merge
DriesSchaumont Jul 22, 2024
22299a3
CI: specify engine and runner explicitly
DriesSchaumont Jul 22, 2024
09cb5b8
CI: Update generating nextflow param file
DriesSchaumont Jul 23, 2024
37c5bc7
Cannot use --engine docker in combination with --runner executable
DriesSchaumont Jul 24, 2024
fce47ae
Remove meta_functionality_name, update CI and remove leftover workflo…
DriesSchaumont Jul 24, 2024
1a5d359
Merge branch 'main' into 776-refactor-config-new-viash
DriesSchaumont Aug 6, 2024
e051069
Merge remote-tracking branch 'origin/main' into 776-refactor-config-n…
DriesSchaumont Aug 6, 2024
645815f
Add --runner executable to viash test CI [ci force]
DriesSchaumont Aug 6, 2024
6e322dc
Merge remote-tracking branch 'origin/main' into 776-refactor-config-n…
DriesSchaumont Aug 7, 2024
2ce057e
Merge remote-tracking branch 'origin/main' into 776-refactor-config-n…
DriesSchaumont Aug 7, 2024
5a5ff4c
Update newly added config
DriesSchaumont Aug 8, 2024
10b641f
Merge remote-tracking branch 'origin/main' into 776-refactor-config-n…
DriesSchaumont Aug 13, 2024
45ebd6e
Adjust some new components
DriesSchaumont Aug 13, 2024
7bf0cef
Fix some meta variables
DriesSchaumont Aug 13, 2024
6aa72c8
Bump viash
DriesSchaumont Aug 13, 2024
992a1b1
Merge remote-tracking branch 'origin/main' into 776-refactor-config-n…
DriesSchaumont Aug 16, 2024
67efba5
Fix some components
DriesSchaumont Aug 16, 2024
c64af4d
Fix some more components
DriesSchaumont Aug 16, 2024
8938ec0
Merge remote-tracking branch 'origin/main' into 776-refactor-config-n…
DriesSchaumont Aug 16, 2024
2957702
Update split_h5mu_train_test
DriesSchaumont Aug 16, 2024
ecc8570
Update densmap
DriesSchaumont Aug 16, 2024
7fec4d1
Merge remote-tracking branch 'origin/main' into 776-refactor-config-n…
DriesSchaumont Aug 16, 2024
ee90b9f
Update split_h5mu component
DriesSchaumont Aug 16, 2024
f2644eb
Remove symlink of qc workflow in root of repo.
DriesSchaumont Aug 16, 2024
1984218
Remove references to functionality.name
DriesSchaumont Aug 16, 2024
43a5178
Merge remote-tracking branch 'origin/main' into 776-refactor-config-n…
DriesSchaumont Aug 16, 2024
ce6f26c
Fix cellxgene_census component
DriesSchaumont Aug 16, 2024
afa3bc0
Remove run_cellxgene and run_cirrocumulus
DriesSchaumont Aug 22, 2024
4beab88
Merge remote-tracking branch 'origin/main' into 776-refactor-config-n…
rcannood Aug 23, 2024
3b94fd2
fix typo
rcannood Aug 23, 2024
4ab92f6
update config
rcannood Aug 23, 2024
b0f4fb9
Fix some components
DriesSchaumont Aug 23, 2024
96db003
Fix config syntax problems
DriesSchaumont Aug 23, 2024
f15e363
Fix integration tests
DriesSchaumont Aug 23, 2024
a795aeb
Fix other regex in CI
DriesSchaumont Aug 23, 2024
14d2602
Test components docker images should not be pushed
DriesSchaumont Aug 23, 2024
817cf55
Merge remote-tracking branch 'origin/main' into 776-refactor-config-n…
DriesSchaumont Aug 29, 2024
c22fdc2
Fix regress_out
DriesSchaumont Aug 29, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 3 additions & 4 deletions .github/workflows/integration-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ jobs:
- name: Remove unused test resources to save space
shell: bash
run: |
readarray -t resources < <(viash config view --format json "${{ matrix.component.config }}" -c 'del(.functionality.dependencies)' | jq -r -c '(.info.config | capture("^(?<dir>.*\/)").dir) as $dir | .functionality.test_resources | map(select(.type == "file")) | map($dir + .path) | unique | .[]')
readarray -t resources < <(viash config view --format json "${{ matrix.component.config }}" -c 'del(.dependencies)' | jq -r -c '(.build_info.config | capture("^(?<dir>.*\/)").dir) as $dir | .test_resources | map(select(.type == "file")) | map($dir + .path) | unique | .[]')
to_not_remove=()
for resource in "${resources[@]}"; do
if [[ $resource == *"resources_test"* ]]; then
Expand All @@ -104,9 +104,8 @@ jobs:
uses: viash-io/viash-actions/ns-build@v6
with:
config_mod: |
.functionality.version := 'integration_build'
.platforms[.type == 'docker'].target_tag := 'integration_build'
platform: 'docker|nextflow'
.version := 'integration_build'
.engines[.type == 'docker'].target_tag := 'integration_build'
src: ${{ matrix.component.dir }}
query: "^test_workflows"
setup: build
Expand Down
42 changes: 21 additions & 21 deletions .github/workflows/main-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -141,14 +141,14 @@ jobs:
- uses: viash-io/viash-actions/ns-build@v6
with:
config_mod: |
.functionality.version := "${{ inputs.version || format('{0}_build', github.ref_name) }}"
.platforms[.type == 'docker'].target_tag := '${{ github.event_name == 'push' && (inputs.version || format('{0}_build', github.ref_name)) || inputs.target_tag }}'
.version := "${{ inputs.version || format('{0}_build', github.ref_name) }}"
.engines[.type == 'docker'].target_tag := '${{ github.event_name == 'push' && (inputs.version || format('{0}_build', github.ref_name)) || inputs.target_tag }}'
parallel: true
query: ^(?!workflows|test_workflows)

- uses: viash-io/viash-actions/ns-build@v6
with:
config_mod: .functionality.version := "${{ inputs.version || format('{0}_build', github.ref_name) }}"
config_mod: .version := "${{ inputs.version || format('{0}_build', github.ref_name) }}"
parallel: true
query: ^workflows

Expand Down Expand Up @@ -178,39 +178,39 @@ jobs:
id: ns_list
uses: viash-io/viash-actions/ns-list@v6
with:
platform: docker
engine: docker
src: src
format: json
query_namespace: ^(?!workflows|test_workflows)
query_namespace: ^(?!workflows)|(workflows/test_workflows)

- name: "List workflows"
id: ns_list_workflows
uses: viash-io/viash-actions/ns-list@v6
with:
src: src
format: json
query_namespace: ^workflows
query_namespace: ^workflows/(?!test_workflows)

- name: "Parse JSON output from 'viash ns list' as input for matrix."
id: set_matrix
run: |
echo "components=$(jq -c '[ .[] |
{
"name": .functionality.name,
"namespace_separator": .platforms | map(select(.type == "docker"))[0].namespace_separator,
"namespace": .functionality.namespace,
"config": .info.config,
"dir": .info.config | capture("^(?<dir>.*\/)").dir
"name": .name,
"namespace_separator": .engines | map(select(.type == "docker"))[0].namespace_separator,
"namespace": .namespace,
"config": .build_info.config,
"dir": .build_info.config | capture("^(?<dir>.*\/)").dir
}
]' ${{ steps.ns_list.outputs.output_file }} )" >> $GITHUB_OUTPUT

echo "workflows=$(jq -c '[ .[] | . as $config | (.functionality.test_resources // [])[] | select(.type == "nextflow_script", .entrypoint) |
echo "workflows=$(jq -c '[ .[] | . as $config | (.test_resources // [])[] | select(.type == "nextflow_script", .entrypoint) |
{
"name": $config.functionality.name,
"namespace": $config.functionality.namespace,
"main_script": (($config.info.config | capture("^(?<dir>.*\/)").dir) + "/" + .path),
"name": $config.name,
"namespace": $config.namespace,
"main_script": (($config.build_info.config | capture("^(?<dir>.*\/)").dir) + "/" + .path),
"entry": .entrypoint,
"config": $config.info.config
"config": $config.build_info.config
}
] | unique' ${{ steps.ns_list_workflows.outputs.output_file }} )" >> $GITHUB_OUTPUT

Expand Down Expand Up @@ -239,9 +239,9 @@ jobs:
uses: viash-io/viash-actions/ns-build@v6
with:
config_mod: |
.functionality.version := "${{ inputs.version || format('{0}_build', github.ref_name) }}"
.platforms[.type == 'docker'].target_tag := '${{ github.event_name == 'push' && 'main_build' || inputs.target_tag }}'
platform: docker
.version := "${{ inputs.version || format('{0}_build', github.ref_name) }}"
.engines[.type == 'docker'].target_tag := '${{ github.event_name == 'push' && 'main_build' || inputs.target_tag }}'
engine: docker
src: ${{ matrix.component.dir }}
setup: build

Expand All @@ -255,7 +255,7 @@ jobs:
- name: Push container
uses: viash-io/viash-actions/ns-build@v6
with:
config_mod: .functionality.version := "${{ inputs.version || format('{0}_build', github.ref_name) }}"
platform: docker
config_mod: .version := "${{ inputs.version || format('{0}_build', github.ref_name) }}"
engine: docker
src: ${{ matrix.component.dir }}
setup: push
6 changes: 3 additions & 3 deletions .github/workflows/release-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ jobs:
- name: Remove unused test resources to save space
shell: bash
run: |
readarray -t resources < <(viash config view --format json "${{ matrix.component.config }}" -c 'del(.functionality.dependencies)' | jq -r -c '(.info.config | capture("^(?<dir>.*\/)").dir) as $dir | .functionality.test_resources | map(select(.type == "file")) | map($dir + .path) | unique | .[]')
readarray -t resources < <(viash config view --format json "${{ matrix.component.config }}" -c 'del(.dependencies)' | jq -r -c '(.build_info.config | capture("^(?<dir>.*\/)").dir) as $dir | .test_resources | map(select(.type == "file")) | map($dir + .path) | unique | .[]')
to_not_remove=()
for resource in "${resources[@]}"; do
if [[ $resource == *"resources_test"* ]]; then
Expand Down Expand Up @@ -157,7 +157,7 @@ jobs:
run: |
viash test \
"${{ matrix.component.config }}" \
--config_mod ".platforms[.type == 'docker'].image := 'ghcr.io/openpipelines-bio/${{ matrix.component.namespace }}${{matrix.component.namespace_separator}}${{ matrix.component.name }}:${{ github.event.inputs.version_tag }}'" \
--config_mod ".platforms[.type == 'docker'].setup := []" \
--config_mod ".engines[.type == 'docker'].image := 'ghcr.io/openpipelines-bio/${{ matrix.component.namespace }}${{matrix.component.namespace_separator}}${{ matrix.component.name }}:${{ github.event.inputs.version_tag }}'" \
--config_mod ".engines[.type == 'docker'].setup := []" \
--cpus 4 \
--memory "12gb"
26 changes: 14 additions & 12 deletions .github/workflows/viash-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
- name: Check if all config can be parsed if there is no unicode support
run: |
LANG=C viash ns list > /dev/null
JAVA_TOOL_OPTIONS=-Dfile.encoding=ascii viash ns build --parallel --setup meh > /dev/null
JAVA_TOOL_OPTIONS=-Dfile.encoding=ascii viash ns build --parallel > /dev/null

- uses: viash-io/viash-actions/project/sync-and-cache-s3@v6
id: cache
Expand All @@ -45,7 +45,7 @@ jobs:
- id: ns_list
uses: viash-io/viash-actions/ns-list@v6
with:
platform: docker
engine: docker
format: json
query_namespace: ^(?!workflows|test_workflows)

Expand All @@ -58,13 +58,13 @@ jobs:
run: |
echo "matrix=$(jq -c '[ .[] |
{
"name": .functionality.name,
"namespace_separator": .platforms | map(select(.type == "docker"))[0].namespace_separator,
"namespace": .functionality.namespace,
"config": .info.config,
"dir": .info.config | capture("^(?<dir>.*\/)").dir
"name": .name,
"namespace_separator": .engines | map(select(.type == "docker"))[0].namespace_separator,
"namespace": .namespace,
"config": .build_info.config,
"dir": .build_info.config | capture("^(?<dir>.*\/)").dir
}
]' ${{ steps.ns_list_filtered.outputs.output_file }} )" >> $GITHUB_OUTPUT
] | unique' ${{ steps.ns_list_filtered.outputs.output_file }} )" >> $GITHUB_OUTPUT

# phase 2
viash_test:
Expand All @@ -84,7 +84,7 @@ jobs:
- uses: actions/checkout@v4

- uses: viash-io/viash-actions/setup@v6

- uses: viash-io/viash-actions/project/update-docker-engine@v6
# use cache
- name: Cache resources data
id: restore_cache
Expand All @@ -99,7 +99,7 @@ jobs:
shell: bash
if: steps.restore_cache.outputs.cache-hit != 'true'
run: |
readarray -t resources < <(viash config view --format json "${{ matrix.component.config }}" | jq -r -c '(.info.config | capture("^(?<dir>.*\/)").dir) as $dir | .functionality.test_resources | map(select(.type == "file")) | map($dir + .path) | unique | .[]')
readarray -t resources < <(viash config view --format json "${{ matrix.component.config }}" | jq -r -c '(.build_info.config | capture("^(?<dir>.*\/)").dir) as $dir | .test_resources | map(select(.type == "file")) | map($dir + .path) | unique | .[]')
for resource in "${resources[@]}"; do
if [[ $resource == *"resources_test"* ]]; then
relative_path=${resource#*resources_test/}
Expand All @@ -123,7 +123,7 @@ jobs:
if: steps.restore_cache.outputs.cache-hit == 'true'
shell: bash
run: |
readarray -t resources < <(viash config view --format json "${{ matrix.component.config }}" | jq -r -c '(.info.config | capture("^(?<dir>.*\/)").dir) as $dir | .functionality.test_resources | map(select(.type == "file")) | map($dir + .path) | unique | .[]')
readarray -t resources < <(viash config view --format json "${{ matrix.component.config }}" | jq -r -c '(.build_info.config | capture("^(?<dir>.*\/)").dir) as $dir | .test_resources | map(select(.type == "file")) | map($dir + .path) | unique | .[]')
to_not_remove=()
for resource in "${resources[@]}"; do
if [[ $resource == *"resources_test"* ]]; then
Expand Down Expand Up @@ -156,5 +156,7 @@ jobs:
viash test \
"${{ matrix.component.config }}" \
--cpus 4 \
--memory "14gb"
--memory "14gb" \
--engine docker \
--runner executable

8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,12 @@

* `lianapy`: bumped version to `1.3.0` (PR #827 and PR #862). Additionally, `groupby` is now a required argument.

* `concat`: this component was deprecated and has now been removed, use `concatenate_h5mu` instead (PR #796).

* The `workflows` folder in the root of the project no longer contains symbolic links to the build workflows in `target`.
Using any workflows that was previously linked in this directory will now result in an error which will indicate
the location of the workflow to be used instead (PR #796).

* `XGBoost`: bump version to `2.0.3` (PR #646).

* Several components: update anndata to `0.10.8` and mudata to `0.2.3` (PR #645).
Expand All @@ -32,6 +38,8 @@

* `reference/cellranger_mkgtf`: Rename `reference/mkgtf` to `reference/cellranger_mkgtf` (PR #846).

* `interactive/run_cellxgene` and `interactive/run_cirrocumulus` were removed (PR #796).

* `reference/build_cellranger_arc_reference`: a default value of "output" is now specified for the argument `--genome`, inline with `reference/build_cellranger_reference` component. Additionally, providing a value for `--organism` is no longer required and its default value of `Homo Sapiens` has been removed (PR #864).

## NEW FUNCTIONALITY
Expand Down
32 changes: 18 additions & 14 deletions _viash.yaml
Original file line number Diff line number Diff line change
@@ -1,19 +1,23 @@
viash_version: 0.8.6
# since 0.9.0-RC7 is not released yet, we need to use documentation by code
# https://github.com/viash-io/viash/blob/develop/src/main/scala/io/viash/packageConfig/PackageConfig.scala
viash_version: 0.9.0-RC7

version: dev

source: src
target: target

organization: "openpipelines-bio"

links:
repository: https://github.com/openpipelines-bio/openpipeline
docker_registry: ghcr.io
homepage: https://openpipelines.bio
documentation: https://openpipelines.bio/fundamentals
issue_tracker: https://github.com/openpipelines-bio/openpipeline/issues

config_mods: |
.functionality.version := 'dev'
.functionality.requirements.commands := ['ps']
.functionality.arguments[.multiple == true].multiple_sep := ";"
.functionality.argument_groups[true].arguments[.multiple == true].multiple_sep := ";"
.functionality.test_resources += {path: 'src/base/openpipelinetestutils', dest: 'openpipelinetestutils'}
.platforms[.type == 'docker'].namespace_separator := '/'
.platforms[.type == 'docker'].target_registry := 'ghcr.io'
.platforms[.type == 'docker'].target_organization := 'openpipelines-bio'
.platforms[.type == 'docker'].target_image_source := 'https://github.com/openpipelines-bio/openpipeline'
.platforms[.type == 'nextflow'].directives.tag := '$id'
.platforms[.type == 'nextflow'].auto.simplifyOutput := false
.platforms[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")'
.functionality.resources += {path: './src/workflows/utils/labels.config', dest: 'nextflow_labels.config'}
.test_resources += {path: '/src/base/openpipelinetestutils', dest: 'openpipelinetestutils'}
.resources += {path: '/src/workflows/utils/labels.config', dest: 'nextflow_labels.config'}
.runners[.type == 'nextflow'].directives.tag := '$id'
.runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")'
Loading