Determine the path to the installation directory for each of the received tool dependencies. This path will be displayed within the tool dependencies container on the select_tool_panel_section or reselect_tool_panel_section pages when installing or reinstalling repositories that contain tools with the defined tool dependencies. The list of tool dependencies may be associated with more than a single repository.
Get or generate and return an error message associated with an invalid repository dependency.
Tool dependency definitions can only be invalid if they include a definition for a complex repository dependency and the repository dependency definition is invalid. This method retrieves the error message associated with the invalid tool dependency for display in the caller.
The designation of a ToolDependency into the “orphan” category has evolved over time, and is significantly restricted since the introduction of the TOOL_DEPENDENCY_DEFINITION repository type. This designation is still critical, however, in that it handles the case where a repository contains both tools and a tool_dependencies.xml file, but the definition in the tool_dependencies.xml file is in no way related to anything defined by any of the contained tool’s requirements tag sets. This is important in that it is often a result of a typo (e.g., dependency name or version) that differs between the tool dependency definition within the tool_dependencies.xml file and what is defined in the tool config’s <requirements> tag sets. In these cases, the user should be presented with a warning message, and this warning message is is in fact displayed if the following is_orphan attribute is True. This is tricky because in some cases it may be intentional, and tool dependencies that are categorized as “orphan” are in fact valid.
Return the lists of installed tool dependencies and missing tool dependencies for a Tool Shed repository that has been installed into Galaxy.
When installing one or more tool shed repositories for the first time, the received list of containers_dicts contains a containers_dict for each repository being installed. Since the repositories are being installed for the first time, all entries are None except the repository dependencies and tool dependencies. The entries for missing dependencies are all None since they have previously been merged into the installed dependencies. This method will merge the dependencies entries into a single container and return it for display.
Merge the list of missing repository dependencies into the list of installed repository dependencies.
Merge the list of missing tool dependencies into the list of installed tool dependencies.
populate_containers_dict_for_new_install(tool_shed_url, tool_path, readme_files_dict, installed_repository_dependencies, missing_repository_dependencies, installed_tool_dependencies, missing_tool_dependencies, updating=False)¶
Return the populated containers for a repository being installed for the first time or for an installed repository that is being updated and the updates include newly defined repository (and possibly tool) dependencies.
populate_containers_dict_from_repository_metadata(tool_shed_url, tool_path, repository, reinstalling=False, required_repo_info_dicts=None)¶
Retrieve necessary information from the received repository’s metadata to populate the containers_dict for display. This method is called only from Galaxy (not the tool shed) when displaying repository dependencies for installed repositories and when displaying them for uninstalled repositories that are being reinstalled.
populate_tool_dependencies_dicts(tool_shed_url, tool_path, repository_installed_tool_dependencies, repository_missing_tool_dependencies, required_repo_info_dicts)¶
Return the populated installed_tool_dependencies and missing_tool_dependencies dictionaries for all repositories defined by entries in the received required_repo_info_dicts.
tool_dependency_is_orphan(type, name, version, tools)¶
Determine if the combination of the received type, name and version is defined in the <requirement> tag for at least one tool in the received list of tools. If not, the tool dependency defined by the combination is considered an orphan in its repository in the tool shed.