wf2wf DocumentationΒΆ

Welcome to wf2wf – the universal workflow-format converter.

Docs in progress

This documentation site is still growing. If something is missing, please open an issue or contribute a pull request!


Overview 🌐¢

wf2wf converts workflows between any supported engines via a loss-preserving Intermediate Representation (IR). Supported today:

β€’ Snakemake β€’ CWL β€’ Nextflow β€’ WDL β€’ Galaxy β€’ HTCondor DAGMan (+ BioCompute Objects)

Key features:

  • πŸ”„ Universal conversion – always A β†’ IR β†’ B for maximum fidelity.

  • 🧠 Intelligent inference – automatically fills in missing resource specifications and configurations.

  • πŸ’¬ Interactive prompting – guided assistance for complex conversions and missing information.

  • 🧬 Loss mapping – records unexpressed fields in side-cars so nothing vanishes.

  • 🐳 Environment automation – Conda β†’ OCI β†’ Apptainer with SBOM generation.

  • βš– Regulatory support – Emits BioCompute Objects and provenance metadata.


Quick installΒΆ

pip install wf2wf            # or: conda install -c conda-forge wf2wf

Quick CLI tour πŸš€ΒΆ

# Convert Snakemake β†’ DAGMan and build container images
wf2wf convert -i Snakefile -o pipeline.dag --auto-env build --interactive

# Convert CWL β†’ Nextflow, aborting on information loss
wf2wf convert -i analysis.cwl -o main.nf --out-format nextflow --fail-on-loss

# Enhanced conversion with interactive resource specification
wf2wf convert -i Snakefile -o pipeline.dag --interactive --infer-resources

# Convert CWL β†’ Nextflow with resource validation and loss detection
wf2wf convert -i analysis.cwl -o main.nf --out-format nextflow --fail-on-loss --validate-resources

# Comprehensive conversion with all enhanced features
wf2wf convert -i workflow.smk -o workflow.dag \
    --interactive \
    --infer-resources \
    --validate-resources \
    --resource-profile cluster \
    --target-env distributed \
    --report-md

Enhanced Features πŸ†•ΒΆ

Intelligent Resource InferenceΒΆ

Automatically detect and specify resource requirements based on command analysis:

wf2wf convert -i workflow.smk -o workflow.dag --infer-resources
# Analyzes: "bwa mem" β†’ 8GB memory, 4 CPU
# Analyzes: "samtools sort" β†’ 4GB memory, 2 CPU

Interactive Conversion ModeΒΆ

Get guided assistance for complex conversions:

wf2wf convert -i workflow.smk -o workflow.dag --interactive
# Prompts for: missing resources, containers, error handling, file transfers

Resource ProcessingΒΆ

Validate and optimize resource specifications:

wf2wf convert -i workflow.smk -o workflow.dag --validate-resources --resource-profile cluster


SectionsΒΆ

  • User Guide – step-by-step tutorials and best practices.

  • Shared Infrastructure – comprehensive guide to intelligent inference and interactive features.

  • CLI Reference – exhaustive help for every command.

  • Developer Guide – IR schema, environment pipeline, contributor tips.

  • Changelog – project history and release notes.