Documentation
¶
Index ¶
- func GetMapElement(m map[interface{}]interface{}, key string) (value interface{}, err error)
- func ParseJob(collection *CWL_collection, job_file string) (err error)
- func Parse_cwl_document(collection *CWL_collection, yaml_str string) (err error)
- func Unmarshal(data []byte, v interface{}) (err error)
- type Any
- type CWLType
- type CWLVersion
- type CWL_collection
- func (c CWL_collection) Add(obj CWL_object) (err error)
- func (c CWL_collection) Evaluate(raw string) (parsed string)
- func (c CWL_collection) Get(id string) (obj *CWL_object, err error)
- func (c CWL_collection) GetFile(id string) (obj *File, err error)
- func (c CWL_collection) GetInt(id string) (obj *Int, err error)
- func (c CWL_collection) GetString(id string) (obj *String, err error)
- func (c CWL_collection) GetWorkflowStepInput(id string) (obj *WorkflowStepInput, err error)
- type CWL_document_generic
- type CWL_location
- type CWL_object
- type CWL_object_generic
- type CommandInputParameter
- type CommandLineBinding
- type CommandLineTool
- type CommandOutputBinding
- type CommandOutputParameter
- type Directory
- type DockerRequirement
- type Empty
- type Expression
- type File
- type InputParameter
- type Int
- type Job_document
- type LinkMergeMethod
- type Requirement
- type ShockRequirement
- type StepInputExpressionRequirement
- type String
- type Workflow
- type WorkflowOutputParameter
- type WorkflowStep
- type WorkflowStepInput
- type WorkflowStepOutput
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetMapElement ¶
func ParseJob ¶
func ParseJob(collection *CWL_collection, job_file string) (err error)
func Parse_cwl_document ¶
func Parse_cwl_document(collection *CWL_collection, yaml_str string) (err error)
Types ¶
type Any ¶
type Any interface {
CWL_object
String() string
}
type CWLType ¶
type CWLType interface {
// contains filtered or unexported methods
}
CWLType httpCWL_objectmonwl.org/v1.0/CommandLineTool.html#CWLType null, boolean, int, long, float, double, string, File, Directory
type CWLVersion ¶
type CWLVersion interface{} // TODO
type CWL_collection ¶
type CWL_collection struct {
Workflows map[string]*Workflow
WorkflowStepInputs map[string]*WorkflowStepInput
CommandLineTools map[string]*CommandLineTool
Files map[string]*File
Strings map[string]*String
Ints map[string]*Int
All map[string]*CWL_object
}
func NewCWL_collection ¶
func NewCWL_collection() (collection CWL_collection)
func (CWL_collection) Add ¶
func (c CWL_collection) Add(obj CWL_object) (err error)
func (CWL_collection) Evaluate ¶
func (c CWL_collection) Evaluate(raw string) (parsed string)
func (CWL_collection) Get ¶
func (c CWL_collection) Get(id string) (obj *CWL_object, err error)
func (CWL_collection) GetString ¶
func (c CWL_collection) GetString(id string) (obj *String, err error)
func (CWL_collection) GetWorkflowStepInput ¶
func (c CWL_collection) GetWorkflowStepInput(id string) (obj *WorkflowStepInput, err error)
type CWL_document_generic ¶
type CWL_document_generic struct {
CwlVersion string `yaml:"cwlVersion"`
Graph []CWL_object_generic `yaml:"graph"`
}
this is used by YAML or JSON library for inital parsing
type CWL_location ¶
type CWL_location interface {
GetLocation() string
}
generic class to represent Files and Directories
type CWL_object ¶
type CWL_object_generic ¶
type CWL_object_generic map[string]interface{}
type CommandInputParameter ¶
type CommandInputParameter struct {
Id string `yaml:"id"`
SecondaryFiles []string `yaml:"secondaryFiles"` // TODO string | Expression | array<string | Expression>
Format string `yaml:"format"`
Streamable bool `yaml:"streamable"`
Type string `yaml:"type"` // TODO CWLType | CommandInputRecordSchema | CommandInputEnumSchema | CommandInputArraySchema | string | array<CWLType | CommandInputRecordSchema | CommandInputEnumSchema | CommandInputArraySchema | string>
Label string `yaml:"label"`
Description string `yaml:"description"`
InputBinding CommandLineBinding `yaml:"inputBinding"`
Default Any `yaml:"default"`
}
func CreateCommandInputArray ¶
func CreateCommandInputArray(original interface{}) (err error, new_array []CommandInputParameter)
keyname will be converted into 'Id'-field
type CommandLineBinding ¶
type CommandLineBinding struct {
LoadContents bool `yaml:"loadContents"`
Position int `yaml:"position"`
Prefix string `yaml:"prefix"`
Separate string `yaml:"separate"`
ItemSeparator string `yaml:"itemSeparator"`
ValueFrom string `yaml:"valueFrom"`
ShellQuote bool `yaml:"shellQuote"`
}
http://www.commonwl.org/v1.0/Workflow.html#CommandLineBinding
type CommandLineTool ¶
type CommandLineTool struct {
Id string `yaml:"id"`
BaseCommand string `yaml:"baseCommand"` // TODO also allow []string
Inputs []CommandInputParameter `yaml:"inputs"`
Outputs []CommandOutputParameter `yaml:"outputs"`
Hints []Requirement `yaml:"hints"` // TODO Any
Label string `yaml:"label"`
Description string `yaml:"description"`
CwlVersion CWLVersion `yaml:"cwlVersion"`
Arguments []string `yaml:"arguments"` // TODO support CommandLineBinding
Stdin string `yaml:"stdin"` // TODO support Expression
Stdout string `yaml:"stdout"` // TODO support Expression
SuccessCodes []int `yaml:"successCodes"`
TemporaryFailCodes []int `yaml:"temporaryFailCodes"`
PermanentFailCodes []int `yaml:"permanentFailCodes"`
}
func (*CommandLineTool) GetClass ¶
func (c *CommandLineTool) GetClass() string
func (*CommandLineTool) GetId ¶
func (c *CommandLineTool) GetId() string
func (*CommandLineTool) SetId ¶
func (c *CommandLineTool) SetId(id string)
type CommandOutputBinding ¶
type CommandOutputBinding struct {
Glob []Expression `yaml:"glob"`
LoadContents bool `yaml:"loadContents"`
OutputEval Expression `yaml:"outputEval"`
}
type CommandOutputParameter ¶
type CommandOutputParameter struct {
Id string `yaml:"id"`
SecondaryFiles []Expression `yaml:"secondaryFiles"` // TODO string | Expression | array<string | Expression>
Format string `yaml:"format"`
Streamable bool `yaml:"streamable"`
Type string `yaml:"type"` // TODO CWLType | CommandInputRecordSchema | CommandInputEnumSchema | CommandInputArraySchema | string | array<CWLType | CommandInputRecordSchema | CommandInputEnumSchema | CommandInputArraySchema | string>
Label string `yaml:"label"`
Description string `yaml:"description"`
OutputBinding CommandOutputBinding `yaml:"outputBinding"`
}
func CreateCommandOutputArray ¶
func CreateCommandOutputArray(original interface{}) (err error, new_array []CommandOutputParameter)
keyname will be converted into 'Id'-field
type Directory ¶
type Directory struct {
Id string `yaml:"id"`
Location string `yaml:"location"`
Path string `yaml:"path"`
Basename string `yaml:"basename"`
Listing []CWL_location `yaml:"basename"`
}
func (Directory) GetLocation ¶
type DockerRequirement ¶
type DockerRequirement struct {
//Class string `yaml:"class"`
DockerPull string `yaml:"dockerPull"`
DockerLoad string `yaml:"dockerLoad"`
DockerFile string `yaml:"dockerFile"`
DockerImport string `yaml:"dockerImport"`
DockerImageId string `yaml:"dockerImageId"`
}
func (DockerRequirement) GetClass ¶
func (c DockerRequirement) GetClass() string
func (DockerRequirement) GetId ¶
func (c DockerRequirement) GetId() string
type Expression ¶
type Expression string
func (Expression) Evaluate ¶
func (e Expression) Evaluate(collection *CWL_collection) string
func (Expression) String ¶
func (e Expression) String() string
type File ¶
type File struct {
Id string `yaml:"id"`
Location string `yaml:"location"` // An IRI that identifies the file resource.
Path string `yaml:"path"` // dirname + '/' + basename == path This field must be set by the implementation.
Basename string `yaml:"basename"` // dirname + '/' + basename == path // if not defined, take from location
Dirname string `yaml:"dirname"` // dirname + '/' + basename == path
Nameroot string `yaml:"nameroot"`
Nameext string `yaml:"nameext"`
Checksum string `yaml:"checksum"`
Size int32 `yaml:"size"`
SecondaryFiles []CWL_location `yaml:"secondaryFiles"`
Format string `yaml:"format"`
Contents string `yaml:"contents"`
// Shock node
Host string
Node string
Bearer string
Token string
}
http://www.commonwl.org/v1.0/Workflow.html#File
func (*File) GetLocation ¶
type InputParameter ¶
type InputParameter struct {
Id string `yaml:"id"`
Label string `yaml:"label"`
SecondaryFiles []string `yaml:"secondaryFiles"` // TODO string | Expression | array<string | Expression>
Format string `yaml:"format"`
Streamable bool `yaml:"streamable"`
Doc string `yaml:"doc"`
InputBinding CommandLineBinding `yaml:"inputBinding"` //TODO
Default Any `yaml:"default"`
Type string `yaml:"type"` // TODO CWLType | InputRecordSchema | InputEnumSchema | InputArraySchema | string | array<CWLType | InputRecordSchema | InputEnumSchema | InputArraySchema | string>
}
func CreateInputParameterArray ¶
func CreateInputParameterArray(original interface{}) (err error, new_array []InputParameter)
InputParameter
func (InputParameter) GetClass ¶
func (i InputParameter) GetClass() string
func (InputParameter) GetId ¶
func (i InputParameter) GetId() string
func (InputParameter) SetId ¶
func (i InputParameter) SetId(id string)
type Job_document ¶
type Job_document map[string]interface{}
type LinkMergeMethod ¶
type LinkMergeMethod string // merge_nested or merge_flattened
type Requirement ¶
type Requirement interface {
GetClass() string
}
func CreateRequirementArray ¶
func CreateRequirementArray(original interface{}) (err error, new_array []Requirement)
[]Requirement
func NewRequirement ¶
func NewRequirement(class string, obj interface{}) (r Requirement, err error)
type ShockRequirement ¶
type ShockRequirement struct {
Host string `yaml:"host"`
}
func (ShockRequirement) GetClass ¶
func (s ShockRequirement) GetClass() string
func (ShockRequirement) GetId ¶
func (s ShockRequirement) GetId() string
type StepInputExpressionRequirement ¶
type StepInputExpressionRequirement struct {
}
func (StepInputExpressionRequirement) GetClass ¶
func (c StepInputExpressionRequirement) GetClass() string
func (StepInputExpressionRequirement) GetId ¶
func (c StepInputExpressionRequirement) GetId() string
type Workflow ¶
type Workflow struct {
Inputs []InputParameter `yaml:"inputs"`
Outputs []WorkflowOutputParameter `yaml:"outputs"`
Id string `yaml:"id"`
Steps []WorkflowStep `yaml:"steps"`
Requirements []Requirement `yaml:"requirements"`
Hints []Requirement `yaml:"hints"` // TODO Hints may contain non-requirement objects. Give warning in those cases.
Label string `yaml:"label"`
Doc string `yaml:"doc"`
CwlVersion CWLVersion `yaml:"cwlVersion"`
Metadata map[string]interface{} `yaml:"metadata"`
}
type WorkflowOutputParameter ¶
type WorkflowOutputParameter struct {
Id string `yaml:"id"`
Label string `yaml:"label"`
SecondaryFiles []Expression `yaml:"secondaryFiles"` // TODO string | Expression | array<string | Expression>
Format []Expression `yaml:"format"`
Streamable bool `yaml:"streamable"`
Doc string `yaml:"doc"`
OutputBinding CommandOutputBinding `yaml:"outputBinding"` //TODO
OutputSource []string `yaml:"outputSource"`
LinkMerge LinkMergeMethod `yaml:"linkMerge"`
Type string `yaml:"type"` // TODO CWLType | OutputRecordSchema | OutputEnumSchema | OutputArraySchema | string | array<CWLType | OutputRecordSchema | OutputEnumSchema | OutputArraySchema | string>
}
func CreateWorkflowOutputParameterArray ¶
func CreateWorkflowOutputParameterArray(original interface{}) (err error, new_array []WorkflowOutputParameter)
WorkflowOutputParameter
type WorkflowStep ¶
type WorkflowStep struct {
Id string `yaml:"id"`
In []WorkflowStepInput `yaml:"in"` // array<WorkflowStepInput> | map<WorkflowStepInput.id, WorkflowStepInput.source> | map<WorkflowStepInput.id, WorkflowStepInput>
Out []WorkflowStepOutput `yaml:"out"`
Run string `yaml:"run"` // Specification unclear: string | CommandLineTool | ExpressionTool | Workflow
Requirements []Requirement `yaml:"requirements"`
Hints []Requirement `yaml:"hints"`
Label string `yaml:"label"`
Doc string `yaml:"doc"`
Scatter string `yaml:"scatter"` // ScatterFeatureRequirement
ScatterMethod string `yaml:"scatterMethod"` // ScatterFeatureRequirement
}
func CreateWorkflowStepsArray ¶
func CreateWorkflowStepsArray(original interface{}) (err error, new_array []WorkflowStep)
CreateWorkflowStepsArray
func (WorkflowStep) GetOutput ¶
func (w WorkflowStep) GetOutput(id string) (output *WorkflowStepOutput, err error)
type WorkflowStepInput ¶
type WorkflowStepInput struct {
Id string `yaml:"id"`
Source []string `yaml:"source"` // MultipleInputFeatureRequirement
LinkMerge LinkMergeMethod `yaml:"linkMerge"`
Default Any `yaml:"default"` // type Any does not make sense
ValueFrom Expression `yaml:"valueFrom"` // StepInputExpressionRequirement
}
http://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput
func CreateWorkflowStepInputArray ¶
func CreateWorkflowStepInputArray(original interface{}) (err error, new_array []WorkflowStepInput)
func (WorkflowStepInput) GetClass ¶
func (w WorkflowStepInput) GetClass() string
func (WorkflowStepInput) GetId ¶
func (w WorkflowStepInput) GetId() string
func (WorkflowStepInput) GetObject ¶
func (input WorkflowStepInput) GetObject(c *CWL_collection) (obj *CWL_object, err error)
func (WorkflowStepInput) SetId ¶
func (w WorkflowStepInput) SetId(id string)
type WorkflowStepOutput ¶
type WorkflowStepOutput struct {
Id string `yaml:"id"`
}
func CreateWorkflowStepOutputArray ¶
func CreateWorkflowStepOutputArray(original interface{}) (err error, new_array []WorkflowStepOutput)
Click to show internal directories.
Click to hide internal directories.