package
0.0.0-20230414081408-455f122efe7a
Repository: https://github.com/lijiang2014/cwl.git
Documentation: pkg.go.dev
# README
This library contains code for processing and executing CWL documents, such as CommandLineTools.
This code is experimental, young, and buggy, however it is able to bind inputs, generate command line arguments, and bind outputs. Currently the focus is on supporting CommandLineTool processing. Last checked (3/14/2018), about 15/68 conformance tests were passing.
Example
package main
import (
"fmt"
"github.com/buchanae/cwl"
"github.com/buchanae/cwl/process"
localfs "github.com/buchanae/cwl/process/fs/local"
)
func main() {
// must be run from /examples dir
path := "tar-param.cwl"
inputsPath := "tar-param.inputs.yml"
vals, err := cwl.LoadValuesFile(inputsPath)
if err != nil {
fmt.Println("error loading inputs:", err)
return
}
doc, err := cwl.Load(path)
if err != nil {
panic(err)
}
tool, ok := doc.(*cwl.Tool)
if !ok {
panic("can only run command line tools")
}
rt := process.Runtime{}
fs := localfs.NewLocal(".")
proc, err := process.NewProcess(tool, vals, rt, fs)
if err != nil {
panic(err)
}
cmd, err := proc.Command()
if err != nil {
panic(err)
}
fmt.Println(cmd)
}
TODO / Questions
This may be a relative reference, in which case it must be resolved using the base IRI of the document.
Does this mean relative to the inputs document?
# Functions
DebugWorkflow is a temporary placeholder for workflow processing code.
No description provided by the author
# Constants
No description provided by the author
# Variables
No description provided by the author
# Structs
Binding binds an input type description (string, array, record, etc) to a concrete input value.
No description provided by the author
No description provided by the author
TODO this is provided to expressions early on in process processing, but it won't have real values from a scheduler until much later.
# Interfaces
No description provided by the author
# Type aliases
No description provided by the author