A collection of curated command-line tools for general IT tasks, built with Viash.
toolbox
provides a versatile suite of IT components, following the
robust Viash (https://viash.io) framework. This package focuses on
delivering reliable, standalone tools that can be easily integrated into
larger computational workflows.
The core philosophy emphasizes reusability, reproducibility, and
adherence to best practices in component creation. Key features of
toolbox
components include:
- Standalone & Nextflow Ready: Execute components directly from the command line or seamlessly incorporate them into Nextflow workflows.
- High Quality Standards:
- Comprehensive documentation for each component and its parameters.
- Full exposure of the underlying toolโs arguments for maximum flexibility.
- Containerized (Docker) to ensure consistent environments and manage dependencies, leading to enhanced reproducibility.
- Unit tested to verify functionality and ensure reliability.
Viash components in toolbox can be run in various ways:
flowchart TD
A[toolbox v0.1.0] --> B(Viash Hub Launch)
A --> C(Viash CLI)
A --> D(Nextflow CLI)
A --> E(Seqera Cloud)
A --> F(As a dependency)
You can run this component directly from the Viash Hub Launch interface.
You can run this component directly from the command line using the Viash CLI.
viash run vsh://[email protected]/yq -- --help
viash run vsh://[email protected]/yq -- \
--input path/to/input.yaml \
--output output.yaml
This will run the component with the specified input files and output the results to the specified output file.
You can run this component as a Nextflow pipeline.
nextflow run https://packages.viash-hub.com/vsh/toolbox \
-revision v0.1.0 \
-main-script target/nextflow/yq/main.nf \
-latest -resume \
-profile docker \
--input path/to/input.yaml \
--publish_dir path/to/output
Note: Make sure that the Nextflow
SCM is
set up properly. You can do this by adding the following lines to your
~/.nextflow/scm
file:
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.
In your Viash config file (config.vsh.yaml
), you can add this
component as a dependency:
dependencies:
- name: yq
repository: vsh://[email protected]
Tip: See the Viash documentation for more details on how to use Viash components as a dependency in your own Nextflow workflows.
Contributions are welcome! We aim to build a comprehensive collection of high-quality bioinformatics components. If youโd like to contribute, please follow these general steps:
- Find a component to contribute
- Add config template
- Fill in the metadata
- Find a suitable container
- Create help file
- Create or fetch test data
- Add arguments for the input files
- Add arguments for the output files
- Add arguments for the other arguments
- Add a Docker engine
- Write a runner script
- Create test script
- Create a
/var/software_versions.txt
file
See the CONTRIBUTING file for more details.