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.toolbox package¶
API for this module containing functionality related to the toolbox.
-
class
galaxy.tools.toolbox.
AbstractToolBox
(config_filenames, tool_root_dir, app)[source]¶ Bases:
galaxy.util.dictifiable.Dictifiable
,galaxy.tools.toolbox.integrated_panel.ManagesIntegratedToolPanelMixin
Abstract container for managing a ToolPanel - containing tools and workflows optionally in labelled sections.
-
__init__
(config_filenames, tool_root_dir, app)[source]¶ Create a toolbox from the config files named by config_filenames, using tool_root_dir as the base directory for finding individual tool config files.
-
handle_panel_update
(section_dict)[source]¶ Extension-point for Galaxy-app specific reload logic.
This abstract representation of the toolbox shouldn’t have details about interacting with the rest of the Galaxy app or message queues, etc….
-
load_item
(item, tool_path, panel_dict=None, integrated_panel_dict=None, load_panel_dict=True, guid=None, index=None, internal=False)[source]¶
-
update_shed_config
(shed_conf)[source]¶ Update the in-memory descriptions of tools and write out the changes to integrated tool panel unless we are just deactivating a tool (since that doesn’t affect that file).
-
get_tool
(tool_id, tool_version=None, get_all_versions=False, exact=False)[source]¶ Attempt to locate a tool in the tool box. Note that exact only refers to the tool_id, not the tool_version.
-
is_missing_shed_tool
(tool_id)[source]¶ Confirm that the tool ID does reference a shed tool and is not installed.
-
get_tool_id
(tool_id)[source]¶ Take a tool id - potentially from a different Galaxy instance or that is no longer loaded - and find the closest match to the currently loaded tools (using get_tool for inexact matches which currently returns the oldest tool shed installed tool with the same short id).
-
get_loaded_tools_by_lineage
(tool_id)[source]¶ Get all loaded tools associated by lineage to the tool whose id is tool_id.
-
dynamic_conf_filenames
(include_migrated_tool_conf=False)[source]¶ Return list of dynamic tool configuration filenames (shed_tools). These must be used with various dynamic tool configuration update operations (e.g. with update_shed_config).
-
load_tool
(config_file, guid=None, repository_id=None, use_cached=False, **kwds)[source]¶ Load a single tool from the file named by config_file and return an instance of Tool.
Load a hidden tool (in this context meaning one that does not appear in the tool panel) and register it in _tools_by_id.
-
package_tool
(trans, tool_id)[source]¶ Create a tarball with the tool’s xml, help images, and test data. :param trans: the web transaction :param tool_id: the tool ID from app.toolbox :returns: tuple of tarball filename, success True/False, message/None
-
reload_tool_by_id
(tool_id)[source]¶ Attempt to reload the tool identified by ‘tool_id’, if successful replace the old tool.
-
remove_tool_by_id
(tool_id, remove_from_panel=True)[source]¶ Attempt to remove the tool identified by ‘tool_id’. Ignores tool lineage - so to remove a tool with potentially multiple versions send remove_from_panel=False and handle the logic of promoting the next newest version of the tool into the panel if needed.
-
find_section_id
(tool_panel_section_id)[source]¶ Find the section ID referenced by the key or return ‘’ indicating no such section id.
-
-
class
galaxy.tools.toolbox.
BaseGalaxyToolBox
(config_filenames, tool_root_dir, app)[source]¶ Bases:
galaxy.tools.toolbox.base.AbstractToolBox
Extend the AbstractToolBox with more Galaxy tooling-specific functionality. Adds dependencies on dependency resolution and tool loading modules, that an abstract description of panels shouldn’t really depend on.
-
sa_session
¶ Returns a SQLAlchemy session
-
-
class
galaxy.tools.toolbox.
ToolSection
(item=None)[source]¶ Bases:
galaxy.util.dictifiable.Dictifiable
,galaxy.tools.toolbox.panel.HasPanelItems
A group of tools with similar type/purpose that will be displayed as a group in the user interface.
-
dict_collection_visible_keys
= ['id', 'name', 'version']¶
-
-
class
galaxy.tools.toolbox.
ToolSectionLabel
(item)[source]¶ Bases:
galaxy.util.dictifiable.Dictifiable
A label for a set of tools that can be displayed above groups of tools and sections in the user interface
-
dict_collection_visible_keys
= ['id', 'text', 'version']¶
-
Subpackages¶
Submodules¶
galaxy.tools.toolbox.base module¶
-
class
galaxy.tools.toolbox.base.
AbstractToolBox
(config_filenames, tool_root_dir, app)[source]¶ Bases:
galaxy.util.dictifiable.Dictifiable
,galaxy.tools.toolbox.integrated_panel.ManagesIntegratedToolPanelMixin
Abstract container for managing a ToolPanel - containing tools and workflows optionally in labelled sections.
-
__init__
(config_filenames, tool_root_dir, app)[source]¶ Create a toolbox from the config files named by config_filenames, using tool_root_dir as the base directory for finding individual tool config files.
-
handle_panel_update
(section_dict)[source]¶ Extension-point for Galaxy-app specific reload logic.
This abstract representation of the toolbox shouldn’t have details about interacting with the rest of the Galaxy app or message queues, etc….
-
load_item
(item, tool_path, panel_dict=None, integrated_panel_dict=None, load_panel_dict=True, guid=None, index=None, internal=False)[source]¶
-
update_shed_config
(shed_conf)[source]¶ Update the in-memory descriptions of tools and write out the changes to integrated tool panel unless we are just deactivating a tool (since that doesn’t affect that file).
-
get_tool
(tool_id, tool_version=None, get_all_versions=False, exact=False)[source]¶ Attempt to locate a tool in the tool box. Note that exact only refers to the tool_id, not the tool_version.
-
is_missing_shed_tool
(tool_id)[source]¶ Confirm that the tool ID does reference a shed tool and is not installed.
-
get_tool_id
(tool_id)[source]¶ Take a tool id - potentially from a different Galaxy instance or that is no longer loaded - and find the closest match to the currently loaded tools (using get_tool for inexact matches which currently returns the oldest tool shed installed tool with the same short id).
-
get_loaded_tools_by_lineage
(tool_id)[source]¶ Get all loaded tools associated by lineage to the tool whose id is tool_id.
-
dynamic_conf_filenames
(include_migrated_tool_conf=False)[source]¶ Return list of dynamic tool configuration filenames (shed_tools). These must be used with various dynamic tool configuration update operations (e.g. with update_shed_config).
-
load_tool
(config_file, guid=None, repository_id=None, use_cached=False, **kwds)[source]¶ Load a single tool from the file named by config_file and return an instance of Tool.
Load a hidden tool (in this context meaning one that does not appear in the tool panel) and register it in _tools_by_id.
-
package_tool
(trans, tool_id)[source]¶ Create a tarball with the tool’s xml, help images, and test data. :param trans: the web transaction :param tool_id: the tool ID from app.toolbox :returns: tuple of tarball filename, success True/False, message/None
-
reload_tool_by_id
(tool_id)[source]¶ Attempt to reload the tool identified by ‘tool_id’, if successful replace the old tool.
-
remove_tool_by_id
(tool_id, remove_from_panel=True)[source]¶ Attempt to remove the tool identified by ‘tool_id’. Ignores tool lineage - so to remove a tool with potentially multiple versions send remove_from_panel=False and handle the logic of promoting the next newest version of the tool into the panel if needed.
-
find_section_id
(tool_panel_section_id)[source]¶ Find the section ID referenced by the key or return ‘’ indicating no such section id.
-
-
class
galaxy.tools.toolbox.base.
BaseGalaxyToolBox
(config_filenames, tool_root_dir, app)[source]¶ Bases:
galaxy.tools.toolbox.base.AbstractToolBox
Extend the AbstractToolBox with more Galaxy tooling-specific functionality. Adds dependencies on dependency resolution and tool loading modules, that an abstract description of panels shouldn’t really depend on.
-
sa_session
¶ Returns a SQLAlchemy session
-
galaxy.tools.toolbox.integrated_panel module¶
galaxy.tools.toolbox.panel module¶
-
class
galaxy.tools.toolbox.panel.
HasPanelItems
[source]¶ Bases:
object
-
class
galaxy.tools.toolbox.panel.
ToolSection
(item=None)[source]¶ Bases:
galaxy.util.dictifiable.Dictifiable
,galaxy.tools.toolbox.panel.HasPanelItems
A group of tools with similar type/purpose that will be displayed as a group in the user interface.
-
dict_collection_visible_keys
= ['id', 'name', 'version']¶
-
-
class
galaxy.tools.toolbox.panel.
ToolSectionLabel
(item)[source]¶ Bases:
galaxy.util.dictifiable.Dictifiable
A label for a set of tools that can be displayed above groups of tools and sections in the user interface
-
dict_collection_visible_keys
= ['id', 'text', 'version']¶
-
-
class
galaxy.tools.toolbox.panel.
ToolPanelElements
(dict=None)[source]¶ Bases:
galaxy.util.odict.odict
,galaxy.tools.toolbox.panel.HasPanelItems
Represents an ordered dictionary of tool entries - abstraction used both by tool panel itself (normal and integrated) and its sections.
galaxy.tools.toolbox.parser module¶
This module is used to parse tool_conf files.
These files define tool lists, sections, labels, etc… the elements of the Galaxy tool panel.
galaxy.tools.toolbox.tags module¶
Handle details of tool tagging - perhaps a deprecated feature.
Build a tool tag manager according to app’s configuration and return it.
Bases:
object
Starting to load tool panels, reset all tags.
Parse out tags and persist them.
galaxy.tools.toolbox.watcher module¶
-
class
galaxy.tools.toolbox.watcher.
ToolConfWatcher
(reload_callback, tool_cache=None)[source]¶ Bases:
object
-
class
galaxy.tools.toolbox.watcher.
ToolDataWatcher
(observer_class, tool_data_tables)[source]¶ Bases:
object
-
class
galaxy.tools.toolbox.watcher.
LocFileEventHandler
(loc_watcher)[source]¶ Bases:
watchdog.events.FileSystemEventHandler