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.tools package¶
Classes encapsulating galaxy tools and tool configuration.
-
exception
galaxy.tools.
ToolInputsNotReadyException
[source]¶ Bases:
exceptions.Exception
-
exception
galaxy.tools.
ToolNotFoundException
[source]¶ Bases:
exceptions.Exception
-
class
galaxy.tools.
ToolBox
(config_filenames, tool_root_dir, app)[source]¶ Bases:
galaxy.tools.toolbox.base.BaseGalaxyToolBox
A derivative of AbstractToolBox with knowledge about Tool internals - how to construct them, action types, dependency management, etc….
-
all_requirements
¶
-
tools_by_id
¶
-
-
class
galaxy.tools.
DefaultToolState
[source]¶ Bases:
object
Keeps track of the state of a users interaction with a tool between requests.
-
class
galaxy.tools.
Tool
(config_file, tool_source, app, guid=None, repository_id=None, tool_shed_repository=None, allow_code_files=True, dynamic=False)[source]¶ Bases:
galaxy.util.dictifiable.Dictifiable
Represents a computational tool that can be executed through Galaxy.
-
tool_type
= 'default'¶
-
requires_setting_metadata
= True¶
-
produces_entry_points
= False¶
-
default_tool_action
¶
-
dict_collection_visible_keys
= ['id', 'name', 'version', 'description', 'labels']¶
-
__init__
(config_file, tool_source, app, guid=None, repository_id=None, tool_shed_repository=None, allow_code_files=True, dynamic=False)[source]¶ Load a tool from the config named by config_file
-
history_manager
¶
-
version_object
¶
-
sa_session
¶ Returns a SQLAlchemy session
-
lineage
¶ Return ToolLineage for this tool.
-
tool_versions
¶
-
is_latest_version
¶
-
tool_shed_repository
¶
-
produces_collections_with_unknown_structure
¶
-
valid_input_states
¶
-
requires_galaxy_python_environment
¶ Indicates this tool’s runtime requires Galaxy’s Python environment.
-
get_configured_job_handler
(job_params=None)[source]¶ Get the configured job handler for this Tool given the provided job_params.
Unlike the former
get_job_handler()
method, this does not perform “preassignment” (random selection of a configured handler ID from a tag).Parameters: job_params (dict or None) – Any params specific to this job (e.g. the job source) Returns: str or None – The configured handler for a job run of this Tool
-
get_job_destination
(job_params=None)[source]¶ Returns: galaxy.jobs.JobDestination – The destination definition and runner parameters.
-
allow_user_access
(user, attempting_access=True)[source]¶ Returns: bool – Whether the user is allowed to access the tool.
-
parse
(tool_source, guid=None, dynamic=False)[source]¶ Read tool configuration from the element root and fill in self.
-
tests
¶
-
parse_inputs
(tool_source)[source]¶ Parse the “<inputs>” element and create appropriate `ToolParameter`s. This implementation supports multiple pages and grouping constructs.
-
parse_help
(tool_source)[source]¶ Parse the help text for the tool. Formatted in reStructuredText, but stored as Mako to allow for dynamic image paths. This implementation supports multiple pages.
-
parse_outputs
(tool_source)[source]¶ Parse <outputs> elements and fill in self.outputs (keyed by name)
-
parse_stdio
(tool_source)[source]¶ Parse <stdio> element(s) and fill in self.return_codes, self.stderr_rules, and self.stdout_rules. Return codes have a range and an error type (fault or warning). Stderr and stdout rules have a regular expression and an error level (fault or warning).
-
parse_input_elem
(page_source, enctypes, context=None)[source]¶ Parse a parent element whose children are inputs – these could be groups (repeat, conditional) or param elements. Groups will be parsed recursively.
-
parse_param_elem
(input_source, enctypes, context)[source]¶ Parse a single “<param>” element and return a ToolParameter instance. Also, if the parameter has a ‘required_enctype’ add it to the set enctypes.
-
help
¶
-
help_by_page
¶
-
raw_help
¶
-
check_workflow_compatible
(tool_source)[source]¶ Determine if a tool can be used in workflows. External tools and the upload tool are currently not supported by workflows.
-
new_state
(trans)[source]¶ Create a new DefaultToolState for this tool. It will be initialized with default values for inputs. Grouping elements are filled in recursively.
-
get_hook
(name)[source]¶ Returns an object from the code file referenced by code_namespace (this will normally be a callable object)
-
visit_inputs
(values, callback)[source]¶ Call the function callback on each parameter of this tool. Visits grouping parameters recursively and constructs unique prefixes for each nested set of The callback method is then called as:
callback( level_prefix, parameter, parameter_value )
-
handle_input
(trans, incoming, history=None, use_cached_job=False)[source]¶ Process incoming parameters for this tool from the dict incoming, update the tool state (or create if none existed), and either return to the form or execute the tool (only if ‘execute’ was clicked and there were no errors).
-
handle_single_execution
(trans, rerun_remap_job_id, execution_slice, history, execution_cache=None, completed_job=None, collection_info=None)[source]¶ Return a pair with whether execution is successful as well as either resulting output data or an error message indicating the problem.
-
params_with_missing_data_table_entry
¶ Return all parameters that are dynamically generated select lists whose options require an entry not currently in the tool_data_table_conf.xml file.
-
params_with_missing_index_file
¶ Return all parameters that are dynamically generated select lists whose options refer to a missing .loc file.
-
get_static_param_values
(trans)[source]¶ Returns a map of parameter names and values if the tool does not require any user input. Will raise an exception if any parameter does require input.
-
execute
(trans, incoming={}, set_output_hid=True, history=None, **kwargs)[source]¶ Execute the tool using parameter values in incoming. This just dispatches to the ToolAction instance specified by self.tool_action. In general this will create a Job that when run will build the tool’s outputs, e.g. DefaultToolAction.
-
check_and_update_param_values
(values, trans, update_values=True, workflow_building_mode=False)[source]¶ Check that all parameters have values, and fill in with default values where necessary. This could be called after loading values from a database in case new parameters have been added.
-
build_dependency_shell_commands
(job_directory=None, metadata=False)[source]¶ Return a list of commands to be run to populate the current environment to include this tools requirements.
-
installed_tool_dependencies
¶
-
tool_requirements
¶ Return all requiremens of type package
-
tool_requirements_status
¶ Return a list of dictionaries for all tool dependencies with their associated status
-
build_redirect_url_params
(param_dict)[source]¶ Substitute parameter values into self.redirect_url_params
-
parse_redirect_url
(data, param_dict)[source]¶ Parse the REDIRECT_URL tool param. Tools that send data to an external application via a redirect must include the following 3 tool params:
- REDIRECT_URL - the url to which the data is being sent
- DATA_URL - the url to which the receiving application will send an http post to retrieve the Galaxy data
- GALAXY_URL - the url to which the external application may post data as a response
-
call_hook
(hook_name, *args, **kwargs)[source]¶ Call the custom code hook function identified by ‘hook_name’ if any, and return the results
-
discover_outputs
(out_data, out_collections, tool_provided_metadata, tool_working_directory, job, input_ext, input_dbkey, inp_data=None)[source]¶ Find any additional datasets generated by a tool and attach (for cases where number of outputs is not known in advance).
-
to_json
(trans, kwd={}, job=None, workflow_building_mode=False)[source]¶ Recursively creates a tool dictionary containing repeats, dynamic options and updated states.
-
-
class
galaxy.tools.
OutputParameterJSONTool
(config_file, tool_source, app, guid=None, repository_id=None, tool_shed_repository=None, allow_code_files=True, dynamic=False)[source]¶ Bases:
galaxy.tools.Tool
Alternate implementation of Tool that provides parameters and other values JSONified within the contents of an output dataset
-
tool_type
= 'output_parameter_json'¶
-
-
class
galaxy.tools.
ExpressionTool
(config_file, tool_source, app, guid=None, repository_id=None, tool_shed_repository=None, allow_code_files=True, dynamic=False)[source]¶ Bases:
galaxy.tools.Tool
-
requires_js_runtime
= True¶
-
tool_type
= 'expression'¶
-
EXPRESSION_INPUTS_NAME
= '_expression_inputs_.json'¶
-
-
class
galaxy.tools.
DataSourceTool
(config_file, tool_source, app, guid=None, repository_id=None, tool_shed_repository=None, allow_code_files=True, dynamic=False)[source]¶ Bases:
galaxy.tools.OutputParameterJSONTool
Alternate implementation of Tool for data_source tools – those that allow the user to query and extract data from another web site.
-
tool_type
= 'data_source'¶
-
default_tool_action
¶ alias of
galaxy.tools.actions.data_source.DataSourceToolAction
-
-
class
galaxy.tools.
AsyncDataSourceTool
(config_file, tool_source, app, guid=None, repository_id=None, tool_shed_repository=None, allow_code_files=True, dynamic=False)[source]¶ Bases:
galaxy.tools.DataSourceTool
-
tool_type
= 'data_source_async'¶
-
-
class
galaxy.tools.
DataDestinationTool
(config_file, tool_source, app, guid=None, repository_id=None, tool_shed_repository=None, allow_code_files=True, dynamic=False)[source]¶ Bases:
galaxy.tools.Tool
-
tool_type
= 'data_destination'¶
-
-
class
galaxy.tools.
SetMetadataTool
(config_file, tool_source, app, guid=None, repository_id=None, tool_shed_repository=None, allow_code_files=True, dynamic=False)[source]¶ Bases:
galaxy.tools.Tool
Tool implementation for special tool that sets metadata on an existing dataset.
-
tool_type
= 'set_metadata'¶
-
requires_setting_metadata
= False¶
-
-
class
galaxy.tools.
ExportHistoryTool
(config_file, tool_source, app, guid=None, repository_id=None, tool_shed_repository=None, allow_code_files=True, dynamic=False)[source]¶ Bases:
galaxy.tools.Tool
-
tool_type
= 'export_history'¶
-
-
class
galaxy.tools.
ImportHistoryTool
(config_file, tool_source, app, guid=None, repository_id=None, tool_shed_repository=None, allow_code_files=True, dynamic=False)[source]¶ Bases:
galaxy.tools.Tool
-
tool_type
= 'import_history'¶
-
-
class
galaxy.tools.
InteractiveTool
(config_file, tool_source, app, **kwd)[source]¶ Bases:
galaxy.tools.Tool
-
tool_type
= 'interactive'¶
-
produces_entry_points
= True¶
-
-
class
galaxy.tools.
DataManagerTool
(config_file, root, app, guid=None, data_manager_id=None, **kwds)[source]¶ Bases:
galaxy.tools.OutputParameterJSONTool
-
tool_type
= 'manage_data'¶
-
default_tool_action
¶ alias of
galaxy.tools.actions.data_manager.DataManagerToolAction
-
exec_after_process
(app, inp_data, out_data, param_dict, job=None, final_job_state=None, **kwds)[source]¶
-
allow_user_access
(user, attempting_access=True)[source]¶ Parameters: - user (galaxy.model.User) – model object representing user.
- attempting_access (bool) – is the user attempting to do something with the the tool (set false for incidental checks like toolbox listing)
Returns: bool – Whether the user is allowed to access the tool.
Data Manager tools are only accessible to admins.
-
-
class
galaxy.tools.
DatabaseOperationTool
(config_file, tool_source, app, guid=None, repository_id=None, tool_shed_repository=None, allow_code_files=True, dynamic=False)[source]¶ Bases:
galaxy.tools.Tool
-
default_tool_action
¶ alias of
galaxy.tools.actions.model_operations.ModelOperationToolAction
-
require_dataset_ok
= True¶
-
valid_input_states
¶
-
allow_errored_inputs
¶
-
-
class
galaxy.tools.
UnzipCollectionTool
(config_file, tool_source, app, guid=None, repository_id=None, tool_shed_repository=None, allow_code_files=True, dynamic=False)[source]¶ Bases:
galaxy.tools.DatabaseOperationTool
-
tool_type
= 'unzip_collection'¶
-
-
class
galaxy.tools.
ZipCollectionTool
(config_file, tool_source, app, guid=None, repository_id=None, tool_shed_repository=None, allow_code_files=True, dynamic=False)[source]¶ Bases:
galaxy.tools.DatabaseOperationTool
-
tool_type
= 'zip_collection'¶
-
-
class
galaxy.tools.
BuildListCollectionTool
(config_file, tool_source, app, guid=None, repository_id=None, tool_shed_repository=None, allow_code_files=True, dynamic=False)[source]¶ Bases:
galaxy.tools.DatabaseOperationTool
-
tool_type
= 'build_list'¶
-
-
class
galaxy.tools.
ExtractDatasetCollectionTool
(config_file, tool_source, app, guid=None, repository_id=None, tool_shed_repository=None, allow_code_files=True, dynamic=False)[source]¶ Bases:
galaxy.tools.DatabaseOperationTool
-
tool_type
= 'extract_dataset'¶
-
-
class
galaxy.tools.
MergeCollectionTool
(config_file, tool_source, app, guid=None, repository_id=None, tool_shed_repository=None, allow_code_files=True, dynamic=False)[source]¶ Bases:
galaxy.tools.DatabaseOperationTool
-
tool_type
= 'merge_collection'¶
-
-
class
galaxy.tools.
FilterDatasetsTool
(config_file, tool_source, app, guid=None, repository_id=None, tool_shed_repository=None, allow_code_files=True, dynamic=False)[source]¶
-
class
galaxy.tools.
FilterFailedDatasetsTool
(config_file, tool_source, app, guid=None, repository_id=None, tool_shed_repository=None, allow_code_files=True, dynamic=False)[source]¶ Bases:
galaxy.tools.FilterDatasetsTool
-
tool_type
= 'filter_failed_datasets_collection'¶
-
require_dataset_ok
= False¶
-
-
class
galaxy.tools.
FilterEmptyDatasetsTool
(config_file, tool_source, app, guid=None, repository_id=None, tool_shed_repository=None, allow_code_files=True, dynamic=False)[source]¶ Bases:
galaxy.tools.FilterDatasetsTool
-
tool_type
= 'filter_empty_datasets_collection'¶
-
require_dataset_ok
= False¶
-
-
class
galaxy.tools.
FlattenTool
(config_file, tool_source, app, guid=None, repository_id=None, tool_shed_repository=None, allow_code_files=True, dynamic=False)[source]¶ Bases:
galaxy.tools.DatabaseOperationTool
-
tool_type
= 'flatten_collection'¶
-
-
class
galaxy.tools.
SortTool
(config_file, tool_source, app, guid=None, repository_id=None, tool_shed_repository=None, allow_code_files=True, dynamic=False)[source]¶ Bases:
galaxy.tools.DatabaseOperationTool
-
tool_type
= 'sort_collection'¶
-
-
class
galaxy.tools.
RelabelFromFileTool
(config_file, tool_source, app, guid=None, repository_id=None, tool_shed_repository=None, allow_code_files=True, dynamic=False)[source]¶ Bases:
galaxy.tools.DatabaseOperationTool
-
tool_type
= 'relabel_from_file'¶
-
-
class
galaxy.tools.
ApplyRulesTool
(config_file, tool_source, app, guid=None, repository_id=None, tool_shed_repository=None, allow_code_files=True, dynamic=False)[source]¶ Bases:
galaxy.tools.DatabaseOperationTool
-
tool_type
= 'apply_rules'¶
-
-
class
galaxy.tools.
TagFromFileTool
(config_file, tool_source, app, guid=None, repository_id=None, tool_shed_repository=None, allow_code_files=True, dynamic=False)[source]¶ Bases:
galaxy.tools.DatabaseOperationTool
-
tool_type
= 'tag_from_file'¶
-
-
class
galaxy.tools.
FilterFromFileTool
(config_file, tool_source, app, guid=None, repository_id=None, tool_shed_repository=None, allow_code_files=True, dynamic=False)[source]¶ Bases:
galaxy.tools.DatabaseOperationTool
-
tool_type
= 'filter_from_file'¶
-
-
class
galaxy.tools.
TracksterConfig
(actions)[source]¶ Bases:
object
Trackster configuration encapsulation.
-
galaxy.tools.
tool_class
¶ alias of
galaxy.tools.DataDestinationTool
-
exception
galaxy.tools.
InterruptedUpload
[source]¶ Bases:
exceptions.Exception
Subpackages¶
- galaxy.tools.actions package
- galaxy.tools.data package
- galaxy.tools.data_manager package
- galaxy.tools.error_reports package
- Subpackages
- galaxy.tools.error_reports.plugins package
- Submodules
- galaxy.tools.error_reports.plugins.base_git module
- galaxy.tools.error_reports.plugins.email module
- galaxy.tools.error_reports.plugins.github module
- galaxy.tools.error_reports.plugins.gitlab module
- galaxy.tools.error_reports.plugins.influxdb module
- galaxy.tools.error_reports.plugins.json module
- galaxy.tools.error_reports.plugins.sentry module
- galaxy.tools.error_reports.plugins package
- Subpackages
- galaxy.tools.expressions package
- galaxy.tools.filters package
- galaxy.tools.imp_exp package
- galaxy.tools.parameters package
- Submodules
- galaxy.tools.parameters.basic module
- galaxy.tools.parameters.dataset_matcher module
- galaxy.tools.parameters.dynamic_options module
- galaxy.tools.parameters.grouping module
- galaxy.tools.parameters.history_query module
- galaxy.tools.parameters.input_translation module
- galaxy.tools.parameters.meta module
- galaxy.tools.parameters.sanitize module
- galaxy.tools.parameters.validation module
- galaxy.tools.parameters.wrapped module
- galaxy.tools.parameters.wrapped_json module
- galaxy.tools.search package
- galaxy.tools.toolbox package
- galaxy.tools.util package
Submodules¶
galaxy.tools.cache module¶
-
class
galaxy.tools.cache.
ToolCache
[source]¶ Bases:
object
Cache tool definitions to allow quickly reloading the whole toolbox.
-
cleanup
()[source]¶ Remove uninstalled tools from tool cache if they are not on disk anymore or if their content has changed.
Returns list of tool_ids that have been removed.
-
get_tool
(config_filename)[source]¶ Get the tool at config_filename from the cache if the tool is up to date.
-
galaxy.tools.data_fetch module¶
galaxy.tools.errors module¶
Functionality for dealing with tool errors.
galaxy.tools.evaluation module¶
-
class
galaxy.tools.evaluation.
ToolEvaluator
(app, tool, job, local_working_directory)[source]¶ Bases:
object
An abstraction linking together a tool and a job runtime to evaluate tool inputs in an isolated, testable manner.
-
set_compute_environment
(compute_environment, get_special=None)[source]¶ Setup the compute environment and established the outline of the param_dict for evaluating command and config cheetah templates.
-
build_param_dict
(incoming, input_datasets, output_datasets, output_collections, output_paths, job_working_directory, input_paths=[])[source]¶ Build the dictionary of parameters for substituting into the command line. Each value is wrapped in a InputValueWrapper, which allows all the attributes of the value to be used in the template, but when the __str__ method is called it actually calls the to_param_dict_string method of the associated input.
-
galaxy.tools.exception_handling module¶
-
class
galaxy.tools.exception_handling.
UCSCOutWrapper
(other)[source]¶ Bases:
object
File-like object that throws an exception if it encounters the UCSC limit error lines
-
exception
galaxy.tools.exception_handling.
UCSCLimitException
[source]¶ Bases:
exceptions.Exception
galaxy.tools.execute module¶
Once state information has been calculated, handle actually executing tools from various states, tracking results, and building implicit dataset collections from matched collections.
-
galaxy.tools.execute.
execute
(trans, tool, mapping_params, history, rerun_remap_job_id=None, collection_info=None, workflow_invocation_uuid=None, invocation_step=None, max_num_jobs=None, job_callback=None, completed_jobs=None, workflow_resource_parameters=None, validate_outputs=False)[source]¶ Execute a tool and return object containing summary (output data, number of failures, etc…).
galaxy.tools.repositories module¶
Provides a subset of app for verifying tools.
-
class
galaxy.tools.repositories.
ValidationContext
(app_name, security, model, tool_data_path, shed_tool_data_path, tool_data_tables=None, registry=None, hgweb_config_manager=None)[source]¶ Bases:
object
Minimal App object for tool validation.
galaxy.tools.test module¶
-
galaxy.tools.test.
parse_tests
(tool, tests_source)[source]¶ Build ToolTestDescription objects for each “<test>” elements and return default interactor (if any).
galaxy.tools.wrappers module¶
-
class
galaxy.tools.wrappers.
ToolParameterValueWrapper
[source]¶ Bases:
object
Base class for object that Wraps a Tool Parameter and Value.
-
class
galaxy.tools.wrappers.
RawObjectWrapper
(obj)[source]¶ Bases:
galaxy.tools.wrappers.ToolParameterValueWrapper
Wraps an object so that __str__ returns module_name:class_name.
-
class
galaxy.tools.wrappers.
InputValueWrapper
(input, value, other_values={})[source]¶ Bases:
galaxy.tools.wrappers.ToolParameterValueWrapper
Wraps an input so that __str__ gives the “param_dict” representation.
-
class
galaxy.tools.wrappers.
SelectToolParameterWrapper
(input, value, other_values={}, path_rewriter=None)[source]¶ Bases:
galaxy.tools.wrappers.ToolParameterValueWrapper
Wraps a SelectTooParameter so that __str__ returns the selected value, but all other attributes are accessible.
-
class
galaxy.tools.wrappers.
DatasetFilenameWrapper
(dataset, datatypes_registry=None, tool=None, name=None, dataset_path=None, identifier=None, formats=None)[source]¶ Bases:
galaxy.tools.wrappers.ToolParameterValueWrapper
Wraps a dataset so that __str__ returns the filename, but all other attributes are accessible.
-
class
MetadataWrapper
(metadata)[source]¶ Bases:
object
Wraps a Metadata Collection to return MetadataParameters wrapped according to the metadata spec. Methods implemented to match behavior of a Metadata Collection.
-
__init__
(dataset, datatypes_registry=None, tool=None, name=None, dataset_path=None, identifier=None, formats=None)[source]¶
-
element_identifier
¶
-
is_collection
¶
-
class
-
class
galaxy.tools.wrappers.
DatasetListWrapper
(job_working_directory, datasets, dataset_paths=[], **kwargs)[source]¶ Bases:
list
,galaxy.tools.wrappers.ToolParameterValueWrapper
,galaxy.tools.wrappers.HasDatasets
-
class
galaxy.tools.wrappers.
DatasetCollectionWrapper
(job_working_directory, has_collection, dataset_paths=[], **kwargs)[source]¶ Bases:
galaxy.tools.wrappers.ToolParameterValueWrapper
,galaxy.tools.wrappers.HasDatasets
-
is_collection
¶
-
element_identifier
¶
-
is_input_supplied
¶
-