Files
ma/nextflow/docs/developer/diagrams/nextflow.script.mmd
2026-04-29 23:01:54 +02:00

131 lines
3.0 KiB
Plaintext

classDiagram
%%
%% nextflow.script
%%
CmdRun --> ScriptRunner : run
class ScriptRunner {
scriptFile : ScriptFile
session : Session
}
ScriptRunner --* ScriptFile
ScriptRunner --> ScriptParser : execute
ScriptParser --> BaseScript : parse
class ScriptFile {
source : Path
main : Path
repository : String
revisionInfo : AssetManager.RevisionInfo
localPath : Path
projectName : String
}
class BaseScript {
meta : ScriptMeta
entryFlow : WorkflowDef
}
BaseScript --* ScriptBinding
BaseScript --* ScriptMeta
BaseScript --> IncludeDef : include
IncludeDef --> ScriptParser : load0
class ScriptBinding {
scriptPath : Path
args : List~String~
params : ParamsMap
configEnv : Map
entryName : String
}
class ScriptMeta {
scriptPath : Path
definitions : Map
imports : Map
module : boolean
}
ScriptMeta "1" --* "*" ComponentDef : definitions
ScriptMeta "1" --* "*" ComponentDef : imports
ComponentDef <|-- FunctionDef
ComponentDef <|-- ProcessDef
ComponentDef <|-- WorkflowDef
class FunctionDef {
target : Object
name : String
alias : String
}
class ProcessDef {
processName : String
simpleName : String
baseName : String
rawBody : Closure~BodyDef~
}
ProcessDef --* ProcessConfig
ProcessDef --* BodyDef
ProcessDef --* ChannelOut
class WorkflowDef {
name : String
body : BodyDef
declaredInputs : List~String~
declaredOutputs : List~String~
variableNames : Set~String~
}
WorkflowDef --* BodyDef
WorkflowDef --* WorkflowBinding
WorkflowDef --* ChannelOut
class ProcessConfig {
configProperties : Map
inputs : InputsList
outputs : OutputsList
}
ProcessConfig --* InputsList
ProcessConfig --* OutputsList
class BodyDef {
closure : Closure
source : String
type : ScriptType
isShell : boolean
}
class ChannelOut {
target : List~DataflowWriteChannel~
channels : Map
}
class WorkflowBinding {
vars : Map
}
class InputsList {
target : List~InParam~
}
InputsList "1" --* "*" InParam
class OutputsList {
target : List~OutParam~
}
OutputsList "1" --* "*" OutParam
%% InParam <|-- BaseInParam
%% BaseInParam <|-- EachInParam
%% BaseInParam <|-- EnvInParam
%% BaseInParam <|-- FileInParam
%% BaseInParam <|-- StdInParam
%% BaseInParam <|-- TupleInParam
%% BaseInParam <|-- ValueInParam
%% OutParam <|-- BaseOutParam
%% BaseOutParam <|-- EachOutParam
%% BaseOutParam <|-- EnvOutParam
%% BaseOutParam <|-- FileOutParam
%% BaseOutParam <|-- StdOutParam
%% BaseOutParam <|-- TupleOutParam
%% BaseOutParam <|-- ValueOutParam