API documentation for interacting with the Galaxy Toolshed¶
ToolShedInstance¶
-
class
bioblend.toolshed.
ToolShedInstance
(url, key='', email=None, password=None)[source]¶ A base representation of an instance of ToolShed, identified by a URL and a user’s API key.
After you have created an
ToolShed
object, access various modules via the class fields (see the source for the most up-to-date list):repositories
are the minimum set supported. For example, to work with a repositories, and get a list of all the public repositories, the following should be done:from bioblend import toolshed ts = toolshed.ToolShedInstance(url='http://testtoolshed.g2.bx.psu.edu') rl = ts.repositories.get_repositories()
Parameters: - url (string) – A FQDN or IP for a given instance of ToolShed. For example: http://testtoolshed.g2.bx.psu.edu
- key (string) – If required, user’s API key for the given instance of ToolShed, obtained from the user preferences.
-
__init__
(url, key='', email=None, password=None)[source]¶ A base representation of an instance of ToolShed, identified by a URL and a user’s API key.
After you have created an
ToolShed
object, access various modules via the class fields (see the source for the most up-to-date list):repositories
are the minimum set supported. For example, to work with a repositories, and get a list of all the public repositories, the following should be done:from bioblend import toolshed ts = toolshed.ToolShedInstance(url='http://testtoolshed.g2.bx.psu.edu') rl = ts.repositories.get_repositories()
Parameters: - url (string) – A FQDN or IP for a given instance of ToolShed. For example: http://testtoolshed.g2.bx.psu.edu
- key (string) – If required, user’s API key for the given instance of ToolShed, obtained from the user preferences.
Repositories¶
Interaction with a Tool Shed instance
-
class
bioblend.toolshed.repositories.
ToolShedClient
(toolshed_instance)[source]¶ -
create_repository
(name, synopsis, description=None, type='unrestricted', remote_repository_url=None, homepage_url=None, category_ids=None)[source]¶ Create a new repository in a Tool Shed
Parameters: - name (str) – Name of the repository
- synopsis (str) – Synopsis of the repository
- description (str) – Optional description of the repository
- type (str) – type of the repository. One of “unrestricted”, “repository_suite_definition”, or “tool_dependency_definition”
- remote_repository_url (str) – Remote URL (e.g. github/bitbucket repository)
- homepage_url (str) – Upstream’s homepage for the project.
- category_ids (list) – List of encoded category IDs
Return type: dict
Returns: a dictionary containing information about the new repository. For example:
{ "deleted": false, "deprecated": false, "description": "new_synopsis", "homepage_url": "https://github.com/galaxyproject/", "id": "8cf91205f2f737f4", "long_description": "this is some repository", "model_class": "Repository", "name": "new_repo_17", "owner": "qqqqqq", "private": false, "remote_repository_url": "https://github.com/galaxyproject/tools-devteam", "times_downloaded": 0, "type": "unrestricted", "user_id": "adb5f5c93f827949" }
-
get_categories
()[source]¶ Returns a list of dictionaries that contain descriptions of the repository categories found on the given Tool Shed instance.
Return type: list Returns: A list of dictionaries containing information about repository categories present in the Tool Shed. For example: [{u'deleted': False, u'description': u'Tools for manipulating data', u'id': u'175812cd7caaf439', u'model_class': u'Category', u'name': u'Text Manipulation', u'url': u'/api/categories/175812cd7caaf439'},]
New in version 0.5.2.
-
get_ordered_installable_revisions
(name, owner)[source]¶ Returns the ordered list of changeset revision hash strings that are associated with installable revisions. As in the changelog, the list is ordered oldest to newest.
Parameters: - name (string) – the name of the repository
- owner (string) – the owner of the repository
Return type: Returns: List of changeset revision hash string from oldest to newest
-
get_repositories
()[source]¶ Get a list of all the repositories in a Galaxy Tool Shed
Return type: list Returns: Returns a list of dictionaries containing information about repositories present in the Tool Shed. For example: [{u'times_downloaded': 0, u'user_id': u'5cefd48bc04af6d4', u'description': u'Order Contigs', u'deleted': False, u'deprecated': False, u'private': False, u'url': u'/api/repositories/287bd69f724b99ce', u'owner': u'billybob', u'id': u'287bd69f724b99ce', u'name': u'best_tool_ever'}]
Changed in version 0.4.1: Changed method name from
get_tools
toget_repositories
to better align with the Tool Shed concepts
-
get_repository_revision_install_info
(name, owner, changeset_revision)[source]¶ Return a list of dictionaries of metadata about a certain changeset revision for a single tool.
Parameters: - name (string) – the name of the repository
- owner (string) – the owner of the repository
- changeset_revision (string) – the changset_revision of the RepositoryMetadata object associated with the repository
Return type: List of dictionaries
Returns: - Returns a list of the following dictionaries:
- a dictionary defining the repository
- a dictionary defining the repository revision (RepositoryMetadata)
- a dictionary including the additional information required to install the repository
For example:
[{u'times_downloaded': 269, u'user_id': u'1de29d50c3c44272', u'description': u'Galaxy Freebayes Bayesian genetic variant detector tool', u'deleted': False, u'deprecated': False, u'private': False, u'long_description': u'Galaxy Freebayes Bayesian genetic variant detector tool originally included in the Galaxy code distribution but migrated to the tool shed.', u'url': u'/api/repositories/491b7a3fddf9366f', u'owner': u'devteam', u'id': u'491b7a3fddf9366f', u'name': u'freebayes'}, {u'repository_id': u'491b7a3fddf9366f', u'has_repository_dependencies': False, u'includes_tools_for_display_in_tool_panel': True, u'url': u'/api/repository_revisions/504be8aaa652c154', u'malicious': False, u'includes_workflows': False, u'downloadable': True, u'includes_tools': True, u'changeset_revision': u'd291dc763c4c', u'id': u'504be8aaa652c154', u'includes_tool_dependencies': True, u'includes_datatypes': False}, {u'freebayes': [u'Galaxy Freebayes Bayesian genetic variant detector tool', u'http://takadonet@toolshed.g2.bx.psu.edu/repos/devteam/freebayes', u'd291dc763c4c', u'9', u'devteam', {}, {u'freebayes/0.9.6_9608597d12e127c847ae03aa03440ab63992fedf': {u'repository_name': u'freebayes', u'name': u'freebayes', u'readme': u'FreeBayes requires g++ and the standard C and C++ development libraries. Additionally, cmake is required for building the BamTools API.', u'version': u'0.9.6_9608597d12e127c847ae03aa03440ab63992fedf', u'repository_owner': u'devteam', u'changeset_revision': u'd291dc763c4c', u'type': u'package'}, u'samtools/0.1.18': {u'repository_name': u'freebayes', u'name': u'samtools', u'readme': u'Compiling SAMtools requires the ncurses and zlib development libraries.', u'version': u'0.1.18', u'repository_owner': u'devteam', u'changeset_revision': u'd291dc763c4c', u'type': u'package'}}]}]
-
repository_revisions
(downloadable=None, malicious=None, tools_functionally_correct=None, missing_test_components=None, do_not_test=None, includes_tools=None, test_install_error=None, skip_tool_test=None)[source]¶ Returns a (possibly filtered) list of dictionaries that include information about all repository revisions. The following parameters can be used to filter the list.
Parameters: - downloadable (Boolean) – Can the tool be downloaded
- malicious (Boolean) –
- tools_functionally_correct (Boolean) –
- missing_test_components (Boolean) –
- do_not_test (Boolean) –
- includes_tools (Boolean) –
- test_install_error (Boolean) –
- skip_tool_test (Boolean) –
Return type: List of dictionaries
Returns: Returns a (possibly filtered) list of dictionaries that include information about all repository revisions. For example:
[{u'repository_id': u'78f2604ff5e65707', u'has_repository_dependencies': False, u'includes_tools_for_display_in_tool_panel': True, u'url': u'/api/repository_revisions/92250afff777a169', u'malicious': False, u'includes_workflows': False, u'downloadable': True, u'includes_tools': True, u'changeset_revision': u'6e26c5a48e9a', u'id': u'92250afff777a169', u'includes_tool_dependencies': False, u'includes_datatypes': False}, {u'repository_id': u'f9662009da7bfce0', u'has_repository_dependencies': False, u'includes_tools_for_display_in_tool_panel': True, u'url': u'/api/repository_revisions/d3823c748ae2205d', u'malicious': False, u'includes_workflows': False, u'downloadable': True, u'includes_tools': True, u'changeset_revision': u'15a54fa11ad7', u'id': u'd3823c748ae2205d', u'includes_tool_dependencies': False, u'includes_datatypes': False}]
-
show_repository
(toolShed_id)[source]¶ Display information of a repository from Tool Shed
Parameters: toolShed_id (string) – Encoded toolShed ID Return type: dictionary Returns: Information about the tool For example: {{u'times_downloaded': 0, u'user_id': u'5cefd48bc04af6d4', u'description': u'Order Contigs', u'deleted': False, u'deprecated': False, u'private': False, u'url': u'/api/repositories/287bd69f724b99ce', u'owner': u'billybob', u'id': u'287bd69f724b99ce', u'name': u'best_tool_ever'}
Changed in version 0.4.1: Changed method name from
show_tool
toshow_repository
to better align with the Tool Shed concepts
-
show_repository_revision
(metadata_id)[source]¶ Returns a dictionary that includes information about a specified repository revision.
Parameters: metadata_id (string) – Encoded repository metadata ID Return type: dictionary Returns: Returns a dictionary that includes information about a specified repository revision. For example: {u'repository_id': u'491b7a3fddf9366f', u'has_repository_dependencies': False, u'includes_tools_for_display_in_tool_panel': True, u'test_install_error': False, u'url': u'/api/repository_revisions/504be8aaa652c154', u'malicious': False, u'includes_workflows': False, u'id': u'504be8aaa652c154', u'do_not_test': False, u'downloadable': True, u'includes_tools': True, u'tool_test_results': {u'missing_test_components': [],, u'includes_datatypes': False}
-
update_repository
(id, tar_ball_path, commit_message=None)[source]¶ Update the contents of a tool shed repository with specified tar ball.
Parameters: - id (string) – Encoded repository ID
- tar_ball_path (string) – Path to file containing tar ball to upload.
- commit_message (string) – Commit message used for underlying mercurial repository backing tool shed repository.
Return type: dict
Returns: Returns a dictionary that includes repository content warnings. Most valid uploads will result in no such warning and an exception will be raised generally if there are problems.
For example a successful upload will look like:
{u'content_alert': u'', u'message': u''}
New in version 0.5.2.
-