Galaxy Native Workflow Format (.ga) §
The Galaxy native workflow format is a JSON document (conventionally with `.ga`` extension) that fully describes a workflow's structure, tools, connections, metadata, and visual layout. It is the canonical serialization format used internally by Galaxy.
NativeGalaxyWorkflow §
A Galaxy native workflow document (.ga format). This is the canonical serialization format used internally by Galaxy.
The native format mirrors the database schema directly -- steps are keyed by numeric IDs, connections reference step IDs, and tool state is stored as double-encoded JSON strings.
The format version has been "0.1" since inception. New features are
added without version bumps.
Fields
format-versionFormat version. Always "0.1" currently.
In the JSON document this field is written as format-version.
creatorlist[NativeCreatorPerson | NativeCreatorOrganization] | NoneCreator(s) of this workflow. An array of schema.org
NativeCreatorPerson or NativeCreatorOrganization objects,
dispatched via the class field (Person or Organization).
source_metadataProvenance tracking metadata for workflows imported from TRS or URLs.
stepsdict[str, NativeStep] | NoneStep dictionary keyed by string integers ("0", "1", ...).
Values are NativeStep objects. Steps are processed in sorted
numeric order during import.
subworkflowsdict[str, NativeGalaxyWorkflow] | NoneMap of locally-defined subworkflow dicts, used during format conversion.
NativeTextComment §
A plain text annotation in the workflow editor.
Fields
positionlist[float] | NonePosition on the editor canvas as [x, y] coordinates.
sizelist[float] | NoneSize as [width, height].
Any §
The Any type validates for any non-null value.
Symbols
| symbol | description |
|---|---|
Any |
NativeTextCommentData §
Data payload for a text comment.
Fields
NativeMarkdownComment §
A Markdown-rendered annotation in the workflow editor.
Fields
positionlist[float] | NonePosition on the editor canvas as [x, y] coordinates.
sizelist[float] | NoneSize as [width, height].
NativeMarkdownCommentData §
Data payload for a markdown comment.
Fields
NativeFrameComment §
A rectangular grouping box that visually contains steps and other comments.
Fields
positionlist[float] | NonePosition on the editor canvas as [x, y] coordinates.
sizelist[float] | NoneSize as [width, height].
NativeFrameCommentData §
Data payload for a frame comment.
Fields
NativeFreehandComment §
A freehand drawn line on the editor canvas.
Fields
positionlist[float] | NonePosition on the editor canvas as [x, y] coordinates.
sizelist[float] | NoneSize as [width, height].
NativeFreehandCommentData §
Data payload for a freehand comment.
Fields
linelist[list[float]] | NoneArray of [x, y] coordinate pairs defining the freehand line path.
NativeComment §
A visual annotation in the workflow editor. Dispatches to the
appropriate comment type based on the type field.
NativeStep §
A step in a native Galaxy workflow. Steps are keyed by string integers
("0", "1", ...) in the steps dictionary. The key serves as
an external ID for connection wiring.
The type field determines the step's behavior. All step types share
common fields; type-specific fields are optional and only relevant for
their respective type.
Tool State §
The tool_state field contains the tool's parameter configuration.
Traditionally this is a JSON-encoded string (double-encoded: each top-level
value is itself a JSON string), but it may also be a plain dictionary when
unencoded tool state is used. Connected parameters are represented as
{"__class__": "ConnectedValue"}, runtime parameters as
{"__class__": "RuntimeValue"}.
Fields
errorsDuring Galaxy export there may be some problem validating the tool state, tool used, etc.. that will be indicated by this field. The Galaxy user should be warned of these problems before the workflow can be used in Galaxy.
This field should not be used in human written Galaxy workflow files.
A typical problem is the referenced tool is not installed, this can be fixed by installed the tool and re-saving the workflow and then re-exporting it.
tool_idThe tool ID used to run this step of the workflow (e.g. 'cat1' or 'toolshed.g2.bx.psu.edu/repos/nml/collapse_collections/collapse_dataset/4.0').
tool_shed_repositoryThe Galaxy Tool Shed repository that should be installed in order to use this tool.
tool_versionThe tool version corresponding used to run this step of the workflow. For tool shed installed tools, the ID generally uniquely specifies a version and this field is optional.
nameDisplay name. For tool steps this is the tool's name; for input steps it is the generic type name (e.g. "Input dataset").
whenConditional execution expression. Typically $(inputs.when)
paired with a boolean input connection on the when key.
content_idTool ID or content identifier. Same as tool_id for tool steps;
may reference a subworkflow key for subworkflow steps.
tool_statestr | dict[str, Any] | NoneTool parameter configuration. Traditionally a JSON-encoded string
(double-encoded: each top-level value is itself a JSON string), but
may also be a plain dict when encode_tool_state is disabled
during Format2-to-native conversion.
input_connectionsdict[str, NativeInputConnection | list[NativeInputConnection]] | NoneConnection wiring from other steps' outputs to this step's inputs.
Keys are input parameter names (using | for nested parameters).
Values are a NativeInputConnection object or an array of them for
multi-valued inputs.
workflow_outputsOutputs designated as workflow-level outputs. Steps with an empty array have all their outputs hidden by default.
post_job_actionsdict[str, NativePostJobAction] | NonePost-job actions applied to outputs after tool execution. Keys are
compound strings of the form {ActionType}{OutputName}. Values
are NativePostJobAction objects.
subworkflowNativeGalaxyWorkflow | NoneEmbedded subworkflow definition. A complete native workflow document
(with a_galaxy_workflow, format-version, steps, etc.)
nested inside this step.
tool_representationdict[str, Any] | NoneEmbedded tool definition for user-defined (dynamic) tools.
Present when the step uses a GalaxyUserTool instead of a
registered tool. Contains the full tool definition including
class: GalaxyUserTool, name, command, inputs,
and outputs. When present, tool_id and tool_uuid
are typically null.
indict[str, Any] | NoneDefault values for step inputs. Keys are parameter names, values
are objects with a default key.
NativeStepInput §
Describes an input parameter on a step. This is metadata about the input,
not the connection wiring (which is in input_connections).
Fields
NativeStepOutput §
Declares an output produced by a step, with its name and datatype.
Fields
typeGalaxy datatype extension for the output (e.g. bam, txt, tabular).
The value input means the type is determined at runtime from the input data.
NativeWorkflowOutput §
Designates a step output as a workflow-level output. These appear in the
workflow_outputs array on each step.
Fields
labelUser-visible label for this workflow output. Must be unique across the workflow.
NativeInputConnection §
Describes a connection from one step's output to another step's input.
These objects appear as values in the input_connections dictionary.
For multi-valued inputs, the value is an array of these objects rather than a single object.
Fields
output_nameName of the output on the source step (typically "output" for
input steps).
input_subworkflow_step_idFor subworkflow steps, the internal step ID within the subworkflow that this connection routes to. Maps the parent connection to the correct input step inside the subworkflow.
NativePostJobAction §
An action applied to a step's output after tool execution. These objects
appear as values in the post_job_actions dictionary, keyed by
compound strings of the form {ActionType}{OutputName}
(e.g. HideDatasetActionout_pairs).
Common action types: HideDatasetAction, RenameDatasetAction,
DeleteIntermediatesAction, ChangeDatatypeAction,
TagDatasetAction, ColumnSetAction.
Fields
output_nameThe step output this action applies to. Optional: action types that
operate on the step as a whole (e.g. ValidateOutputsAction) omit
this field.
action_argumentsdict[str, Any] | NoneAction-specific arguments. For RenameDatasetAction:
{"newname": "..."}; for ChangeDatatypeAction:
{"newtype": "tabular"}; for TagDatasetAction:
{"tags": "name:tag"}. Empty object {} for actions
without arguments.
StepPosition §
This field specifies the location of the step's node when rendered in the workflow editor.
Fields
topRelative vertical position of the step's node when rendered in the workflow editor.
ToolShedRepository §
Fields
changeset_revisionThe revision of the tool shed repository this tool can be found in.
tool_shedThe URI of the tool shed containing the repository this tool can be found in - typically this should be toolshed.g2.bx.psu.edu.
NativeStepType §
Step module types in the native Galaxy workflow format.
Symbols
| symbol | description |
|---|---|
data_input | A single dataset input to the workflow. |
data_collection_input | A dataset collection input to the workflow. |
parameter_input | A typed parameter input (text, integer, float, boolean, color). |
tool | A Galaxy tool execution step. |
subworkflow | An embedded or referenced sub-workflow. |
pause | A manual pause point that halts execution until user intervention. |
pick_value | Select the first non-null value from multiple inputs. |
NativeReport §
Workflow invocation report template.
Fields
markdownGalaxy-flavored Markdown content for the invocation report. Supports
template directives like history_dataset_as_image(output="...").
NativeCreatorPerson §
A person who created or contributed to the workflow.
Corresponds to a schema.org Person <https://schema.org/Person>_.
Fields
identifierPersistent identifier, typically an ORCID URL
(e.g. https://orcid.org/0000-0001-2345-6789) or bare ORCID.
NativeCreatorPersonType §
Discriminator for schema.org Person creators.
Symbols
| symbol | description |
|---|---|
Person |
NativeCreatorOrganization §
An organization that created or contributed to the workflow.
Corresponds to a schema.org Organization <https://schema.org/Organization>_.
Fields
identifierPersistent identifier, typically an ORCID URL
(e.g. https://orcid.org/0000-0001-2345-6789) or bare ORCID.
NativeCreatorOrganizationType §
Discriminator for schema.org Organization creators.
Symbols
| symbol | description |
|---|---|
Organization |
NativeCreator §
A workflow creator, either a person or organization. Dispatched via
the class field (Person or Organization).
NativeSourceMetadata §
Provenance tracking for workflows imported from external sources. Contains either a direct URL or TRS (Tool Registry Service) metadata, depending on how the workflow was imported.
For URL imports, only url is set. For TRS imports (Dockstore,
WorkflowHub), trs_tool_id, trs_version_id, and trs_url
are set, with trs_server optionally identifying the server.
Fields
trs_tool_idTool identifier in the Tool Registry Service
(e.g. "#workflow/github.com/user/repo/workflow" or "109").
trs_serverTRS server name (e.g. "dockstore", "workflowhub").
Optional even for TRS imports.