{"id":18666770,"url":"https://github.com/bionode/bionode-watermill","last_synced_at":"2025-04-11T23:33:14.353Z","repository":{"id":77224500,"uuid":"61566002","full_name":"bionode/bionode-watermill","owner":"bionode","description":"💧Bionode-Watermill: A (Not Yet Streaming) Workflow Engine","archived":false,"fork":false,"pushed_at":"2018-06-27T16:45:21.000Z","size":695,"stargazers_count":37,"open_issues_count":30,"forks_count":11,"subscribers_count":19,"default_branch":"master","last_synced_at":"2024-04-28T09:22:07.907Z","etag":null,"topics":["bioinformatics","bionode","nodejs","pipeline","tool"],"latest_commit_sha":null,"homepage":"https://bionode.gitbooks.io/bionode-watermill/content/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bionode.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2016-06-20T17:13:21.000Z","updated_at":"2024-04-18T00:21:13.000Z","dependencies_parsed_at":"2023-10-17T05:04:49.428Z","dependency_job_id":"e9cac105-33d6-425b-9fee-0037d0798d88","html_url":"https://github.com/bionode/bionode-watermill","commit_stats":{"total_commits":426,"total_committers":4,"mean_commits":106.5,"dds":0.403755868544601,"last_synced_commit":"46499966a41c5977941ba4b617298aa64192b2c3"},"previous_names":["bionode/bionode-waterwheel"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bionode%2Fbionode-watermill","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bionode%2Fbionode-watermill/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bionode%2Fbionode-watermill/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bionode%2Fbionode-watermill/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bionode","download_url":"https://codeload.github.com/bionode/bionode-watermill/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248495832,"owners_count":21113706,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bioinformatics","bionode","nodejs","pipeline","tool"],"created_at":"2024-11-07T08:33:59.934Z","updated_at":"2025-04-11T23:33:09.340Z","avatar_url":"https://github.com/bionode.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"http://bionode.io\"\u003e\n    \u003cimg height=\"200\" width=\"200\" title=\"bionode\" alt=\"bionode logo\" src=\"https://rawgithub.com/bionode/bionode/master/docs/bionode-logo.min.svg\"/\u003e\n  \u003c/a\u003e\n  \u003cbr/\u003e\n  \u003ca href=\"http://bionode.io/\"\u003ebionode.io\u003c/a\u003e\n\u003c/p\u003e\n\n# bionode-watermill\n\n\u003e Bionode-watermill: A (Not Yet Streaming) Workflow Engine\n\n[![npm](https://img.shields.io/npm/v/bionode-watermill.svg?style=flat-square)](http://npmjs.org/package/bionode-watermill)\n[![Travis](https://img.shields.io/travis/bionode/bionode-watermill/master.svg?label=master\u0026style=flat-square)](https://travis-ci.org/bionode/bionode-watermill)\n[![Travis](https://img.shields.io/travis/bionode/bionode-watermill/dev.svg?label=dev\u0026style=flat-square)](https://travis-ci.org/bionode/bionode-watermill)\n[![Codecov private](https://img.shields.io/codecov/c/github/bionode/bionode-watermill.svg?style=flat-square)](https://github.com/bionode/bionode-watermill/tree/master)\n[![Dependencies](http://img.shields.io/david/bionode/bionode-watermill.svg?style=flat-square)](http://david-dm.org/bionode/bionode-watermill)\n[![npm](https://img.shields.io/npm/dt/bionode-watermill.svg?style=flat-square)](https://www.npmjs.com/package/bionode-watermill)\n[![Gitter](https://img.shields.io/gitter/room/nwjs/nw.js.svg?style=flat-square)](https://gitter.im/bionode/bionode-watermill)\n\n## Table of Contents\n\n* [What is bionode-watermill](#what-is-bionode-watermill)\n    * [Main features](#main-features)\n    * [Who is this tool for?](#who-is-this-tool-for)\n* [Installation](#installation)\n* [Documentation](#documentation)\n* [Tutorial](#tutorial)\n* [Example pipelines](#example-pipelines)\n* [Why bionode-watermill?](#why-bionode-watermill)\n* [Contributing](#contributing)\n\n## What is bionode-watermill\n\n**Bionode-watermill** is a workflow engine that lets you assemble and run \nbioinformatic pipelines with ease and less overhead. Bionode-watermill \npipelines are \nessentially node.js scripts in which [tasks](docs/BeginnerWalkthrough.md#task) are the modules that will be \nassembled in the final *pipeline* using [orchestrators](docs/BeginnerWalkthrough.md#orchestrators).\n\n### Main features\n\n* Lots of **modularity** - tasks can be recycled as many times as you want!\n* **Reusability** - tasks can be reused many times within and between pipelines.\n* **Automated Input/Output handling** - no need to worry about input/output \nlocation, bionode-watermill does that for you.\n* Ability to **run programs using Unix shell** - As demonstrated by `myTask`.\n So, there is no need to reinvent the wheel, you can use your previous \n scripts and programs within bionode-watermill framework.\n* **Node.js integration** - not explored here, but you can use javascript \nalongside with bionode-watermill tasks and pipelines and even inside tasks \ninstead of Unix commands.\n* [Streamable tasks](docs/Task.md#streamable-tasks-potential) (still not \nimplemented - Issue [#79](https://github.com/bionode/bionode-watermill/issues/79))\n\n### Who is this tool for?\n\nBionode-watermill is for **biologists** who understand it is important to \nexperiment with sample data, parameter values, and tools. Compared to other \nworkflow systems, the ease of swapping around parameters and tools is much \nimproved, allowing you to iteratively compare results and construct more \nconfident inferences. Consider the ability to construct your own \n[Teaser](https://genomebiology.biomedcentral.com/articles/10.1186/s13059-015-0803-1) \nfor *your data* with a *simple syntax*, and getting utmost performance out of the box.\n\n\nBionode-watermill is for **programmers** who desire an efficient and \neasy-to-write methodology for developing complex and dynamic data pipelines, \nwhile handling parallelization as much as possible. Bionode-watermill is an npm \nmodule, and is accessible by anyone willing to learn a little JavaScript. This \nis in contrast to other tools which develop their own DSL \n(domain specific language), which is not useful outside the tool. By leveraging \nthe npm ecosystem and JavaScript on the client, Bionode-watermill can be built \nupon for inclusion on web apis, modern web applications, as well as native \napplications through [Electron](http://electron.atom.io/). Look forward to \nseeing Galaxy-like applications backed by a completely configurable Node API.\n\n\n## Installation\n\nLocal installation:\n\n```npm install bionode-watermill```\n\nGlobal installation:\n\n```npm install bionode-watermill -g```\n\n## Documentation\n\nOur documentation is available [here](https://bionode.gitbooks.io/bionode-watermill/content/). \nThere you may find how to **use** bionode-watermill to construct and **run** \nyour \npipelines. Moreover, you will also find the description of the API to help \nanyone \nwilling to **contribute**.\n\n\n## Tutorial\n\n- [Try bionode-watermill tutorial!](https://github.com/bionode/bionode-watermill-tutorial)\n\n## Example pipelines\n\n- [Toy pipeline with shell/node](https://github.com/bionode/bionode-watermill/blob/master/examples/pipelines/pids/pipeline.js)\n- [Simple capitalize task](https://github.com/bionode/bionode-watermill/blob/master/examples/pipelines/capitalize/capitalize.js)\n- [Simple SNP calling](https://github.com/bionode/bionode-watermill/blob/master/examples/pipelines/variant-calling-simple/pipeline.js)\n- [SNP calling with filtering and fork](https://github.com/bionode/bionode-watermill/blob/master/examples/pipelines/variant-calling-filtered/pipeline.js)\n- [Mapping with bowtie2 and bwa (with tutorial)](https://github.com/bionode/bionode-watermill/tree/master/examples/pipelines/two-mappers)\n\n## Why bionode-watermill?\n\n[This blog post](https://jmazz.me/blog/NGS-Workflows)\ncompares the available tools to deal with NGS workflows, explaining the \nadvantages of each one, including **bionode-watermill**.\n\n\n## Contributing\nWe welcome all kinds of contributions at all levels of experience, please \nrefer to \nthe [Issues section](https://github.com/bionode/bionode-watermill/issues). \nAlso, you can allways reach us on [gitter](https://gitter.im/bionode/bionode-watermill).\n\n### Feel free to submit your pipeline to us\n\nJust make a PR for us, that adds a pipeline under `./examples/pipelines/`. \nYou can check some of the already existing examples [here](examples/pipelines).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbionode%2Fbionode-watermill","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbionode%2Fbionode-watermill","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbionode%2Fbionode-watermill/lists"}