Warning
This document is for an in-development version of Galaxy. You can alternatively view this page in the latest release if it exists or view the top of the latest release's documentation.
galaxy.tool_util.parser package
Package responsible for parsing tools from files/abstract tool sources.
- galaxy.tool_util.parser.get_input_source(content)[source]
Wrap dicts or XML elements as InputSource if needed.
If the supplied content is already an InputSource object, it is simply returned. This allow Galaxy to uniformly consume using the tool input source interface.
- galaxy.tool_util.parser.get_tool_source(config_file: str | PathLike | None = None, xml_tree: ElementTree | None = None, enable_beta_formats: bool = True, tool_location_fetcher: ToolLocationFetcher | None = None, macro_paths: List[str] | None = None, tool_source_class: str | None = None, raw_tool_source: str | None = None) ToolSource [source]
Return a ToolSource object corresponding to supplied source.
The supplied source may be specified as a file path (using the config_file parameter) or as an XML object loaded with load_tool_with_refereces.
- galaxy.tool_util.parser.get_tool_source_from_representation(tool_format, tool_representation)[source]
- class galaxy.tool_util.parser.RequiredFiles(includes: List[Dict], excludes: List[Dict], extend_default_excludes: bool)[source]
Bases:
object
- class galaxy.tool_util.parser.ToolOutputCollectionPart(output_collection_def, element_identifier, output_def, parent_ids=None)[source]
Bases:
object
- property effective_output_name
- class galaxy.tool_util.parser.ToolSource[source]
Bases:
object
This interface represents an abstract source to parse tool information from.
- abstract parse_id() str | None [source]
Parse an ID describing the abstract tool. This is not the GUID tracked by the tool shed but the simple id (there may be multiple tools loaded in Galaxy with this same simple id).
- parse_tool_module() Tuple[str, str] | None [source]
Load Tool class from a custom module. (Optional).
If not None, return pair containing module and class (as strings).
- parse_action_module()[source]
Load Tool class from a custom module. (Optional).
If not None, return pair containing module and class (as strings).
- parse_tool_type() str | None [source]
Load simple tool type string (e.g. ‘data_source’, ‘default’).
- abstract parse_description() str [source]
Parse a description for tool. Longer than name, shorted than help.
We parse this out as “” if it isn’t explicitly declared.
- parse_display_interface(default)[source]
Parse display_interface - fallback to default for the tool type (supplied as default parameter) if not specified.
- parse_request_param_translation_elem()[source]
Return an XML element describing require parameter translation.
If we wish to support this feature for non-XML based tools this should be converted to return some sort of object interface instead of a RAW XML element.
- parse_tmp_target()[source]
Should be “pwd”, “shared_home”, “job_tmp”, “job_tmp_if_explicit”, or None.
- abstract parse_interpreter()[source]
Return string containing the interpreter to prepend to the command (for instance this might be ‘python’ to run a Python wrapper located adjacent to the tool).
- parse_redirect_url_params_elem()[source]
Return an XML element describing redirect_url_params.
If we wish to support this feature for non-XML based tools this should be converted to return some sort of object interface instead of a RAW XML element.
- parse_version_command()[source]
Parse command used to determine version of primary application driving the tool. Return None to not generate or record such a command.
- parse_version_command_interpreter()[source]
Parse command used to determine version of primary application driving the tool. Return None to not generate or record such a command.
- parse_parallelism()[source]
Return a galaxy.jobs.ParallismInfo object describing task splitting or None.
Return boolean indicating whether tool should be hidden in the tool menu.
- parse_required_files() RequiredFiles | None [source]
Parse explicit RequiredFiles object or return None to let Galaxy decide implicit logic.
- abstract parse_requirements_and_containers() Tuple[ToolRequirements, List[ContainerDescription], List[ResourceRequirement]] [source]
Return triple of ToolRequirement, ContainerDescription and ResourceRequirement lists.
- abstract parse_input_pages() PagesSource [source]
Return a PagesSource representing inputs by page for tool.
- parse_provided_metadata_style()[source]
Return style of tool provided metadata file (e.g. galaxy.json).
A value of of “default” indicates the newer galaxy.json style (the default for XML-based tools with profile >= 17.09) and a value of “legacy” indicates the older galaxy.json style.
A short description of these two styles can be found at https://github.com/galaxyproject/galaxy/pull/4437.
- parse_provided_metadata_file()[source]
Return location of provided metadata file (e.g. galaxy.json).
- abstract parse_outputs(tool)[source]
Return a pair of output and output collections ordered dictionaries for use by Tool.
- abstract parse_stdio()[source]
Builds lists of ToolStdioExitCode and ToolStdioRegex objects to describe tool execution error conditions.
- abstract parse_help() HelpContent | None [source]
Return help text for tool or None if the tool doesn’t define help text.
The returned object contains the help text and an indication if it is reStructuredText (
restructuredtext
), Markdown (markdown
), or plain text (plain_text
).
- abstract parse_profile() str [source]
Return tool profile version as Galaxy major e.g. 16.01 or 16.04.
- abstract parse_python_template_version() Version | None [source]
Return minimum python version that the tool template has been developed against.
- parse_creator()[source]
Return list of metadata relating to creator/author of tool.
Result should be list of schema.org data model Person or Organization objects.
- property macro_paths
- property source_path
- parse_tests_to_dict() ToolSourceTests [source]
Submodules
galaxy.tool_util.parser.cwl module
- class galaxy.tool_util.parser.cwl.CwlToolSource(tool_file=None, strict_cwl_validation=True, tool_proxy: ToolProxy | None = None)[source]
Bases:
ToolSource
- property source_path
- property tool_proxy: ToolProxy
- parse_id()[source]
Parse an ID describing the abstract tool. This is not the GUID tracked by the tool shed but the simple id (there may be multiple tools loaded in Galaxy with this same simple id).
- parse_help()[source]
Return help text for tool or None if the tool doesn’t define help text.
The returned object contains the help text and an indication if it is reStructuredText (
restructuredtext
), Markdown (markdown
), or plain text (plain_text
).
- parse_stdio()[source]
Builds lists of ToolStdioExitCode and ToolStdioRegex objects to describe tool execution error conditions.
- parse_interpreter()[source]
Return string containing the interpreter to prepend to the command (for instance this might be ‘python’ to run a Python wrapper located adjacent to the tool).
- parse_description()[source]
Parse a description for tool. Longer than name, shorted than help.
We parse this out as “” if it isn’t explicitly declared.
- parse_input_pages() PagesSource [source]
Return a PagesSource representing inputs by page for tool.
- parse_outputs(tool)[source]
Return a pair of output and output collections ordered dictionaries for use by Tool.
- parse_requirements_and_containers()[source]
Return triple of ToolRequirement, ContainerDescription and ResourceRequirement lists.
galaxy.tool_util.parser.factory module
Constructors for concrete tool and input source objects.
- galaxy.tool_util.parser.factory.get_tool_source(config_file: str | PathLike | None = None, xml_tree: ElementTree | None = None, enable_beta_formats: bool = True, tool_location_fetcher: ToolLocationFetcher | None = None, macro_paths: List[str] | None = None, tool_source_class: str | None = None, raw_tool_source: str | None = None) ToolSource [source]
Return a ToolSource object corresponding to supplied source.
The supplied source may be specified as a file path (using the config_file parameter) or as an XML object loaded with load_tool_with_refereces.
galaxy.tool_util.parser.interface module
- class galaxy.tool_util.parser.interface.AssertionDict[source]
Bases:
TypedDict
- children: List[AssertionDict] | None
- class galaxy.tool_util.parser.interface.OutputCompareType(value)[source]
-
An enumeration.
- diff = 'diff'
- re_match = 're_match'
- sim_size = 'sim_size'
- re_match_multiline = 're_match_multiline'
- contains = 'contains'
- image_diff = 'image_diff'
- class galaxy.tool_util.parser.interface.ToolSourceTestOutputAttributes[source]
Bases:
TypedDict
- compare: OutputCompareType
- assert_list: List[AssertionDict] | None
- class galaxy.tool_util.parser.interface.ToolSourceTestOutput[source]
Bases:
TypedDict
- attributes: ToolSourceTestOutputAttributes
- class galaxy.tool_util.parser.interface.ToolSourceTest[source]
Bases:
TypedDict
- inputs: List[ToolSourceTestInput]
- outputs: List[ToolSourceTestOutput]
- stdout: List[AssertionDict] | None
- stderr: List[AssertionDict] | None
- command: List[AssertionDict] | None
- command_version: List[AssertionDict] | None
- class galaxy.tool_util.parser.interface.ToolSourceTests[source]
Bases:
TypedDict
- tests: List[ToolSourceTest]
- class galaxy.tool_util.parser.interface.Citation(*, type: str, content: str)[source]
Bases:
BaseModel
- model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[Dict[str, FieldInfo]] = {'content': FieldInfo(annotation=str, required=True), 'type': FieldInfo(annotation=str, required=True)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.
This replaces Model.__fields__ from Pydantic V1.
- class galaxy.tool_util.parser.interface.HelpContent(*, format: typing_extensions.Literal[restructuredtext, plain_text, markdown], content: str)[source]
Bases:
BaseModel
- format: typing_extensions.Literal[restructuredtext, plain_text, markdown]
- model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[Dict[str, FieldInfo]] = {'content': FieldInfo(annotation=str, required=True), 'format': FieldInfo(annotation=Literal['restructuredtext', 'plain_text', 'markdown'], required=True)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.
This replaces Model.__fields__ from Pydantic V1.
- class galaxy.tool_util.parser.interface.ToolSource[source]
Bases:
object
This interface represents an abstract source to parse tool information from.
- abstract parse_id() str | None [source]
Parse an ID describing the abstract tool. This is not the GUID tracked by the tool shed but the simple id (there may be multiple tools loaded in Galaxy with this same simple id).
- parse_tool_module() Tuple[str, str] | None [source]
Load Tool class from a custom module. (Optional).
If not None, return pair containing module and class (as strings).
- parse_action_module()[source]
Load Tool class from a custom module. (Optional).
If not None, return pair containing module and class (as strings).
- parse_tool_type() str | None [source]
Load simple tool type string (e.g. ‘data_source’, ‘default’).
- abstract parse_description() str [source]
Parse a description for tool. Longer than name, shorted than help.
We parse this out as “” if it isn’t explicitly declared.
- parse_display_interface(default)[source]
Parse display_interface - fallback to default for the tool type (supplied as default parameter) if not specified.
- parse_request_param_translation_elem()[source]
Return an XML element describing require parameter translation.
If we wish to support this feature for non-XML based tools this should be converted to return some sort of object interface instead of a RAW XML element.
- parse_tmp_target()[source]
Should be “pwd”, “shared_home”, “job_tmp”, “job_tmp_if_explicit”, or None.
- abstract parse_interpreter()[source]
Return string containing the interpreter to prepend to the command (for instance this might be ‘python’ to run a Python wrapper located adjacent to the tool).
- parse_redirect_url_params_elem()[source]
Return an XML element describing redirect_url_params.
If we wish to support this feature for non-XML based tools this should be converted to return some sort of object interface instead of a RAW XML element.
- parse_version_command()[source]
Parse command used to determine version of primary application driving the tool. Return None to not generate or record such a command.
- parse_version_command_interpreter()[source]
Parse command used to determine version of primary application driving the tool. Return None to not generate or record such a command.
- parse_parallelism()[source]
Return a galaxy.jobs.ParallismInfo object describing task splitting or None.
Return boolean indicating whether tool should be hidden in the tool menu.
- parse_required_files() RequiredFiles | None [source]
Parse explicit RequiredFiles object or return None to let Galaxy decide implicit logic.
- abstract parse_requirements_and_containers() Tuple[ToolRequirements, List[ContainerDescription], List[ResourceRequirement]] [source]
Return triple of ToolRequirement, ContainerDescription and ResourceRequirement lists.
- abstract parse_input_pages() PagesSource [source]
Return a PagesSource representing inputs by page for tool.
- parse_provided_metadata_style()[source]
Return style of tool provided metadata file (e.g. galaxy.json).
A value of of “default” indicates the newer galaxy.json style (the default for XML-based tools with profile >= 17.09) and a value of “legacy” indicates the older galaxy.json style.
A short description of these two styles can be found at https://github.com/galaxyproject/galaxy/pull/4437.
- parse_provided_metadata_file()[source]
Return location of provided metadata file (e.g. galaxy.json).
- abstract parse_outputs(tool)[source]
Return a pair of output and output collections ordered dictionaries for use by Tool.
- abstract parse_stdio()[source]
Builds lists of ToolStdioExitCode and ToolStdioRegex objects to describe tool execution error conditions.
- abstract parse_help() HelpContent | None [source]
Return help text for tool or None if the tool doesn’t define help text.
The returned object contains the help text and an indication if it is reStructuredText (
restructuredtext
), Markdown (markdown
), or plain text (plain_text
).
- abstract parse_profile() str [source]
Return tool profile version as Galaxy major e.g. 16.01 or 16.04.
- abstract parse_python_template_version() Version | None [source]
Return minimum python version that the tool template has been developed against.
- parse_creator()[source]
Return list of metadata relating to creator/author of tool.
Result should be list of schema.org data model Person or Organization objects.
- property macro_paths
- property source_path
- parse_tests_to_dict() ToolSourceTests [source]
- class galaxy.tool_util.parser.interface.PagesSource(page_sources)[source]
Bases:
object
Contains a list of Pages - each a list of InputSources - each item in the outer list representing a page of inputs. Pages are deprecated so ideally this outer list will always be exactly a singleton.
- property inputs_defined
- class galaxy.tool_util.parser.interface.DynamicOptions[source]
Bases:
object
- class galaxy.tool_util.parser.interface.InputSource[source]
Bases:
object
- default_optional = False
- abstract get(key, value=None)[source]
Return simple named properties as string for this input source. keys to be supported depend on the parameter type.
- abstract get_bool(key, default)[source]
Return simple named properties as boolean for this input source. keys to be supported depend on the parameter type.
- abstract get_bool_or_none(key, default)[source]
Return simple named properties as boolean or none for this input source. keys to be supported depend on the parameter type.
- parse_name()[source]
Return name of an input source returns the name or if absent the argument property In the latter case, leading dashes are stripped and all remaining dashes are replaced by underscores.
- parse_sanitizer_elem()[source]
Return an XML description of sanitizers. This is a stop gap until we can rework galaxy.tools.parameters.sanitize to not explicitly depend on XML.
- parse_validator_elems()[source]
Return an XML description of sanitizers. This is a stop gap until we can rework galaxy.tools.parameters.validation to not explicitly depend on XML.
- parse_dynamic_options() DynamicOptions | None [source]
Return an optional element describing dynamic options.
These options are still very XML based but as they are adapted to the infrastructure, the return type here will evolve.
- parse_drill_down_dynamic_options(tool_data_path: str | None = None) DrillDownDynamicOptions | None [source]
- parse_static_options() List[Tuple[str, str, bool]] [source]
Return list of static options if this is a select type without defining a dynamic options.
- parse_drill_down_static_options(tool_data_path: str | None = None) List[DrillDownOptionsDict] | None [source]
- parse_conversion_tuples()[source]
Return list of (name, extension) to describe explicit conversions.
- parse_test_input_source() InputSource [source]
- class galaxy.tool_util.parser.interface.PageSource[source]
Bases:
object
- abstract parse_input_sources() List[InputSource] [source]
Return a list of InputSource objects.
- class galaxy.tool_util.parser.interface.TestCollectionDefElementDict[source]
Bases:
TypedDict
- element_definition: JsonTestCollectionDefDict | XmlTestCollectionDefDict | ToolSourceTestInput
- class galaxy.tool_util.parser.interface.TestCollectionDefElementInternal[source]
Bases:
TypedDict
- element_definition: TestCollectionDef | ToolSourceTestInput
- class galaxy.tool_util.parser.interface.XmlTestCollectionDefDict[source]
Bases:
TypedDict
- model_class: typing_extensions.Literal[TestCollectionDef]
- elements: List[TestCollectionDefElementDict]
- class galaxy.tool_util.parser.interface.JsonTestDatasetDefDict
Bases:
TypedDict
- class: typing_extensions.Literal[File]
- class galaxy.tool_util.parser.interface.JsonTestCollectionDefDatasetElementDict
Bases:
TypedDict
- class: typing_extensions.Literal[File]
- class galaxy.tool_util.parser.interface.BaseJsonTestCollectionDefCollectionElementDict
Bases:
TypedDict
- class: typing_extensions.Literal[Collection]
- elements: typing_extensions.NotRequired[List[JsonTestCollectionDefDatasetElementDict | JsonTestCollectionDefCollectionElementDict] | None]
- class galaxy.tool_util.parser.interface.JsonTestCollectionDefCollectionElementDict
Bases:
TypedDict
- class: typing_extensions.Literal[Collection]
- elements: typing_extensions.NotRequired[List[JsonTestCollectionDefDatasetElementDict | JsonTestCollectionDefCollectionElementDict] | None]
- class galaxy.tool_util.parser.interface.JsonTestCollectionDefDict
Bases:
TypedDict
- class: typing_extensions.Literal[Collection]
- elements: typing_extensions.NotRequired[List[JsonTestCollectionDefDatasetElementDict | JsonTestCollectionDefCollectionElementDict] | None]
- galaxy.tool_util.parser.interface.xml_data_input_to_json(xml_input: ToolSourceTestInput) JsonTestDatasetDefDict | None [source]
- class galaxy.tool_util.parser.interface.TestCollectionDef(attrib, name, collection_type, elements)[source]
Bases:
object
- elements: List[TestCollectionDefElementInternal]
- test_format_to_dict() JsonTestCollectionDefDict [source]
- to_dict() XmlTestCollectionDefDict [source]
- static from_dict(as_dict: JsonTestCollectionDefDict | XmlTestCollectionDefDict | JsonTestCollectionDefCollectionElementDict) TestCollectionDef [source]
- class galaxy.tool_util.parser.interface.RequiredFiles(includes: List[Dict], excludes: List[Dict], extend_default_excludes: bool)[source]
Bases:
object
galaxy.tool_util.parser.output_actions module
Support for dynamically modifying output attributes.
- class galaxy.tool_util.parser.output_actions.ToolOutputActionGroup(parent, config_elem)[source]
Bases:
object
Manages a set of tool output dataset actions directives
- tag = 'group'
- property tool
- class galaxy.tool_util.parser.output_actions.ToolOutputActionConditionalWhen(parent, config_elem, value)[source]
Bases:
ToolOutputActionGroup
- tag = 'when'
- class galaxy.tool_util.parser.output_actions.ValueToolOutputActionConditionalWhen(parent, config_elem, value)[source]
Bases:
ToolOutputActionConditionalWhen
- tag = 'when value'
- class galaxy.tool_util.parser.output_actions.DatatypeIsInstanceToolOutputActionConditionalWhen(parent, config_elem, value)[source]
Bases:
ToolOutputActionConditionalWhen
- tag = 'when datatype_isinstance'
- class galaxy.tool_util.parser.output_actions.ToolOutputActionConditional(parent, config_elem)[source]
Bases:
object
- tag = 'conditional'
- property tool
- class galaxy.tool_util.parser.output_actions.ToolOutputAction(parent, elem)[source]
Bases:
object
- tag = 'action'
- property tool
- class galaxy.tool_util.parser.output_actions.ToolOutputActionOption(parent, elem)[source]
Bases:
object
- tag = 'object'
- property tool
- class galaxy.tool_util.parser.output_actions.NullToolOutputActionOption(parent, elem)[source]
Bases:
ToolOutputActionOption
- tag = 'null_option'
- class galaxy.tool_util.parser.output_actions.FromFileToolOutputActionOption(parent, elem)[source]
Bases:
ToolOutputActionOption
- tag = 'from_file'
- class galaxy.tool_util.parser.output_actions.FromParamToolOutputActionOption(parent, elem)[source]
Bases:
ToolOutputActionOption
- tag = 'from_param'
- class galaxy.tool_util.parser.output_actions.FromDataTableOutputActionOption(parent, elem)[source]
Bases:
ToolOutputActionOption
- tag = 'from_data_table'
- class galaxy.tool_util.parser.output_actions.MetadataToolOutputAction(parent, elem)[source]
Bases:
ToolOutputAction
- tag = 'metadata'
- class galaxy.tool_util.parser.output_actions.FormatToolOutputAction(parent, elem)[source]
Bases:
ToolOutputAction
- tag = 'format'
- class galaxy.tool_util.parser.output_actions.ToolOutputActionOptionFilter(parent, elem)[source]
Bases:
object
- tag = 'filter'
- property tool
- class galaxy.tool_util.parser.output_actions.ParamValueToolOutputActionOptionFilter(parent, elem)[source]
Bases:
ToolOutputActionOptionFilter
- tag = 'param_value'
- class galaxy.tool_util.parser.output_actions.InsertColumnToolOutputActionOptionFilter(parent, elem)[source]
Bases:
ToolOutputActionOptionFilter
- tag = 'insert_column'
- class galaxy.tool_util.parser.output_actions.MultipleSplitterFilter(parent, elem)[source]
Bases:
ToolOutputActionOptionFilter
- tag = 'multiple_splitter'
- class galaxy.tool_util.parser.output_actions.ColumnStripFilter(parent, elem)[source]
Bases:
ToolOutputActionOptionFilter
- tag = 'column_strip'
- class galaxy.tool_util.parser.output_actions.ColumnReplaceFilter(parent, elem)[source]
Bases:
ToolOutputActionOptionFilter
- tag = 'column_replace'
- class galaxy.tool_util.parser.output_actions.MetadataValueFilter(parent, elem)[source]
Bases:
ToolOutputActionOptionFilter
- tag = 'metadata_value'
- class galaxy.tool_util.parser.output_actions.BooleanFilter(parent, elem)[source]
Bases:
ToolOutputActionOptionFilter
- tag = 'boolean'
- galaxy.tool_util.parser.output_actions.action_type
alias of
FormatToolOutputAction
- galaxy.tool_util.parser.output_actions.filter_type
alias of
ColumnReplaceFilter
- galaxy.tool_util.parser.output_actions.option_type
alias of
FromDataTableOutputActionOption
- class galaxy.tool_util.parser.output_actions.StringFunctionFilter(parent, elem)[source]
Bases:
ToolOutputActionOptionFilter
- tag = 'string_function'
galaxy.tool_util.parser.output_collection_def module
This module define an abstract class for reasoning about Galaxy’s dataset collection after jobs are finished.
- galaxy.tool_util.parser.output_collection_def.dataset_collector_descriptions_from_elem(elem, legacy=True)[source]
- galaxy.tool_util.parser.output_collection_def.dataset_collector_descriptions_from_output_dict(as_dict)[source]
- galaxy.tool_util.parser.output_collection_def.dataset_collector_descriptions_from_list(discover_datasets_dicts)[source]
- class galaxy.tool_util.parser.output_collection_def.DatasetCollectionDescription(**kwargs)[source]
Bases:
object
- discover_via: typing_extensions.Literal[tool_provided_metadata, pattern]
- class galaxy.tool_util.parser.output_collection_def.ToolProvidedMetadataDatasetCollection(**kwargs)[source]
Bases:
DatasetCollectionDescription
- discover_via: typing_extensions.Literal[tool_provided_metadata, pattern] = 'tool_provided_metadata'
- class galaxy.tool_util.parser.output_collection_def.FilePatternDatasetCollectionDescription(**kwargs)[source]
Bases:
DatasetCollectionDescription
- discover_via: typing_extensions.Literal[tool_provided_metadata, pattern] = 'pattern'
- sort_key: typing_extensions.Literal[filename, name, designation, dbkey]
- sort_comp: typing_extensions.Literal[lexical, numeric]
galaxy.tool_util.parser.output_objects module
- class galaxy.tool_util.parser.output_objects.ToolOutputBase(name: str, label: str | None = None, filters: List[Element] | None = None, hidden: bool = False, from_expression: str | None = None)[source]
Bases:
Dictifiable
- __init__(name: str, label: str | None = None, filters: List[Element] | None = None, hidden: bool = False, from_expression: str | None = None) None [source]
- class galaxy.tool_util.parser.output_objects.ToolOutput(name: str, format: str | None = None, format_source: str | None = None, metadata_source: str | None = None, parent: str | None = None, label: str | None = None, filters: List[Element] | None = None, actions: ToolOutputActionGroup | None = None, hidden: bool = False, implicit: bool = False, from_expression: str | None = None)[source]
Bases:
ToolOutputBase
Represents an output datasets produced by a tool. For backward compatibility this behaves as if it were the tuple:
(format, metadata_source, parent)
- dict_collection_visible_keys = ['name', 'format', 'label', 'hidden', 'output_type', 'format_source', 'default_identifier_source', 'metadata_source', 'parent', 'count', 'from_work_dir']
- __init__(name: str, format: str | None = None, format_source: str | None = None, metadata_source: str | None = None, parent: str | None = None, label: str | None = None, filters: List[Element] | None = None, actions: ToolOutputActionGroup | None = None, hidden: bool = False, implicit: bool = False, from_expression: str | None = None) None [source]
- static from_dict(name: str, output_dict: Dict[str, Any], tool: object | None = None) ToolOutput [source]
- class galaxy.tool_util.parser.output_objects.ToolExpressionOutput(name, output_type, from_expression, label=None, filters=None, actions=None, hidden=False)[source]
Bases:
ToolOutputBase
- dict_collection_visible_keys = ('name', 'format', 'label', 'hidden', 'output_type')
- __init__(name, output_type, from_expression, label=None, filters=None, actions=None, hidden=False)[source]
- to_model() ToolOutputDataset | ToolOutputCollection | ToolOutputText | ToolOutputInteger | ToolOutputFloat | ToolOutputBoolean [source]
- class galaxy.tool_util.parser.output_objects.ToolOutputCollection(name: str, structure: ToolOutputCollectionStructure, label: str | None = None, filters: List[Element] | None = None, hidden: bool = False, default_format: str = 'data', default_format_source: str | None = None, default_metadata_source: str | None = None, inherit_format: bool = False, inherit_metadata: bool = False)[source]
Bases:
ToolOutputBase
Represents a HistoryDatasetCollectionAssociation of output datasets produced by a tool.
<outputs> <collection type="list" label="${tool.name} on ${on_string} fasta"> <discover_datasets pattern="__name__" ext="fasta" visible="True" directory="outputFiles" /> </collection> <collection type="paired" label="${tool.name} on ${on_string} paired reads"> <data name="forward" format="fastqsanger" /> <data name="reverse" format="fastqsanger"/> </collection> <outputs>
- dict_collection_visible_keys = ['name', 'format', 'label', 'hidden', 'output_type', 'default_format', 'default_format_source', 'default_metadata_source', 'inherit_format', 'inherit_metadata']
- __init__(name: str, structure: ToolOutputCollectionStructure, label: str | None = None, filters: List[Element] | None = None, hidden: bool = False, default_format: str = 'data', default_format_source: str | None = None, default_metadata_source: str | None = None, inherit_format: bool = False, inherit_metadata: bool = False) None [source]
- property dynamic_structure
- property dataset_collector_descriptions
- static from_dict(name, output_dict, tool=None) ToolOutputCollection [source]
- class galaxy.tool_util.parser.output_objects.ToolOutputCollectionStructure(collection_type: str | None, collection_type_source: str | None = None, collection_type_from_rules: str | None = None, structured_like: str | None = None, dataset_collector_descriptions: List[DatasetCollectionDescription] | None = None)[source]
Bases:
object
- __init__(collection_type: str | None, collection_type_source: str | None = None, collection_type_from_rules: str | None = None, structured_like: str | None = None, dataset_collector_descriptions: List[DatasetCollectionDescription] | None = None) None [source]
- dataset_collector_descriptions: List[DatasetCollectionDescription] | None
- static from_dict(as_dict) ToolOutputCollectionStructure [source]
galaxy.tool_util.parser.stdio module
- class galaxy.tool_util.parser.stdio.StdioErrorLevel[source]
Bases:
object
These determine stdio-based error levels from matching on regular expressions and exit codes. They are meant to be used comparatively, such as showing that warning < fatal. This is really meant to just be an enum.
- NO_ERROR = 0
- LOG = 1
- QC = 1.1
- WARNING = 2
- FATAL = 3
- FATAL_OOM = 4
- MAX = 4
- descs = {0: 'No error', 1: 'Log', 1.1: 'QC', 2: 'Warning', 3: 'Fatal error', 4: 'Out of memory error'}
- class galaxy.tool_util.parser.stdio.ToolStdioExitCode(as_dict=None)[source]
Bases:
object
This is a container for the <stdio> element’s <exit_code> subelement. The exit_code element has a range of exit codes and the error level.
- class galaxy.tool_util.parser.stdio.ToolStdioRegex(as_dict=None)[source]
Bases:
object
This is a container for the <stdio> element’s regex subelement. The regex subelement has a “match” attribute, a “sources” attribute that contains “output” and/or “error”, and a “level” attribute that contains “warning” or “fatal”.
galaxy.tool_util.parser.util module
- galaxy.tool_util.parser.util.parse_profile_version(tool_source: ToolSource) float [source]
- galaxy.tool_util.parser.util.parse_tool_version_with_defaults(id: str | None, tool_source: ToolSource, profile: Version | None = None) str [source]
- galaxy.tool_util.parser.util.boolean_is_checked(input_source: InputSource)[source]
galaxy.tool_util.parser.xml module
- galaxy.tool_util.parser.xml.parse_change_format(change_format: Iterable[Element]) List[ChangeFormatModel] [source]
- class galaxy.tool_util.parser.xml.XmlToolSource(xml_tree: ElementTree, source_path=None, macro_paths=None)[source]
Bases:
ToolSource
Responsible for parsing a tool from classic Galaxy representation.
- __init__(xml_tree: ElementTree, source_path=None, macro_paths=None)[source]
- parse_id()[source]
Parse an ID describing the abstract tool. This is not the GUID tracked by the tool shed but the simple id (there may be multiple tools loaded in Galaxy with this same simple id).
- parse_tool_module()[source]
Load Tool class from a custom module. (Optional).
If not None, return pair containing module and class (as strings).
- parse_action_module()[source]
Load Tool class from a custom module. (Optional).
If not None, return pair containing module and class (as strings).
- parse_description() str [source]
Parse a description for tool. Longer than name, shorted than help.
We parse this out as “” if it isn’t explicitly declared.
- parse_display_interface(default)[source]
Parse display_interface - fallback to default for the tool type (supplied as default parameter) if not specified.
- parse_request_param_translation_elem()[source]
Return an XML element describing require parameter translation.
If we wish to support this feature for non-XML based tools this should be converted to return some sort of object interface instead of a RAW XML element.
- parse_tmp_target()[source]
Should be “pwd”, “shared_home”, “job_tmp”, “job_tmp_if_explicit”, or None.
- parse_interpreter()[source]
Return string containing the interpreter to prepend to the command (for instance this might be ‘python’ to run a Python wrapper located adjacent to the tool).
- parse_version_command()[source]
Parse command used to determine version of primary application driving the tool. Return None to not generate or record such a command.
- parse_version_command_interpreter()[source]
Parse command used to determine version of primary application driving the tool. Return None to not generate or record such a command.
- parse_parallelism()[source]
Return a galaxy.jobs.ParallismInfo object describing task splitting or None.
Return boolean indicating whether tool should be hidden in the tool menu.
- parse_redirect_url_params_elem()[source]
Return an XML element describing redirect_url_params.
If we wish to support this feature for non-XML based tools this should be converted to return some sort of object interface instead of a RAW XML element.
- parse_required_files() RequiredFiles | None [source]
Parse explicit RequiredFiles object or return None to let Galaxy decide implicit logic.
- parse_requirements_and_containers()[source]
Return triple of ToolRequirement, ContainerDescription and ResourceRequirement lists.
- parse_input_pages() XmlPagesSource [source]
Return a PagesSource representing inputs by page for tool.
- parse_provided_metadata_style()[source]
Return style of tool provided metadata file (e.g. galaxy.json).
A value of of “default” indicates the newer galaxy.json style (the default for XML-based tools with profile >= 17.09) and a value of “legacy” indicates the older galaxy.json style.
A short description of these two styles can be found at https://github.com/galaxyproject/galaxy/pull/4437.
- parse_provided_metadata_file()[source]
Return location of provided metadata file (e.g. galaxy.json).
- parse_outputs(tool=None)[source]
Return a pair of output and output collections ordered dictionaries for use by Tool.
- parse_stdio()[source]
parse error handling from command and stdio tag
returns list of exit codes, list of regexes
exit_codes contain all non-zero exit codes (:-1 and 1:) if detect_errors is default (if not legacy), exit_code, or aggressive
the oom_exit_code if given and detect_errors is exit_code
exit codes and regexes from the stdio tag these are prepended to the list, i.e. are evaluated prior to regexes and exit codes derived from the properties of the command tag. thus more specific regexes of the same or more severe error level are triggered first.
- parse_help() HelpContent | None [source]
Return help text for tool or None if the tool doesn’t define help text.
The returned object contains the help text and an indication if it is reStructuredText (
restructuredtext
), Markdown (markdown
), or plain text (plain_text
).
- property macro_paths
- property source_path
- parse_tests_to_dict() ToolSourceTests [source]
- class galaxy.tool_util.parser.xml.StdioParser(root)[source]
Bases:
object
- parse_stdio_exit_codes(stdio_elem)[source]
Parse the tool’s <stdio> element’s <exit_code> subelements. This will add all of those elements, if any, to self.stdio_exit_codes.
- class galaxy.tool_util.parser.xml.XmlPagesSource(root)[source]
Bases:
PagesSource
- property inputs_defined
- class galaxy.tool_util.parser.xml.XmlPageSource(parent_elem)[source]
Bases:
PageSource
- class galaxy.tool_util.parser.xml.XmlDynamicOptions(options_elem: Element)[source]
Bases:
DynamicOptions
- class galaxy.tool_util.parser.xml.XmlInputSource(input_elem)[source]
Bases:
InputSource
- get(key, value=None)[source]
Return simple named properties as string for this input source. keys to be supported depend on the parameter type.
- get_bool(key, default)[source]
Return simple named properties as boolean for this input source. keys to be supported depend on the parameter type.
- get_bool_or_none(key, default)[source]
Return simple named properties as boolean or none for this input source. keys to be supported depend on the parameter type.
- parse_sanitizer_elem()[source]
Return an XML description of sanitizers. This is a stop gap until we can rework galaxy.tools.parameters.sanitize to not explicitly depend on XML.
- parse_validator_elems()[source]
Return an XML description of sanitizers. This is a stop gap until we can rework galaxy.tools.parameters.validation to not explicitly depend on XML.
- parse_dynamic_options() XmlDynamicOptions | None [source]
Return a XmlDynamicOptions to describe dynamic options if options elem is available.
- parse_static_options() List[Tuple[str, str, bool]] [source]
>>> from galaxy.util import parse_xml_string_to_etree >>> xml = '<param><option value="a">A</option><option value="b">B</option></param>' >>> xis = XmlInputSource(parse_xml_string_to_etree(xml).getroot()) >>> xis.parse_static_options() [('A', 'a', False), ('B', 'b', False)] >>> xml = '<param><option value="a"/><option value="b"/><option value="a" selected="true"/></param>' >>> xis = XmlInputSource(parse_xml_string_to_etree(xml).getroot()) >>> xis.parse_static_options() [('a', 'a', True), ('b', 'b', False)]
- parse_drill_down_dynamic_options(tool_data_path: str | None = None) DrillDownDynamicOptions | None [source]
- parse_drill_down_static_options(tool_data_path: str | None = None) List[DrillDownOptionsDict] | None [source]
galaxy.tool_util.parser.yaml module
- class galaxy.tool_util.parser.yaml.YamlToolSource(root_dict: Dict, source_path=None)[source]
Bases:
ToolSource
- property source_path
- parse_id()[source]
Parse an ID describing the abstract tool. This is not the GUID tracked by the tool shed but the simple id (there may be multiple tools loaded in Galaxy with this same simple id).
- parse_description() str [source]
Parse a description for tool. Longer than name, shorted than help.
We parse this out as “” if it isn’t explicitly declared.
- parse_display_interface(default)[source]
Parse display_interface - fallback to default for the tool type (supplied as default parameter) if not specified.
- parse_interpreter()[source]
Return string containing the interpreter to prepend to the command (for instance this might be ‘python’ to run a Python wrapper located adjacent to the tool).
- parse_version_command()[source]
Parse command used to determine version of primary application driving the tool. Return None to not generate or record such a command.
- parse_version_command_interpreter()[source]
Parse command used to determine version of primary application driving the tool. Return None to not generate or record such a command.
- parse_requirements_and_containers()[source]
Return triple of ToolRequirement, ContainerDescription and ResourceRequirement lists.
- parse_input_pages() PagesSource [source]
Return a PagesSource representing inputs by page for tool.
- parse_stdio()[source]
Builds lists of ToolStdioExitCode and ToolStdioRegex objects to describe tool execution error conditions.
- parse_help() HelpContent | None [source]
Return help text for tool or None if the tool doesn’t define help text.
The returned object contains the help text and an indication if it is reStructuredText (
restructuredtext
), Markdown (markdown
), or plain text (plain_text
).
- parse_outputs(tool)[source]
Return a pair of output and output collections ordered dictionaries for use by Tool.
- parse_tests_to_dict() ToolSourceTests [source]
- galaxy.tool_util.parser.yaml.to_test_assert_list(assertions) List[AssertionDict] | None [source]
- class galaxy.tool_util.parser.yaml.YamlPageSource(inputs_list)[source]
Bases:
PageSource
- class galaxy.tool_util.parser.yaml.YamlInputSource(input_dict)[source]
Bases:
InputSource
- get(key, default=None)[source]
Return simple named properties as string for this input source. keys to be supported depend on the parameter type.
- get_bool(key, default)[source]
Return simple named properties as boolean for this input source. keys to be supported depend on the parameter type.
- get_bool_or_none(key, default)[source]
Return simple named properties as boolean or none for this input source. keys to be supported depend on the parameter type.