Files
biobox/README.md
CI 59f1edaa39 Build branch update-readme with version update-readme (b6dce14)
Build pipeline: viash-hub.biobox.update-readme-8tpcp

Source commit: b6dce14faa

Source message: update readme
2025-05-06 10:54:10 +00:00

143 lines
4.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🌱📦 biobox
[![ViashHub](https://img.shields.io/badge/ViashHub-biobox-7a4baa.svg)](https://www.viash-hub.com/packages/biobox)
[![GitHub](https://img.shields.io/badge/GitHub-viash--hub%2Fbiobox-blue.svg)](https://github.com/viash-hub/biobox)
[![GitHub
License](https://img.shields.io/github/license/viash-hub/biobox.svg)](https://github.com/viash-hub/biobox/blob/main/LICENSE)
[![GitHub
Issues](https://img.shields.io/github/issues/viash-hub/biobox.svg)](https://github.com/viash-hub/biobox/issues)
[![Viash
version](https://img.shields.io/badge/Viash-v0.9.4-blue.svg)](https://viash.io)
A curated collection of high-quality, standalone bioinformatics
components built with [Viash](https://viash.io).
## Introduction
`biobox` offers a suite of reliable bioinformatics components, similar
to [nf-core/modules](https://github.com/nf-core/modules) and
[snakemake-wrappers/bio](https://github.com/snakemake/snakemake-wrappers/tree/master/bio),
but built using the [Viash](https://viash.io) framework.
This approach emphasizes **reusability**, **reproducibility**, and
adherence to **best practices**. Key features of `biobox` components
include:
- **Standalone & Nextflow Ready:** Run components directly via the
command line or seamlessly integrate them into Nextflow workflows.
- **High Quality Standards:**
- Comprehensive documentation for components and parameters.
- Full exposure of underlying tool arguments.
- Containerized (Docker) for dependency management and
reproducibility.
- Unit tested for verified functionality.
## Example Usage
Viash components in biobox can be run in various ways:
``` mermaid lang="mermaid"
flowchart TD
A[biobox v0.3.0] --> B(Viash Hub Launch)
A --> C(Viash CLI)
A --> D(Nextflow CLI)
A --> E(Seqera Cloud)
A --> F(As a dependency)
```
### 1. Via the Viash Hub Launch interface
You can run this component directly from the Viash Hub [Launch
interface](https://www.viash-hub.com/launch?package=biobox&version=v0.3.0&component=arriba&runner=Executable).
![](docs/viash-hub.png)
### 2. Via the Viash CLI
You can run this component directly from the command line using the
Viash CLI.
``` bash
viash run vsh://biobox@v0.3.0/arriba -- --help
viash run vsh://biobox@v0.3.0/arriba -- \
--bam path/to/input.bam \
--genome path/to/genome.fa \
--gene_annotation path/to/annotation.gtf \
--fusions path/to/output.txt
```
This will run the component with the specified input files and output
the results to the specified output file.
### 3. Via the Nextflow CLI or Seqera Cloud
You can run this component as a Nextflow pipeline.
``` bash
nextflow run https://packages.viash-hub.com/vsh/biobox \
-revision v0.3.0 \
-main-script target/nextflow/arriba/main.nf \
-latest -resume \
-profile docker \
--bam path/to/input.bam \
--genome path/to/genome.fa \
--gene_annotation path/to/annotation.gtf \
--publish_dir path/to/output
```
**Note:** Make sure that the [Nextflow
SCM](https://www.nextflow.io/docs/latest/git.html#git-configuration) is
set up properly. You can do this by adding the following lines to your
`~/.nextflow/scm` file:
``` groovy
providers.vsh.platform = 'gitlab'
providers.vsh.server = 'https://packages.viash-hub.com'
```
**Tip:** This will also work with Seqera Cloud or other
Nextflow-compatible platforms.
### 4. As a dependency
In your Viash config file (`config.vsh.yaml`), you can add this
component as a dependency:
``` yaml
dependencies:
- name: arriba
repository: vsh://biobox@v0.3.0
```
**Tip:** See the [Viash
documentation](https://viash.io/guide/nextflow_vdsl3/create-a-pipeline.html#pipeline-as-a-component)
for more details on how to use Viash components as a dependency in your
own Nextflow workflows.
## Contributing
Contributions are welcome! We aim to build a comprehensive collection of
high-quality bioinformatics components. If youd like to contribute,
please follow these general steps:
1. Find a component to contribute
2. Add config template
3. Fill in the metadata
4. Find a suitable container
5. Create help file
6. Create or fetch test data
7. Add arguments for the input files
8. Add arguments for the output files
9. Add arguments for the other arguments
10. Add a Docker engine
11. Write a runner script
12. Create test script
13. Create a `/var/software_versions.txt` file
See the
[CONTRIBUTING](https://github.com/viash-hub/biobox/blob/main/CONTRIBUTING.md)
file for more details.