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 Eval
- 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
- func (outs Outputs) Dump(vm *otto.Otto, dir string, stdout, stderr string, w io.Writer) error
- func (outs Outputs) Len() int
- func (outs Outputs) Less(i, j int) bool
- func (outs Outputs) LoadContents(srcdir string) (*otto.Otto, error)
- func (outs Outputs) New(i interface{}) Outputs
- func (outs Outputs) Swap(i, j int)
- type Parameter
- type Parameters
- type Provided
- 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 *Eval `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 Eval ¶
type Eval struct {
Raw string
}
Eval represents [output]Eval
func (Eval) ToJavaScriptString ¶
ToJavaScriptString , Because "outputEval" is **NOT** pure JavaScript! What The Fuck!!!!!!!!!!!!!!!
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 *Provided `json:"-"` // Requirement .. RequiredType *Type Requirements Requirements }
Input represents "CommandInputParameter". @see http://www.commonwl.org/v1.0/CommandLineTool.html#CommandInputParameter
type InputDefault ¶
type InputDefault struct { ID string Self interface{} Kind reflect.Kind Entry *Entry Error error // TODO: Refactor Int int }
InputDefault represents "default" field in an element of "inputs".
func (*InputDefault) EntryFromDictionary ¶
func (d *InputDefault) EntryFromDictionary(dict map[string]interface{}) (*Entry, error)
EntryFromDictionary ...
func (*InputDefault) Flatten ¶
func (d *InputDefault) Flatten(binding *Binding) []string
Flatten ...
func (InputDefault) New ¶
func (d 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 // Loaded Contents if Binding.LoadContents == true Contents interface{} `json:"contents"` }
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 Outputs ¶
type Outputs []Output
Outputs represents "outputs" field in "CWL".
func (Outputs) LoadContents ¶
LoadContents ...
type Parameters ¶
Parameters represents specific parameters to run workflow which is described by CWL.
type Provided ¶
type Provided struct { ID string Raw interface{} Entry *Entry // In most cases, it's "File" if "Entry" exists Error error // TODO: Refactor Int int }
Provided represents the provided input value by parameter files.
func (Provided) EntryFromDictionary ¶
EntryFromDictionary ...
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:"-"` // InputsVM InputsVM *otto.Otto }
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