Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/midnighter/nextflow-utility-services
A collection of Groovy classes that provide utility services to nextflow pipelines.
https://github.com/midnighter/nextflow-utility-services
Last synced: 11 days ago
JSON representation
A collection of Groovy classes that provide utility services to nextflow pipelines.
- Host: GitHub
- URL: https://github.com/midnighter/nextflow-utility-services
- Owner: Midnighter
- License: mit
- Created: 2022-09-19T18:45:48.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2022-10-25T05:56:39.000Z (about 2 years ago)
- Last Synced: 2024-04-16T03:31:29.748Z (7 months ago)
- Language: Groovy
- Size: 33.2 KB
- Stars: 13
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Nextflow Utility Services
A collection of custom Groovy service classes intended for use in nextflow pipelines.
| Service | Demo | Description |
| --------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| [`lib/FormattingService.groovy`](lib/FormattingService.groovy) | `nextflow run formatting.nf -dump-channels` | Format objects as JSON for pretty printing. |
| [`lib/FileTypeQueryService.groovy`](lib/FileTypeQueryService.groovy) | `nextflow run file_type_query.nf` | Query file path objects for compression and common sequencing data types. Can be extended indefinitely. |
| [`lib/CustomChannelOperators.groovy`](lib/CustomChannelOperators.groovy) | `nextflow run join_on_keys.nf` | Extract values via given keys from maps in two different channels and join those channels on the values. |
| [`lib/HTTPRequestsService.groovy`](lib/HTTPRequestsService.groovy)
[`lib/HTTPResponse.groovy`](lib/HTTPResponse.groovy) | `nextflow run http_requests.nf` | Perform HTTP requests via a simplified API. At the moment only POST is supported. |
| [`lib/SlackMessagingService.groovy`](lib/SlackMessagingService.groovy)
[`assets/pipelineStatusMessage.json`](assets/pipelineStatusMessage.json) | `nextflow run slack_messaging.nf` | Post a pipeline status message to Slack using an incoming webhook URL. |## Usage
If you intend to use one or more of the classes from this repository. Simply copy them from the [`lib`](lib) directory to your pipeline's `lib` directory. Some classes additionally require assets which you should similarly copy from the [`assets`](assets) directory to your pipeline's `assets` directory.
If you want to use a service inside one of your modules, rather than in the main workflow, you may have to import it by its class name.
```nextflow
import Service
```## Copyright
- Copyright © 2022, Moritz E. Beber
- Free software, distributed under the [MIT license](LICENSE)