Skip to content

Commit

Permalink
Merge branch 'viash-hub:main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
emmarousseau authored Jul 1, 2024
2 parents ea0383c + 3e08b59 commit 44b3fcc
Show file tree
Hide file tree
Showing 27 changed files with 2,655 additions and 326 deletions.
111 changes: 2 additions & 109 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,114 +3,7 @@ name: Component Testing
on:
pull_request:
push:
branches: [ '**' ]

jobs:
run_ci_check_job:
runs-on: ubuntu-latest
outputs:
run_ci: ${{ steps.github_cli.outputs.check }}
steps:
- name: 'Check if branch has an existing pull request and the trigger was a push'
id: github_cli
run: |
pull_request=$(gh pr list -R ${{ github.repository }} -H ${{ github.ref_name }} --json url --state open --limit 1 | jq '.[0].url')
# If the branch has a PR and this run was triggered by a push event, do not run
if [[ "$pull_request" != "null" && "$GITHUB_REF_NAME" != "main" && "${{ github.event_name == 'push' }}" == "true" && "${{ !contains(github.event.head_commit.message, 'ci force') }}" == "true" ]]; then
echo "check=false" >> $GITHUB_OUTPUT
else
echo "check=true" >> $GITHUB_OUTPUT
fi
env:
GH_TOKEN: ${{ github.token }}

# phase 1
list:
needs: run_ci_check_job
runs-on: ubuntu-latest
if: ${{ needs.run_ci_check_job.outputs.run_ci == 'true' }}

outputs:
matrix: ${{ steps.set_matrix.outputs.matrix }}

steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Get head git commit message
id: get_head_commit_message
run: echo "HEAD_COMMIT_MESSAGE=$(git show -s --format=%s ${{ github.event.pull_request.head.sha || github.sha }})" >> "$GITHUB_OUTPUT"

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

- name: Check if all config can be parsed if there is no unicode support
run: |
LANG=C viash ns list > /dev/null
# see https://github.com/viash-io/viash/issues/654
# and https://github.com/viash-io/viash-actions/pull/27
# - name: Get changed files
# id: changed-files
# uses: tj-actions/changed-files@v42
# with:
# separator: ";"
# diff_relative: true
# - id: ns_list
# uses: viash-io/viash-actions/ns-list@v5
# with:
# platform: docker
# format: json
# query: ^(?!workflows)
# - id: ns_list_filtered
# uses: viash-io/viash-actions/project/detect-changed-components@v5
# with:
# input_file: "${{ steps.ns_list.outputs.output_file }}"
# - id: set_matrix
# run: |
# echo "matrix=$(jq -c '[ .[] |
# {
# "name": (.functionality.namespace + "/" + .functionality.name),
# "config": .info.config,
# "dir": .info.config | capture("^(?<dir>.*\/)").dir
# }
# ]' ${{ contains(steps.get_head_commit_message.outputs.HEAD_COMMIT_MESSAGE, 'ci force') && steps.ns_list.outputs.output_file || steps.ns_list_filtered.outputs.output_file }} )" >> $GITHUB_OUTPUT


- id: set_matrix
run: |
viash ns list --format json > ns_list.json
echo "matrix=$(jq -c '[ .[] |
{
"name": (.namespace + "/" + .name),
"config": .build_info.config,
"dir": .build_info.config | capture("^(?<dir>.*\/)").dir
}
]' ns_list.json )" >> $GITHUB_OUTPUT
# phase 2
viash_test:
needs: list
if: ${{ needs.list.outputs.matrix != '[]' && needs.list.outputs.matrix != '' }}
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
component: ${{ fromJson(needs.list.outputs.matrix) }}

steps:
# Remove unnecessary files to free up space. Otherwise, we get 'no space left on device.'
- uses: data-intuitive/reclaim-the-bytes@v2

- uses: actions/checkout@v4

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

- name: Run test
timeout-minutes: 30
run: |
viash test \
"${{ matrix.component.config }}" \
--cpus 2 \
--memory "6gb"
test:
uses: viash-hub/toolbox/.github/workflows/test.yaml@main
29 changes: 24 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
# base unreleased
# biobox x.x.x

## BUG FIXES

* `pear`: fix component not exiting with the correct exitcode when PEAR fails.

# biobox 0.1.0

## BREAKING CHANGES

Expand All @@ -17,6 +23,8 @@
- `busco/busco_list_datasets`: Lists available busco datasets (PR #18).
- `busco/busco_download_datasets`: Download busco datasets (PR #19).

* `cutadapt`: Remove adapter sequences from high-throughput sequencing reads (PR #7).

* `featurecounts`: Assign sequence reads to genomic features (PR #11).

* `bgzip`: Add bgzip functionality to compress and decompress files (PR #13).
Expand All @@ -29,7 +37,9 @@

* `multiqc`: Aggregate results from bioinformatics analyses across many samples into a single report (PR #42).

* `star/star_align_reads`: Align reads to a reference genome (PR #22).
* `star`:
- `star/star_align_reads`: Align reads to a reference genome (PR #22).
- `star/star_genome_generate`: Generate a genome index for STAR alignment (PR #58).

* `gffread`: Validate, filter, convert and perform other operations on GFF files (PR #29).

Expand All @@ -50,8 +60,9 @@

* `falco`: A C++ drop-in replacement of FastQC to assess the quality of sequence read data (PR #43).


## MAJOR CHANGES
* `bedtools`:
- `bedtools_getfasta`: extract sequences from a FASTA file for each of the
intervals defined in a BED/GFF/VCF file (PR #59).

## MINOR CHANGES

Expand All @@ -61,8 +72,16 @@

* Update to Viash 0.9.0-RC3 (PR #51).

* Update to Viash 0.9.0-RC6 (PR #63).

* Switch to viash-hub/toolbox actions (PR #64).

## DOCUMENTATION

* Update README (PR #64).

## BUG FIXES

* Add escaping character before leading hashtag in the description field of the config file (PR #50).
* Add escaping character before leading hashtag in the description field of the config file (PR #50).

* Format URL in biobase/bcl_convert description (PR #55).
30 changes: 21 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,24 @@
# Base repository for reusable Viash components


This repository is a collection of reproducible and reusable Viash
components.
# 🌱📦 biobox

[![ViashHub](https://img.shields.io/badge/ViashHub-biobox-7a4baa.png)](https://web.viash-hub.com/packages/biobox)
[![GitHub](https://img.shields.io/badge/GitHub-viash--hub%2Fbiobox-blue.png)](https://github.com/viash-hub/biobox)
[![GitHub
License](https://img.shields.io/github/license/viash-hub/biobox.png)](https://github.com/viash-hub/biobox/blob/main/LICENSE)
[![GitHub
Issues](https://img.shields.io/github/issues/viash-hub/biobox.png)](https://github.com/viash-hub/biobox/issues)
[![Viash
version](https://img.shields.io/badge/Viash-v0.9.0--RC6-blue)](https://viash.io)

A collection of bioinformatics tools for working with sequence data.

## Objectives

- **Reusability**: Facilitating the use of components across various
projects and contexts.
- **Reproducibility**: Guaranteeing that bioinformatics analyses can be
reliably replicated.
- **Reproducibility**: Ensuring that components are reproducible and can
be easily shared.
- **Best Practices**: Adhering to established standards in software
development and bioinformatics.

Expand Down Expand Up @@ -43,18 +52,21 @@ contribute a component to this repository.
12. Create test script
13. Create a `/var/software_versions.txt` file

See the [CONTRIBUTING](CONTRIBUTING.md) file for more details.
See the
[CONTRIBUTING](https://github.com/viash-hub/biobox/blob/main/CONTRIBUTING.md)
file for more details.

## Support and Community

For support, questions, or to join our community:

- **Issues**: Submit questions or issues via the [GitHub issue
tracker](https://github.com/viash-hub/base/issues).
tracker](https://github.com/viash-hub/biobox/issues).
- **Discussions**: Join our discussions via [GitHub
Discussions](https://github.com/viash-hub/base/discussions).
Discussions](https://github.com/viash-hub/biobox/discussions).

## License

This repository is licensed under an MIT license. See the
[LICENSE](LICENSE) file for details.
[LICENSE](https://github.com/viash-hub/biobox/blob/main/LICENSE) file
for details.
25 changes: 18 additions & 7 deletions README.qmd
Original file line number Diff line number Diff line change
@@ -1,14 +1,25 @@
---
title: Base repository for reusable Viash components
format: gfm
---
```{r setup, include=FALSE}
project <- yaml::read_yaml("_viash.yaml")
license <- paste0(project$links$repository, "/blob/main/LICENSE")
contributing <- paste0(project$links$repository, "/blob/main/CONTRIBUTING.md")
```
# 🌱📦 `r project$name`

[![ViashHub](https://img.shields.io/badge/ViashHub-`r project$name`-7a4baa)](https://web.viash-hub.com/packages/`r project$name`)
[![GitHub](https://img.shields.io/badge/GitHub-viash--hub%2F`r project$name`-blue)](`r project$links$repository`)
[![GitHub License](https://img.shields.io/github/license/viash-hub/`r project$name`)](`r license`)
[![GitHub Issues](https://img.shields.io/github/issues/viash-hub/`r project$name`)](`r project$links$issue_tracker`)
[![Viash version](https://img.shields.io/badge/Viash-v`r gsub("-", "--", project$viash_version)`-blue)](https://viash.io)

This repository is a collection of reproducible and reusable Viash components.
`r project$description`

## Objectives

- **Reusability**: Facilitating the use of components across various projects and contexts.
- **Reproducibility**: Guaranteeing that bioinformatics analyses can be reliably replicated.
- **Reproducibility**: Ensuring that components are reproducible and can be easily shared.
- **Best Practices**: Adhering to established standards in software development and bioinformatics.

## Contributing
Expand Down Expand Up @@ -37,15 +48,15 @@ knitr::asis_output(
)
```

See the [CONTRIBUTING](CONTRIBUTING.md) file for more details.
See the [CONTRIBUTING](`r contributing`) file for more details.


## Support and Community

For support, questions, or to join our community:

- **Issues**: Submit questions or issues via the [GitHub issue tracker](https://github.com/viash-hub/base/issues).
- **Discussions**: Join our discussions via [GitHub Discussions](https://github.com/viash-hub/base/discussions).
- **Issues**: Submit questions or issues via the [GitHub issue tracker](`r project$links$issue_tracker`).
- **Discussions**: Join our discussions via [GitHub Discussions](`r project$links$repository`/discussions).

## License
This repository is licensed under an MIT license. See the [LICENSE](LICENSE) file for details.
This repository is licensed under an MIT license. See the [LICENSE](`r license`) file for details.
10 changes: 5 additions & 5 deletions _viash.yaml
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
name: biobase
name: biobox
description: |
A collection of bioinformatics tools for working with sequence data.
license: MIT
keywords: [bioinformatics, sequence, alignment, variant calling]
keywords: [bioinformatics, modules, sequencing]
links:
issue_tracker: https://github.com/viash-hub/biobase/issues
repository: https://github.com/viash-hub/biobase
issue_tracker: https://github.com/viash-hub/biobox/issues
repository: https://github.com/viash-hub/biobox

viash_version: 0.9.0-RC3
viash_version: 0.9.0-RC6

config_mods: |
.requirements.commands := ['ps']
4 changes: 2 additions & 2 deletions src/bcl_convert/config.vsh.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ name: bcl_convert
description: |
Convert bcl files to fastq files using bcl-convert.
Information about upgrading from bcl2fastq via
https://emea.support.illumina.com/bulletins/2020/10/upgrading-from-bcl2fastq-to-bcl-convert.html
and https://support.illumina.com/sequencing/sequencing_software/bcl-convert/compatibility.html
[Upgrading from bcl2fastq to BCL Convert](https://emea.support.illumina.com/bulletins/2020/10/upgrading-from-bcl2fastq-to-bcl-convert.html)
and [BCL Convert Compatible Products](https://support.illumina.com/sequencing/sequencing_software/bcl-convert/compatibility.html)
argument_groups:
- name: Input arguments
arguments:
Expand Down
Loading

0 comments on commit 44b3fcc

Please sign in to comment.