Documentation
¶
Index ¶
- func StringArrayable(i interface{}) []string
- type Alias
- type Argument
- type Arguments
- type BaseCommands
- type Binding
- type Directory
- type Dirent
- type DockerRequirement
- type Entry
- type EnvDef
- type EnvVarRequirement
- type Field
- type Fields
- type File
- type Graph
- type Graphs
- type Hint
- type Hints
- type InitialWorkDirRequirement
- type InlineJavascriptRequirement
- type Input
- type InputDefault
- type Inputs
- type JavascriptExpression
- type Namespace
- type Namespaces
- type Output
- type Outputs
- type Parameter
- type Parameters
- type Requirement
- type Requirements
- type ResourceRequirement
- type Root
- type Run
- type SchemaDefRequirement
- type Schemas
- type SecondaryFile
- type ShellCommandRequirement
- type SoftwarePackage
- type SoftwareRequirement
- type Step
- type StepInput
- type StepInputs
- type StepOutput
- type Steps
- type Type
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func StringArrayable ¶
func StringArrayable(i interface{}) []string
StringArrayable converts "xxx" to ["xxx"] if it's not slice.
Types ¶
type Alias ¶
type Alias struct {
// contains filtered or unexported fields
}
Alias represents an expression with "$(xxx.yyy)"
type Argument ¶
Argument represents an element of "arguments" of CWL @see http://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineTool
type Arguments ¶
type Arguments []Argument
Arguments represents a list of "Argument"
type BaseCommands ¶
type BaseCommands []string
BaseCommands represents "baseCommand" of CWL CommandLineTool. @see http://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineTool
func (BaseCommands) New ¶
func (baseCommands BaseCommands) New(i interface{}) BaseCommands
New constructs "BaseCommands" struct.
type Binding ¶
type Binding struct {
// Common
LoadContents bool
// CommandLineBinding
Position int `json:"position"`
Prefix string `json:"prefix"`
Separate bool `json:"separate"`
Separator string `json:"separator"`
ShellQuote bool `json:"shellQuote"`
ValueFrom *Alias `json:"valueFrom"`
// CommandOutputBinding
Glob []string `json:"glob"`
Eval string `json:"outputEval"`
Contents bool `json:"loadContents"`
}
Binding represents and combines "CommandLineBinding" and "CommandOutputBinding" @see - http://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineBinding - http://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputBinding
type Directory ¶
type Directory struct {
Listing []Entry
}
Directory represents direcotry entry. @see http://www.commonwl.org/v1.0/CommandLineTool.html#Directory
type Dirent ¶
Dirent represents ? @see http://www.commonwl.org/v1.0/CommandLineTool.html#Dirent
type DockerRequirement ¶
type DockerRequirement struct {
DockerPull string
DockerLoad string
DockerFile string
DockerImport string
DockerImageID string
DockerOutputDirectory string
}
DockerRequirement is supposed to be embeded to Requirement. @see http://www.commonwl.org/v1.0/CommandLineTool.html#DockerRequirement
type Entry ¶
type Entry struct {
Class string
Location string
Path string
Basename string
File
Directory
Dirent
}
Entry represents fs entry, it means [File|Directory|Dirent]
type EnvDef ¶
EnvDef represents "EnvironmentDef", only appears if requirement class is "EnvVarRequirement" @see http://www.commonwl.org/v1.0/CommandLineTool.html#EnvironmentDef
type EnvVarRequirement ¶
type EnvVarRequirement struct {
EnvDef []EnvDef
}
EnvVarRequirement is supposed to be embeded to Requirement. @see http://www.commonwl.org/v1.0/CommandLineTool.html#EnvVarRequirement
type Field ¶
Field represents CommandInputRecordField @see http://www.commonwl.org/v1.0/CommandLineTool.html#CommandInputRecordField
type File ¶
File represents file entry. @see http://www.commonwl.org/v1.0/CommandLineTool.html#File
type Graphs ¶
type Graphs []*Root
Graphs represents "$graph" field in CWL.
type Hint ¶
type Hint struct {
Class string
DockerPull string // Only appears if class is "DockerRequirement"
CoresMin int // Only appears if class is "ResourceRequirement"
Envs []EnvDef // Only appears if class is "EnvVarRequirement"
FakeField string // Only appears if class is "ex:BlibberBlubberFakeRequirement"
Import string
}
Hint ...
type InitialWorkDirRequirement ¶
type InitialWorkDirRequirement struct {
Listing []Entry
}
InitialWorkDirRequirement is supposed to be embeded to Requirement. @see http://www.commonwl.org/v1.0/CommandLineTool.html#InitialWorkDirRequirement
type InlineJavascriptRequirement ¶
type InlineJavascriptRequirement struct {
ExpressionLib []JavascriptExpression
}
InlineJavascriptRequirement is supposed to be embeded to Requirement. @see http://www.commonwl.org/v1.0/CommandLineTool.html#InlineJavascriptRequirement
type Input ¶
type Input struct {
ID string `json:"id"`
Label string `json:"label"`
Doc string `json:"doc"`
Format string `json:"format"`
Binding *Binding `json:"inputBinding"`
Default *InputDefault `json:"default"`
Types []Type `json:"type"`
SecondaryFiles []SecondaryFile `json:"secondary_files"`
// Input.Provided is what provided by parameters.(json|yaml)
Provided interface{} `json:"-"`
// Requirement ..
RequiredType *Type
Requirements Requirements
}
Input represents "CommandInputParameter". @see http://www.commonwl.org/v1.0/CommandLineTool.html#CommandInputParameter
type InputDefault ¶
InputDefault represents "default" field in an element of "inputs".
func (*InputDefault) Flatten ¶
func (d *InputDefault) Flatten(binding *Binding) []string
Flatten ...
func (InputDefault) New ¶
func (_ InputDefault) New(i interface{}) *InputDefault
New constructs new "InputDefault".
type JavascriptExpression ¶
JavascriptExpression represents an element of "expressionLib" of InlineJavascriptRequirement.
func (JavascriptExpression) New ¶
func (_ JavascriptExpression) New(i interface{}) JavascriptExpression
func (JavascriptExpression) NewList ¶
func (_ JavascriptExpression) NewList(i interface{}) []JavascriptExpression
type Namespaces ¶
type Namespaces []Namespace
Namespaces ...
func (Namespaces) New ¶
func (_ Namespaces) New(i interface{}) Namespaces
New constructs "Namespaces" struct.
type Output ¶
type Output struct {
ID string `json:"id"`
Label string `json:"label"`
Doc []string `json:"doc"`
Format string `json:"format"`
Binding *Binding `json:"outputBinding"`
Source []string `json:"outputSource"`
Types []Type `json:"type"`
SecondaryFiles []SecondaryFile
}
Output represents and conbines "CommandOutputParameter" and "WorkflowOutputParameter" @see - http://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputParameter - http://www.commonwl.org/v1.0/Workflow.html#WorkflowOutputParameter
type Parameters ¶
Parameters represents specific parameters to run workflow which is described by CWL.
type Requirement ¶
type Requirement struct {
Class string
InlineJavascriptRequirement
SchemaDefRequirement
DockerRequirement
SoftwareRequirement
InitialWorkDirRequirement
EnvVarRequirement
ShellCommandRequirement
ResourceRequirement
Import string
}
Requirement represent an element of "requirements".
func (Requirement) New ¶
func (_ Requirement) New(i interface{}) Requirement
New constructs "Requirement" struct from interface.
type Requirements ¶
type Requirements []Requirement
Requirements represents "requirements" field in CWL.
func (Requirements) New ¶
func (_ Requirements) New(i interface{}) Requirements
New constructs "Requirements" struct from interface.
type ResourceRequirement ¶
ResourceRequirement is supposed to be embeded to Requirement. @see http://www.commonwl.org/v1.0/CommandLineTool.html#ResourceRequirement
type Root ¶
type Root struct {
Version string
Class string
Hints Hints
Doc string
Graphs Graphs
BaseCommands BaseCommands
Arguments Arguments
Namespaces Namespaces
Schemas Schemas
Stdin string
Stdout string
Stderr string
Inputs Inputs `json:"inputs"`
// ProvidedInputs ProvidedInputs `json:"-"`
Outputs Outputs
Requirements Requirements
Steps Steps
ID string // ID only appears if this Root is a step in "steps"
Expression string // appears only if Class is "ExpressionTool"
// Path
Path string `json:"-"`
}
Root ...
func (*Root) UnmarshalMap ¶
UnmarshalMap decode map[string]interface{} to *Root.
type SchemaDefRequirement ¶
type SchemaDefRequirement struct {
Types []Type
}
SchemaDefRequirement is supposed to be embeded to Requirement. @see http://www.commonwl.org/v1.0/CommandLineTool.html#SchemaDefRequirement
type SecondaryFile ¶
type SecondaryFile struct {
Entry string
}
SecondaryFile represents an element of "secondaryFiles".
func (SecondaryFile) NewList ¶
func (_ SecondaryFile) NewList(i interface{}) []SecondaryFile
NewList constructs list of "SecondaryFile".
type ShellCommandRequirement ¶
type ShellCommandRequirement struct {
}
ShellCommandRequirement is supposed to be embeded to Requirement. @see http://www.commonwl.org/v1.0/CommandLineTool.html#ShellCommandRequirement
type SoftwarePackage ¶
SoftwarePackage represents an element of SoftwarePackage.Packages
type SoftwareRequirement ¶
type SoftwareRequirement struct {
Packages []SoftwarePackage
}
SoftwareRequirement is supposed to be embeded to Requirement. @see http://www.commonwl.org/v1.0/CommandLineTool.html#SoftwareRequirement
type Step ¶
type Step struct {
ID string
In StepInputs
Out []StepOutput
Run Run
Requirements []Requirement
Scatter []string
ScatterMethod string
}
Step represents WorkflowStep. @see http://www.commonwl.org/v1.0/Workflow.html#WorkflowStep
type StepInput ¶
type StepInput struct {
ID string
Source []string
LinkMerge string
Default *InputDefault
ValueFrom string
}
StepInput represents WorkflowStepInput. @see http://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput
func (StepInput) NewList ¶
func (_ StepInput) NewList(i interface{}) StepInputs
NewList constructs a list of StepInput from interface.
type StepOutput ¶
type StepOutput struct {
ID string
}
StepOutput represents StepWorkflowOutput. @see http://www.commonwl.org/v1.0/Workflow.html#WorkflowStepOutput
func (StepOutput) New ¶
func (_ StepOutput) New(i interface{}) StepOutput
New constructs a StepOutput from interface.
func (StepOutput) NewList ¶
func (_ StepOutput) NewList(i interface{}) []StepOutput
NewList constructs a list of StepOutput from interface.
type Type ¶
type Type struct {
Type string
Label string
Binding *Binding
Fields Fields // from CommandInputRecordSchema
Symbols []string // from CommandInputEnumSchema
Items []Type // from CommandInputArraySchema
Name string
}
Type represents CWL Typeable objects. - http://www.commonwl.org/v1.0/CommandLineTool.html#CWLType - http://www.commonwl.org/v1.0/CommandLineTool.html#CommandInputRecordSchema - http://www.commonwl.org/v1.0/CommandLineTool.html#CommandInputEnumSchema - http://www.commonwl.org/v1.0/CommandLineTool.html#CommandInputArraySchema