SciFlow: Scientific workflow management system

[ control, library, mit ] [ Propose Tags ]

SciFlow is a DSL for building scientific workflows. Workflows built with SciFlow can be run either on desktop computers or in grid computing environments that support DRMAA.


[Skip to Readme]

Modules

[Last Documentation]

  • Scientific
    • Scientific.Workflow
      • Internal
        • Scientific.Workflow.Internal.Builder
          • Scientific.Workflow.Internal.Builder.Types
        • Scientific.Workflow.Internal.DB
        • Scientific.Workflow.Internal.Utils
      • Scientific.Workflow.Main
        • Scientific.Workflow.Main.Options
      • Scientific.Workflow.Types
      • Scientific.Workflow.Visualize

Flags

Automatic Flags
NameDescriptionDefault
drmaa

Enable DRMAA integration

Disabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0, 0.2.0, 0.3.0, 0.4.0, 0.4.1, 0.5.0, 0.5.1, 0.5.3.1, 0.6.0, 0.6.1, 0.6.2, 0.7.0
Dependencies aeson, base (>=4.7 && <5.0), bytestring, cereal, cereal-text, containers, data-default-class, directory, drmaa (>=0.2.0), exceptions, executable-path, fgl, graphviz, lens (>=4.0), lifted-async, mtl, network, optparse-applicative (>=0.14.0.0), rainbow, split, sqlite-simple, template-haskell, temporary, text, th-lift, th-lift-instances, time, transformers, yaml [details]
License MIT
Copyright (c) 2015-2018 Kai Zhang
Author Kai Zhang
Maintainer kai@kzhang.org
Category Control
Source repo head: git clone https://github.com/kaizhang/SciFlow.git
Uploaded by kaizhang at 2018-05-14T22:29:18Z
Distributions
Reverse Dependencies 2 direct, 0 indirect [details]
Downloads 8378 total (29 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2018-05-14 [all 3 reports]

Readme for SciFlow-0.6.2

[back to package description]

Scientific workflow management system

Introduction

SciFlow is a DSL for building scientific workflows. Workflows built with SciFlow can be run either on normal desktops or in grid computing environments that support DRMAA.

Most scientific computing pipelines are composed of many computational steps, and each of them involves heavy computation and IO operations. A workflow management system can help user design complex computing patterns and track the states of computation. The ability to recover from failures is crucial in large pipelines as they usually take days or weeks to finish.

Features

  1. Easy to use and safe: Provide a simple and flexible way to design type safe computational pipelines in Haskell.

  2. Automatic Checkpointing: The states of intermediate steps are automatically logged, allowing easy restart upon failures.

  3. Parallelism and grid computing support.

Examples

See examples in the "examples" directory for more details.

Use ghc main.hs -threaded to compile the examples. And type ./main --help to see available commands.

To run the workflow, simply type ./main run. The program will create a sqlite database to store intermediate results. If being terminated prematurely, the program will use the saved data to continue from the last step.

To enable grid compute engine support, you need to have DRMAA C library installed and compile the SciFlow with -f drmaa flag. Use ./main run --remote to submit jobs to remote machines.

Here are some bioinformatics pipelines built with SciFlow.