API documentation for interacting with Galaxy

GalaxyInstance

class bioblend.galaxy.GalaxyInstance(url, key=None, email=None, password=None)[source]

A base representation of an instance of Galaxy, identified by a URL and a user’s API key.

After you have created an GalaxyInstance object, access various modules via the class fields (see the source for the most up-to-date list): libraries, histories, workflows, datasets, and users are the minimum set supported. For example, to work with histories, and get a list of all the user’s histories, the following should be done:

from bioblend import galaxy

gi = galaxy.GalaxyInstance(url='http://127.0.0.1:8000', key='your_api_key')

hl = gi.histories.get_histories()
print "List of histories:", hl
Parameters:
  • url (string) – A FQDN or IP for a given instance of Galaxy. For example: http://127.0.0.1:8080
  • key (string) – User’s API key for the given instance of Galaxy, obtained from the user preferences. If a key is not supplied, an email address and password must be and key will automatically be created for the user.
  • email (string) – Galaxy e-mail address corresponding to the user. Ignored if key is supplied directly.
  • password (string) – Password of Galaxy account corresponding to the above e-mail address. Ignored if key is supplied directly.
__init__(url, key=None, email=None, password=None)[source]

A base representation of an instance of Galaxy, identified by a URL and a user’s API key.

After you have created an GalaxyInstance object, access various modules via the class fields (see the source for the most up-to-date list): libraries, histories, workflows, datasets, and users are the minimum set supported. For example, to work with histories, and get a list of all the user’s histories, the following should be done:

from bioblend import galaxy

gi = galaxy.GalaxyInstance(url='http://127.0.0.1:8000', key='your_api_key')

hl = gi.histories.get_histories()
print "List of histories:", hl
Parameters:
  • url (string) – A FQDN or IP for a given instance of Galaxy. For example: http://127.0.0.1:8080
  • key (string) – User’s API key for the given instance of Galaxy, obtained from the user preferences. If a key is not supplied, an email address and password must be and key will automatically be created for the user.
  • email (string) – Galaxy e-mail address corresponding to the user. Ignored if key is supplied directly.
  • password (string) – Password of Galaxy account corresponding to the above e-mail address. Ignored if key is supplied directly.
get_retry_delay[source]
max_get_attempts[source]

Datasets

Contains possible interactions with the Galaxy Datasets

class bioblend.galaxy.datasets.DatasetClient(galaxy_instance)[source]
download_dataset(dataset_id, file_path=None, use_default_filename=True, wait_for_completion=False, maxwait=12000)[source]

Downloads the dataset identified by ‘id’.

Parameters:
  • dataset_id (str) – Encoded dataset ID
  • file_path (str) – If the file_path argument is provided, the dataset will be streamed to disk at that path (Should not contain filename if use_default_name=True). If the file_path argument is not provided, the dataset content is loaded into memory and returned by the method (Memory consumption may be heavy as the entire file will be in memory).
  • use_default_filename (bool) – If the use_default_name parameter is True, the exported file will be saved as file_path/%s, where %s is the dataset name. If use_default_name is False, file_path is assumed to contain the full file path including filename.
  • wait_for_completion (bool) – If wait_for_completion is True, this call will block until the dataset is ready. If the dataset state becomes invalid, a DatasetStateException will be thrown.
  • maxwait (float) – Time (in seconds) to wait for dataset to complete. If the dataset state is not complete within this time, a DatasetTimeoutException will be thrown.
Return type:

dict

Returns:

If a file_path argument is not provided, returns a dict containing the file_content. Otherwise returns nothing.

show_dataset(dataset_id, deleted=False, hda_ldda='hda')[source]

Display information about and/or content of a dataset. This can be a history or a library dataset.

Parameters:
  • dataset_id (str) – Encoded dataset ID
  • deleted (bool) – Whether to return results for a deleted dataset
  • hda_ldda (str) – Whether to show a history dataset (‘hda’ - the default) or library dataset (‘ldda’).
show_stderr(dataset_id)[source]

Display stderr output of a dataset.

Parameters:dataset_id (str) – Encoded dataset ID
show_stdout(dataset_id)[source]

Display stdout output of a dataset.

Parameters:dataset_id (str) – Encoded dataset ID
exception bioblend.galaxy.datasets.DatasetStateException(value)[source]
exception bioblend.galaxy.datasets.DatasetTimeoutException(value)[source]

Genomes

Contains possible interactions with the Galaxy Histories

class bioblend.galaxy.genomes.GenomeClient(galaxy_instance)[source]
get_genomes()[source]

Returns a list of installed genomes

install_genome(func='download', source=None, dbkey=None, ncbi_name=None, ensembl_dbkey=None, url_dbkey=None, indexers=None)[source]

Download and/or index a genome.

Parameters:
  • dbkey (str) – DB key of the build to download, ignored unless ‘UCSC’ is specified as the source
  • ncbi_name (str) – NCBI’s genome identifier, ignored unless NCBI is specified as the source
  • ensembl_dbkey (str) – Ensembl’s genome identifier, ignored unless Ensembl is specified as the source
  • url_dbkey (str) – DB key to use for this build, ignored unless URL is specified as the source
  • source (str) – Data source for this build. Can be: UCSC, Ensembl, NCBI, URL
  • indexers (list) – POST array of indexers to run after downloading (indexers[] = first, indexers[] = second, ...)
  • func (str) – Allowed values: ‘download’, Download and index; ‘index’, Index only
Return type:

dict

Returns:

dict( status: ‘ok’, job: <job ID> ) If error: dict( status: ‘error’, error: <error message> )

show_genome(id, num=None, chrom=None, low=None, high=None)[source]

Returns information about build <id>

Parameters:
  • id (str) – Genome build ID to use
  • num (str) – num
  • chrom (str) – chrom
  • low (str) – low
  • high (str) – high

Histories

Contains possible interactions with the Galaxy Histories

class bioblend.galaxy.histories.HistoryClient(galaxy_instance)[source]
create_dataset_collection(history_id, collection_description)[source]

Create a new dataset collection

Parameters:
  • history_id (str) – Encoded history ID
  • collection_description (str) – a description of the dataset collection
create_history(name=None)[source]

Create a new history, optionally setting the name.

Parameters:name (str) – Optional name for new history
Return type:dict
Returns:Dictionary containing information about newly created history
create_history_tag(history_id, tag)[source]

Create history tag

Parameters:
  • history_id (str) – Encoded history ID
  • tag (str) – Add tag to history
Return type:

dict

Returns:

A dictionary with information regarding the tag. For example:

{'model_class':'HistoryTagAssociation', 'user_tname': 'NGS_PE_RUN', 'id': 'f792763bee8d277a', 'user_value': None}

delete_dataset(history_id, dataset_id)[source]

Mark corresponding dataset as deleted.

Parameters:
  • history_id (str) – Encoded history ID
  • dataset_id (str) – Encoded dataset ID
delete_dataset_collection(history_id, dataset_collection_id)[source]

Mark corresponding dataset collection as deleted.

Parameters:
  • history_id (str) – Encoded history ID
  • dataset_collection_id (str) – Encoded dataset collection ID
delete_history(history_id, purge=False)[source]

Delete a history.

Parameters:
  • history_id (str) – Encoded history ID
  • purge (bool) – if True, also purge (permanently delete) the history

Note

For the purge option to work, the Galaxy instance must have the allow_user_dataset_purge option set to True in the config/galaxy.ini configuration file.

download_dataset(history_id, dataset_id, file_path, use_default_filename=True, to_ext=None)[source]

Download a dataset_id from history with history_id to a file on the local file system, saving it to file_path.

Parameters:to_ext (str) – this parameter is deprecated and ignored, it will be removed in BioBlend 0.6

Refer to bioblend.galaxy.dataset.DatasetClient.download_dataset() for the other available parameters.

download_history(history_id, jeha_id, outf, chunk_size=4096)[source]

Download a history export archive. Use export_history() to create an export.

Parameters:
  • history_id (str) – history ID
  • jeha_id (str) – jeha ID (this should be obtained via export_history())
  • outf (file) – output file object, open for writing
  • chunk_size (int) – how many bytes at a time should be read into memory
export_history(history_id, gzip=True, include_hidden=False, include_deleted=False, wait=False)[source]

Start a job to create an export archive for the given history.

Parameters:
  • history_id (str) – history ID
  • gzip (bool) – create .tar.gz archive if True, else .tar
  • include_hidden (bool) – whether to include hidden datasets in the export
  • include_deleted (bool) – whether to include deleted datasets in the export
  • wait (bool) – if True, block until the export is ready; else, return immediately
Return type:

str

Returns:

jeha_id of the export, or empty if wait is False and the export is not ready.

get_current_history()[source]

Deprecated method.

Just an alias for get_most_recently_used_history().

get_histories(history_id=None, name=None, deleted=False)[source]

Get all histories or filter the specific one(s) via the provided name or history_id. Provide only one argument, name or history_id, but not both.

If deleted is set to True, return histories that have been deleted.

Parameters:
  • history_id (str) – Encoded history ID to filter on
  • name (str) – Name of history to filter on
Return type:

dict

Returns:

Return a list of history element dicts. If more than one history matches the given name, return the list of all the histories with the given name.

get_most_recently_used_history()[source]

Returns the current user’s most recently used history (not deleted).

get_status(history_id)[source]

Returns the state of this history

Parameters:history_id (str) – Encoded history ID
Return type:dict
Returns:A dict documenting the current state of the history. Has the following keys: ‘state’ = This is the current state of the history, such as ok, error, new etc. ‘state_details’ = Contains individual statistics for various dataset states. ‘percent_complete’ = The overall number of datasets processed to completion.
show_dataset(history_id, dataset_id)[source]

Get details about a given history dataset.

Parameters:
  • history_id (str) – Encoded history ID
  • dataset_id (str) – Encoded dataset ID
show_dataset_collection(history_id, dataset_collection_id)[source]

Get details about a given history dataset collection.

Parameters:
  • history_id (str) – Encoded history ID
  • dataset_collection_id (str) – Encoded dataset collection ID
show_dataset_provenance(history_id, dataset_id, follow=False)[source]

Get details related to how dataset was created (id, job_id, tool_id, stdout, stderr, parameters, inputs, etc...).

Parameters:
  • history_id (str) – Encoded history ID
  • dataset_id (str) – Encoded dataset ID
  • follow (bool) – If follow is True, recursively fetch dataset provenance information for all inputs and their inputs, etc....
show_history(history_id, contents=False, deleted=None, visible=None, details=None, types=None)[source]

Get details of a given history. By default, just get the history meta information.

Parameters:
  • history_id (str) – Encoded history ID to filter on
  • contents (str) – When true, the complete list of datasets in the given history.
  • deleted (str) – Used when contents=True, includes deleted datasets is history dataset list
  • visible (str) – Used when contents=True, includes only visible datasets is history dataset list
  • details (str) – Used when contents=True, includes dataset details. Set to ‘all’ for the most information
  • types (str) –

    ???

show_matching_datasets(history_id, name_filter=None)[source]

Get dataset details for matching datasets within a history.

Parameters:
  • history_id (str) – Encoded history ID
  • name_filter (str) – Only datasets whose name matches the name_filter regular expression will be returned; use plain strings for exact matches and None to match all datasets in the history.
undelete_history(history_id)[source]

Undelete a history

Parameters:history_id (str) – Encoded history ID
update_dataset(history_id, dataset_id, **kwds)[source]

Update history dataset metadata. Some of the attributes that can be modified are documented below.

Parameters:
  • history_id (str) – Encoded history ID
  • dataset_id (str) – Id of the dataset
  • name (str) – Replace history dataset name with the given string
  • annotation (str) – Replace history dataset annotation with given string
  • deleted (bool) – Mark or unmark history dataset as deleted
  • visible (bool) – Mark or unmark history dataset as visible
Return type:

int

Returns:

status code

update_dataset_collection(history_id, dataset_collection_id, **kwds)[source]

Update history dataset collection metadata. Some of the attributes that can be modified are documented below.

Parameters:
  • history_id (str) – Encoded history ID
  • dataset_collection_id (str) – Encoded dataset_collection ID
  • name (str) – Replace history dataset collection name with the given string
  • deleted (bool) – Mark or unmark history dataset collection as deleted.
  • visible (bool) – Mark or unmark history dataset collection as visible.
Return type:

int

Returns:

status code

update_history(history_id, name=None, annotation=None, **kwds)[source]

Update history metadata information. Some of the attributes that can be modified are documented below.

Parameters:
  • history_id (str) – Encoded history ID
  • name (str) – Replace history name with the given string
  • annotation (str) – Replace history annotation with given string
  • deleted (bool) – Mark or unmark history as deleted
  • published (bool) – Mark or unmark history as published
  • importable (bool) – Mark or unmark history as importable
  • tags (list) – Replace history tags with the given list
Return type:

int

Returns:

status code

upload_dataset_from_library(history_id, lib_dataset_id)[source]

Upload a dataset into the history from a library. Requires the library dataset ID, which can be obtained from the library contents.

Parameters:
  • history_id (str) – Encoded history ID
  • lib_dataset_id (str) – Encoded library dataset ID

Libraries

Contains possible interactions with the Galaxy Data Libraries

class bioblend.galaxy.libraries.LibraryClient(galaxy_instance)[source]
copy_from_dataset(library_id, dataset_id, folder_id=None, message='')[source]

Copy a Galaxy dataset into a library.

Parameters:
  • library_id (str) – id of the library where to place the uploaded file
  • dataset_id (str) – id of the dataset to copy from
  • folder_id (str) – id of the folder where to place the uploaded files. If not provided, the root folder will be used
  • message (str) – message for copying action
create_folder(library_id, folder_name, description=None, base_folder_id=None)[source]

Create a folder in a library.

Parameters:
  • library_id (str) – library id to use
  • folder_name (str) – name of the new folder in the data library
  • description (str) – description of the new folder in the data library
  • base_folder_id (str) – id of the folder where to create the new folder. If not provided, the root folder will be used
create_library(name, description=None, synopsis=None)[source]

Create a data library with the properties defined in the arguments. Return a list of JSON dicts, looking like so:

:type name: str
:param name: Name of the new data library
Parameters:
  • description (str) – Optional data library description
  • synopsis (str) – Optional data library synopsis
Return type:

list

Returns:

List of dicts describing created library

[{“id”: “f740ab636b360a70”,

“name”: “Library from bioblend”, “url”: “/api/libraries/f740ab636b360a70”}]

delete_library(library_id)[source]

Delete a data library.

Parameters:library_id (str) – Encoded data library ID identifying the library to be deleted

Warning

Deleting a data library is irreversible - all of the data from the library will be permanently deleted.

delete_library_dataset(library_id, dataset_id, purged=False)[source]

Delete a library dataset in a data library.

Parameters:
  • library_id (str) – library id where dataset is found in
  • dataset_id (str) – id of the dataset to be deleted
  • purged (bool) – Indicate that the dataset should be purged (permanently deleted)
Return type:

dict

Returns:

A dictionary containing the dataset id and whether the dataset has been deleted For example:

{u'deleted': True, u'id': u'60e680a037f41974'}

get_folders(library_id, folder_id=None, name=None, deleted=False)[source]

Get all the folders or filter specific one(s) via the provided name or folder_id in data library with id library_id. Provide only one argument: name or folder_id, but not both.

Parameters:
  • folder_id (str) – filter for folder by folder id
  • name (str) – filter for folder by name. For name specify the full path of the folder starting from the library’s root folder, e.g. /subfolder/subsubfolder.
  • deleted (bool) – If set to True, return folders that have been deleted.
Return type:

dict

Returns:

list of dicts each containing basic information about a folder.

get_libraries(library_id=None, name=None, deleted=False)[source]

Get all the libraries or filter for specific one(s) via the provided name or ID. Provide only one argument: name or library_id, but not both.

Parameters:
  • library_id (str) – filter for library by library id
  • name (str) – If name is set and multiple names match the given name, all the libraries matching the argument will be returned.
  • deleted (bool) – If set to True, return libraries that have been deleted.
Return type:

dict

Returns:

list of dicts each containing basic information about a library.

set_library_permissions(library_id, access_in=None, modify_in=None, add_in=None, manage_in=None)[source]

Sets the permissions for a library. Note: it will override all security for this library even if you leave out a permission type.

Parameters:
  • library_id (str) – id of the library
  • access_in (list) – list of user ids
  • modify_in (list) – list of user ids
  • add_in (list) – list of user ids
  • manage_in (list) – list of user ids
show_dataset(library_id, dataset_id)[source]

Get details about a given library dataset. The required library_id can be obtained from the datasets’s library content details.

Parameters:
  • library_id (str) – library id where dataset is found in
  • dataset_id (str) – id of the dataset to be inspected
Return type:

dict

Returns:

A dictionary containing information about the dataset in the library

show_folder(library_id, folder_id)[source]

Get details about a given folder. The required folder_id can be obtained from the folder’s library content details.

Parameters:
  • library_id (str) – library id to inspect folders in
  • folder_id (str) – id of the folder to be inspected
show_library(library_id, contents=False)[source]

Get information about a library.

Parameters:
  • library_id (str) – filter for library by library id
  • contents (bool) – True if want to get contents of the library (rather than just the library details).
Return type:

list

Returns:

a list of dicts containing library details.

upload_file_contents(library_id, pasted_content, folder_id=None, file_type='auto', dbkey='?')[source]

Upload pasted_content to a data library as a new file.

Parameters:
  • library_id (str) – id of the library where to place the uploaded file
  • pasted_content (str) – Content to upload into the library
  • folder_id (str) – id of the folder where to place the uploaded file. If not provided, the root folder will be used
  • file_type (str) – Galaxy file format name
  • dbkey (str) – Dbkey
upload_file_from_local_path(library_id, file_local_path, folder_id=None, file_type='auto', dbkey='?')[source]

Read local file contents from file_local_path and upload data to a library.

Parameters:
  • library_id (str) – id of the library where to place the uploaded file
  • file_local_path (str) – path of local file to upload
  • folder_id (str) – id of the folder where to place the uploaded file. If not provided, the root folder will be used
  • file_type (str) – Galaxy file format name
  • dbkey (str) – Dbkey
upload_file_from_server(library_id, server_dir, folder_id=None, file_type='auto', dbkey='?', link_data_only=None, roles='')[source]

Upload all files in the specified subdirectory of the Galaxy library import directory to a library.

Note

For this method to work, the Galaxy instance must have the library_import_dir option configured in the config/galaxy.ini configuration file.

Parameters:
  • library_id (str) – id of the library where to place the uploaded file
  • server_dir (str) – relative path of the subdirectory of library_import_dir to upload. All and only the files (i.e. no subdirectories) contained in the specified directory will be uploaded.
  • folder_id (str) – id of the folder where to place the uploaded files. If not provided, the root folder will be used
  • file_type (str) – Galaxy file format name
  • dbkey (str) – Dbkey
  • link_data_only (str) – either ‘copy_files’ (default) or ‘link_to_files’. Setting to ‘link_to_files’ symlinks instead of copying the files
  • roles (str) –

    ???

upload_file_from_url(library_id, file_url, folder_id=None, file_type='auto', dbkey='?')[source]

Upload a file to a library from a URL.

Parameters:
  • library_id (str) – id of the library where to place the uploaded file
  • file_url (str) – URL of the file to upload
  • folder_id (str) – id of the folder where to place the uploaded file. If not provided, the root folder will be used
  • file_type (str) – Galaxy file format name
  • dbkey (str) – Dbkey
upload_from_galaxy_filesystem(library_id, filesystem_paths, folder_id=None, file_type='auto', dbkey='?', link_data_only=None, roles='')[source]

Upload a set of files already present on the filesystem of the Galaxy server to a library.

Note

For this method to work, the Galaxy instance must have the allow_library_path_paste option set to True in the config/galaxy.ini configuration file.

Parameters:
  • library_id (str) – id of the library where to place the uploaded file
  • filesystem_paths (str) – file paths on the Galaxy server to upload to the library, one file per line
  • folder_id (str) – id of the folder where to place the uploaded files. If not provided, the root folder will be used
  • file_type (str) – Galaxy file format name
  • dbkey (str) – Dbkey
  • link_data_only (str) – either ‘copy_files’ (default) or ‘link_to_files’. Setting to ‘link_to_files’ symlinks instead of copying the files
  • roles (str) –

    ???


Quotas

Contains possible interactions with the Galaxy Quota

class bioblend.galaxy.quotas.QuotaClient(galaxy_instance)[source]
get_quotas(deleted=False)[source]

Get a list of quotas

Parameters:deleted (bool) – Only return quota(s) that have been deleted
Return type:list
Returns:A list of dicts with details on individual quotas. For example:
[{   u'id': u'0604c8a56abe9a50',
u'model_class': u'Quota',
u'name': u'test ',
u'url': u'/api/quotas/0604c8a56abe9a50'},
{   u'id': u'1ee267091d0190af',
u'model_class': u'Quota',
u'name': u'workshop',
u'url': u'/api/quotas/1ee267091d0190af'}]
show_quota(quota_id, deleted=False)[source]

Display information on a quota

Parameters:
  • quota_id (str) – Encoded quota ID
  • deleted (bool) – Search for quota in list of ones already marked as deleted
Return type:

dict

Returns:

A description of quota For example:

{   u'bytes': 107374182400,
u'default': [],
u'description': u'just testing',
u'display_amount': u'100.0 GB',
u'groups': [],
u'id': u'0604c8a56abe9a50',
u'model_class': u'Quota',
u'name': u'test ',
u'operation': u'=',
u'users': []}


Tools

Contains possible interaction dealing with Galaxy tools.

class bioblend.galaxy.tools.ToolClient(galaxy_instance)[source]
get_tool_panel()[source]

Get a list of available tool elements in Galaxy’s configured toolbox.

Return type:list
Returns:List containing tools (if not in sections) or tool sections with nested tool descriptions.
get_tools(tool_id=None, name=None, trackster=None)[source]

Get all tools or filter the specific one(s) via the provided name or tool_id. Provide only one argument, name or tool_id, but not both.

If name is set and multiple names match the given name, all the tools matching the argument will be returned.

Parameters:
  • tool_id (str) – id of the requested tool
  • name (str) – name of the requested tool(s)
  • trackster (boolean) – if True, only tools that are compatible with Trackster are returned
Return type:

list

Returns:

List of tool descriptions.

paste_content(content, history_id, **kwds)[source]

Upload a string to a new dataset in the history specified by history_id.

Parameters:
  • content (str) – content of the new dataset to upload or a list of URLs (one per line) to upload
  • history_id (str) – id of the history where to upload the content

See upload_file() for the optional parameters (except file_name).

put_url(content, history_id, **kwds)

Upload a string to a new dataset in the history specified by history_id.

Parameters:
  • content (str) – content of the new dataset to upload or a list of URLs (one per line) to upload
  • history_id (str) – id of the history where to upload the content

See upload_file() for the optional parameters (except file_name).

run_tool(history_id, tool_id, tool_inputs)[source]

Runs tool specified by tool_id in history indicated by history_id with inputs from dict tool_inputs.

Parameters:
  • history_id (str) – encoded ID of the history in which to run the tool
  • tool_id (str) – ID of the tool to be run
  • tool_inputs (dict) – dictionary of input datasets and parameters for the tool (see below)

The tool_inputs dict should contain input datasets and parameters in the (largely undocumented) format used by the Galaxy API. Some examples can be found in https://bitbucket.org/galaxy/galaxy-central/src/tip/test/api/test_tools.py .

show_tool(tool_id, io_details=False, link_details=False)[source]

Get details of a given tool.

Parameters:
  • tool_id (str) – id of the requested tool
  • io_details (bool) – if True, get also input and output details
  • link_details (bool) – if True, get also link details
upload_file(path, history_id, **keywords)[source]

Upload file specified by path to the history specified by history_id.

Parameters:
  • path (str) – path of the file to upload
  • history_id (str) – id of the history where to upload the file
  • file_name (str) – (optional) name of the new history dataset
  • file_type (str) – Galaxy datatype for the new dataset, default is auto
  • dbkey (str) – (optional) genome dbkey

ToolShed

Interaction with a Galaxy Tool Shed

class bioblend.galaxy.toolshed.ToolShedClient(galaxy_instance)[source]
get_repositories()[source]

Get a list of all repositories in the Tool Shed

Return type:list
Returns:Returns a list of dictionaries containing information about repositories present in the Tool Shed. For example:
[{u'changeset_revision': u'4afe13ac23b6',
u'deleted': False,
u'dist_to_shed': False,
u'error_message': u'',
u'name': u'velvet_toolsuite',
u'owner': u'edward-kirton',
u'status': u'Installed'}]

Changed in version 0.4.1: Changed method name from get_tools to get_repositories to better align with the Tool Shed concepts

install_repository_revision(tool_shed_url, name, owner, changeset_revision, install_tool_dependencies=False, install_repository_dependencies=False, tool_panel_section_id=None, new_tool_panel_section_label=None)[source]

Install a specified repository revision from a specified Tool Shed into this Galaxy instance. This example demonstrates installation of a repository that contains valid tools, loading them into a section of the Galaxy tool panel or creating a new tool panel section. You can choose if tool dependencies or repository dependencies should be installed, use install_tool_dependencies or install_repository_dependencies.

Installing the repository into an existing tool panel section requires the tool panel config file (e.g., tool_conf.xml, shed_tool_conf.xml, etc) to contain the given tool panel section:

<section id=”from_test_tool_shed” name=”From Test Tool Shed” version=”“> </section>
Parameters:
  • tool_shed_url (str) – URL of the Tool Shed from which the repository should be installed from (e.g., http://testtoolshed.g2.bx.psu.edu)
  • name (str) – The name of the repository that should be installed
  • owner (str) – The name of the repository owner
  • changeset_revision (str) – The revision of the repository to be installed
  • install_tool_dependencies (bool) – Whether or not to automatically handle tool dependencies (see http://wiki.galaxyproject.org/AToolOrASuitePerRepository for more details)
  • install_repository_dependencies (bool) – Whether or not to automatically handle repository dependencies (see http://wiki.galaxyproject.org/DefiningRepositoryDependencies for more details)
  • tool_panel_section_id (str) – The ID of the Galaxy tool panel section where the tool should be insterted under. Note that you should specify either this parameter or the new_tool_panel_section_label. If both are specified, this one will take precedence.
  • new_tool_panel_section_label (str) – The name of a Galaxy tool panel section that should be created and the repository installed into.
show_repository(toolShed_id)[source]

Display information of a repository from the Tool Shed

Parameters:toolShed_id (str) – Encoded toolShed ID
Return type:dictionary
Returns:Information about the tool For example:
{u'changeset_revision': u'b17455fb6222',
u'ctx_rev': u'8',
u'owner': u'aaron',
u'status': u'Installed',
u'url': u'/api/tool_shed_repositories/82de4a4c7135b20a'}

Changed in version 0.4.1: Changed method name from show_tool to show_repository to better align with the Tool Shed concepts


Users

Contains possible interaction dealing with Galaxy users.

These methods must be executed by a registered Galaxy admin user.

class bioblend.galaxy.users.UserClient(galaxy_instance)[source]
create_local_user(username, user_email, password)[source]

Create a new Galaxy user.

Note

For this method to work, the Galaxy instance must have the allow_user_creation option set to True and use_remote_user option set to False in the config/galaxy.ini configuration file.

Parameters:
  • username (str) – Username of user to be created
  • user_email (str) – Email of user to be created
  • password (str) – password of user to be created
Return type:

dict

Returns:

dictionary containing information about the created user

create_remote_user(user_email)[source]

Create a new Galaxy remote user.

Note

For this method to work, the Galaxy instance must have the allow_user_creation and use_remote_user options set to True in the config/galaxy.ini configuration file. Also note that setting use_remote_user will require an upstream authentication proxy server; however, if you do not have one, access to Galaxy via a browser will not be possible.

Parameters:user_email (str) – Email of user to be created
Return type:dict
Returns:dictionary containing information about the created user
create_user(user_email)[source]

Deprecated method.

Just an alias for create_remote_user().

create_user_apikey(user_id)[source]

Create a new api key for a user

Parameters:user_id (str) – Encoded user ID
Return type:str
Returns:The api key for the user
get_current_user()[source]

Returns the user id associated with this Galaxy connection

Return type:dict
Returns:dictionary containing information about the current user
get_users(deleted=False)[source]

Get a list of all registered users. If deleted is set to True, get a list of deleted users.

Return type:list
Returns:A list of dicts with user details. For example:
[{u'email': u'a_user@example.com',
  u'id': u'dda47097d9189f15',
  u'url': u'/api/users/dda47097d9189f15'}]
show_user(user_id, deleted=False)[source]

Display information about a user. If deleted is set to True, display information about a deleted user.

Parameters:
  • user_id (str) – User ID to inspect
  • deleted (bool) – Whether to return results for a deleted user
Return type:

dict

Returns:

dictionary containing information about the user


Visual

Contains possible interactions with the Galaxy visualization

class bioblend.galaxy.visual.VisualClient(galaxy_instance)[source]
get_visualizations()[source]

Get a list of visualizations

Return type:list
Returns:A list of dicts with details on individual visualizations. For example:
[{   u'dbkey': u'eschColi_K12',
u'id': u'df1c7c96fc427c2d',
u'title': u'AVTest1',
u'type': u'trackster',
u'url': u'/api/visualizations/df1c7c96fc427c2d'},
{   u'dbkey': u'mm9',
u'id': u'a669f50f8bf55b02',
u'title': u'Bam to Bigwig',
u'type': u'trackster',
u'url': u'/api/visualizations/a669f50f8bf55b02'}]
show_visualization(visual_id)[source]

Display information on a visualization

Parameters:visual_id (str) – Encoded visualization ID
Return type:dict
Returns:A description of visualization For example:
{u'annotation': None,u'dbkey': u'mm9',
u'id': u'18df9134ea75e49c',
u'latest_revision': {  ... },
u'model_class': u'Visualization',
u'revisions': [   u'aa90649bb3ec7dcb',
u'20622bc6249c0c71'],
u'slug': u'visualization-for-grant-1',
u'title': u'Visualization For Grant',
u'type': u'trackster',
u'url': u'/u/azaron/v/visualization-for-grant-1',
u'user_id': u'21e4aed91386ca8b'}

Workflows

Contains possible interactions with the Galaxy Workflows

class bioblend.galaxy.workflows.WorkflowClient(galaxy_instance)[source]
delete_workflow(workflow_id)[source]

Delete a workflow identified by workflow_id.

Parameters:workflow_id (str) – Encoded workflow ID

Warning

Deleting a workflow is irreversible - all workflow data will be permanently deleted.

export_workflow_json(workflow_id)[source]

Exports a workflow

Parameters:workflow_id (str) – Encoded workflow ID
Return type:dict
Returns:Dict representing the workflow requested
export_workflow_to_local_path(workflow_id, file_local_path, use_default_filename=True)[source]

Exports a workflow in json format to a given local path.

Parameters:
  • workflow_id (str) – Encoded workflow ID
  • file_local_path (str) – Local path to which the exported file will be saved. (Should not contain filename if use_default_name=True)
  • use_default_filename (bool) – If the use_default_name parameter is True, the exported file will be saved as file_local_path/Galaxy-Workflow-%s.ga, where %s is the workflow name. If use_default_name is False, file_local_path is assumed to contain the full file path including filename.
get_workflow_inputs(workflow_id, label)[source]

Get a list of workflow input IDs that match the given label. If no input matches the given label, an empty list is returned.

Parameters:
  • workflow_id (str) – Encoded workflow ID
  • label (str) – label to filter workflow inputs on
Return type:

list

Returns:

list of workflow inputs matching the label query

get_workflows(workflow_id=None, name=None, deleted=False, published=False)[source]

Get all workflows or filter the specific one(s) via the provided name or workflow_id. Provide only one argument, name or workflow_id, but not both.

Parameters:
  • workflow_id (str) – Encoded workflow ID (incompatible with name)
  • name (str) – Filter by name of workflow (incompatible with workflow_id). If multiple names match the given name, all the workflows matching the argument will be returned.
  • deleted (bool) – this parameter is deprecated and ignored, it will be removed in BioBlend 0.6
  • published (bool) – if True, return also published workflows
Return type:

list

Returns:

A list of workflow dicts. For example:

[{u'id': u'92c56938c2f9b315',
  u'name': u'Simple',
  u'url': u'/api/workflows/92c56938c2f9b315'}]

import_shared_workflow(workflow_id)[source]

Imports a new workflow from the shared published workflows

Parameters:workflow_id (str) – Encoded workflow ID
Return type:dict
Returns:A description of the workflow. For example:
{u'id': u'ee0e2b4b696d9092',
 u'model_class': u'StoredWorkflow',
 u'name': u'Super workflow that solves everything!',
 u'published': False,
 u'tags': [],
 u'url': u'/api/workflows/ee0e2b4b696d9092'}
import_workflow_from_local_path(file_local_path)[source]

Imports a new workflow given the path to a file containing a previously exported workflow.

Parameters:file_local_path (str) – File to upload to the server for new workflow
import_workflow_json(workflow_json)[source]

Imports a new workflow given a json representation of a previously exported workflow.

Parameters:workflow_json (str) – JSON string representing the workflow to be imported
run_workflow(workflow_id, dataset_map=None, params=None, history_id=None, history_name=None, import_inputs_to_history=False, replacement_params=None)[source]

Run the workflow identified by workflow_id

Parameters:
  • workflow_id (str) – Encoded workflow ID
  • dataset_map (str or dict) – A mapping of workflow inputs to datasets. The datasets source can be a LibraryDatasetDatasetAssociation (ldda), LibraryDataset (ld), or HistoryDatasetAssociation (hda). The map must be in the following format: {'<input>': {'id': <encoded dataset ID>, 'src': '[ldda, ld, hda]'}} (e.g. {'23': {'id': '29beef4fadeed09f', 'src': 'ld'}})
  • params (str or dict) – A mapping of tool parameters that are non-datasets parameters. The map must be in the following format: {'blastn': {'param': 'evalue', 'value': '1e-06'}}
  • history_id (str) – The encoded history ID where to store the workflow output. history_id OR history_name should be provided but not both!
  • history_name (str) – Create a new history with the given name to store the workflow output. history_id OR history_name should be provided but not both!
  • import_inputs_to_history (bool) – If True, used workflow inputs will be imported into the history. If False, only workflow outputs will be visible in the given history.
  • replacement_params (dict) – pattern-based replacements for post-job actions (see below)
Return type:

dict

Returns:

A dict containing the history ID where the outputs are placed as well as output dataset IDs. For example:

{u'history': u'64177123325c9cfd',
 u'outputs': [u'aa4d3084af404259']}

The replacement_params dict should map parameter names in post-job actions (PJAs) to their runtime values. For instance, if the final step has a PJA like the following:

{u'RenameDatasetActionout_file1': {
   u'action_arguments': {u'newname': u'${output}'},
   u'action_type': u'RenameDatasetAction',
   u'output_name': u'out_file1'}}

then the following renames the output dataset to ‘foo’:

replacement_params = {'output': 'foo'}

see also this thread

show_workflow(workflow_id)[source]

Display information needed to run a workflow

Parameters:workflow_id (str) – Encoded workflow ID
Return type:list
Returns:A description of the workflow and its inputs as a JSON object. For example:
{u'id': u'92c56938c2f9b315',
 u'inputs': {u'23': {u'label': u'Input Dataset', u'value': u''}},
 u'name': u'Simple',
 u'url': u'/api/workflows/92c56938c2f9b315'}

Object-oriented Galaxy API

class bioblend.galaxy.objects.galaxy_instance.GalaxyInstance(url, api_key=None, email=None, password=None)[source]

A representation of an instance of Galaxy, identified by a URL and a user’s API key.

Parameters:
  • url (str) – a FQDN or IP for a given instance of Galaxy. For example: http://127.0.0.1:8080
  • api_key (str) – user’s API key for the given instance of Galaxy, obtained from the Galaxy web UI.

This is actually a factory class which instantiates the entity-specific clients.

Example: get a list of all histories for a user with API key ‘foo’:

from bioblend.galaxy.objects import *
gi = GalaxyInstance('http://127.0.0.1:8080', 'foo')
histories = gi.histories.list()
histories[source]

Client module for Galaxy histories.

libraries[source]

Client module for Galaxy libraries.

tools[source]

Client module for Galaxy tools.

workflows[source]

Client module for Galaxy workflows.

Client

Clients for interacting with specific Galaxy entity types.

Classes in this module should not be instantiated directly, but used via their handles in GalaxyInstance.

class bioblend.galaxy.objects.client.ObjClient(obj_gi)[source]
get_previews(name=None, **kwargs)[source]

Get object previews (listings).

Previews model entity summaries provided by REST collection URIs, e.g., http://host:port/api/libraries. Being the most lightweight objects associated to the various entities, these are the ones that should be used to retrieve basic info such as id and name.

Parameters:name (str) – return only objects with this name

Optional boolean kwargs for specific object types:

deleted (libraries and histories)
if True, return only deleted objects
published (workflows)
if True, return published workflows
Return type:list of Preview
class bioblend.galaxy.objects.client.ObjDatasetClient(obj_gi)[source]
class bioblend.galaxy.objects.client.ObjHistoryClient(obj_gi)[source]

Interacts with Galaxy histories.

create(name=None)[source]

Create a new Galaxy history, optionally setting its name.

Return type:History
Returns:the history just created
delete(id_=None, name=None, purge=False)[source]

Delete the history with the given id or name.

Note that the same name can map to multiple histories.

Parameters:purge (bool) – if True, also purge (permanently delete) the history

Note

For the purge option to work, the Galaxy instance must have the allow_user_dataset_purge option set to True in the config/galaxy.ini configuration file.

get(id_)[source]

Retrieve the history corresponding to the given id.

Return type:History
Returns:the history corresponding to id_
get_previews(name=None, deleted=False)[source]
list(name=None, deleted=False)[source]

Get histories owned by the user of this Galaxy instance.

Parameters:
  • name (str) – return only histories with this name
  • deleted (bool) – if True, return histories that have been deleted
Return type:

list of History

class bioblend.galaxy.objects.client.ObjLibraryClient(obj_gi)[source]

Interacts with Galaxy libraries.

create(name, description=None, synopsis=None)[source]

Create a data library with the properties defined in the arguments.

Return type:Library
Returns:the library just created
delete(id_=None, name=None)[source]

Delete the library with the given id or name.

Note that the same name can map to multiple libraries.

Warning

Deleting a data library is irreversible - all of the data from the library will be permanently deleted.

get(id_)[source]

Retrieve the data library corresponding to the given id.

Return type:Library
Returns:the library corresponding to id_
get_previews(name=None, deleted=False)[source]
list(name=None, deleted=False)[source]

Get libraries owned by the user of this Galaxy instance.

Parameters:
  • name (str) – return only libraries with this name
  • deleted (bool) – if True, return libraries that have been deleted
Return type:

list of Library

class bioblend.galaxy.objects.client.ObjToolClient(obj_gi)[source]

Interacts with Galaxy tools.

get(id_)[source]

Retrieve the tool corresponding to the given id.

Return type:Tool
Returns:the tool corresponding to id_
get_previews(name=None, trackster=None)[source]

Get the list of tools installed on the Galaxy instance.

Parameters:
  • name (str) – return only tools with this name
  • trackster (boolean) – if True, only tools that are compatible with Trackster are returned
Return type:

list of Tool

list(name=None, trackster=None)[source]

Get the list of tools installed on the Galaxy instance.

Parameters:
  • name (str) – return only tools with this name
  • trackster (boolean) – if True, only tools that are compatible with Trackster are returned
Return type:

list of Tool

class bioblend.galaxy.objects.client.ObjWorkflowClient(obj_gi)[source]

Interacts with Galaxy workflows.

delete(id_=None, name=None)[source]

Delete the workflow with the given id or name.

Note that the same name can map to multiple workflows.

Warning

Deleting a workflow is irreversible - all of the data from the workflow will be permanently deleted.

get(id_)[source]

Retrieve the workflow corresponding to the given id.

Return type:Workflow
Returns:the workflow corresponding to id_
get_previews(name=None, published=False)[source]
import_new(src)[source]

Imports a new workflow into Galaxy.

Parameters:src (dict or str) – deserialized (dictionary) or serialized (str) JSON dump of the workflow (this is normally obtained by exporting a workflow from Galaxy).
Return type:Workflow
Returns:the workflow just imported
import_shared(id_)[source]

Imports a shared workflow to the user’s space.

Parameters:id (str) – workflow id
Return type:Workflow
Returns:the workflow just imported
list(name=None, deleted=False, published=False)[source]

Get workflows owned by the user of this Galaxy instance.

Parameters:
  • name (str) – return only workflows with this name
  • deleted (bool) – this parameter is deprecated and ignored, it will be removed in BioBlend 0.6
  • published (bool) – if True, return also published workflows
Return type:

list of Workflow

Wrappers

A basic object-oriented interface for Galaxy entities.

class bioblend.galaxy.objects.wrappers.Wrapper(wrapped, parent=None, gi=None)[source]

Abstract base class for Galaxy entity wrappers.

Wrapper instances wrap deserialized JSON dictionaries such as the ones obtained by the Galaxy web API, converting key-based access to attribute-based access (e.g., library['name'] -> library.name).

Dict keys that are converted to attributes are listed in the BASE_ATTRS class variable: this is the ‘stable’ interface. Note that the wrapped dictionary is accessible via the wrapped attribute.

Parameters:
  • wrapped (dict) – JSON-serializable dictionary
  • parent (Wrapper) – the parent of this wrapper
  • gi (GalaxyInstance) – the GalaxyInstance through which we can access this wrapper
BASE_ATTRS = ('id', 'name')
clone()[source]

Return an independent copy of this wrapper.

classmethod from_json(jdef)[source]

Build a new wrapper from a JSON dump.

gi_module[source]

The GalaxyInstance module that deals with objects of this type.

is_mapped[source]

True if this wrapper is mapped to an actual Galaxy entity.

parent[source]

The parent of this wrapper.

to_json()[source]

Return a JSON dump of this wrapper.

touch()[source]

Mark this wrapper as having been modified since its creation.

unmap()[source]

Disconnect this wrapper from Galaxy.

class bioblend.galaxy.objects.wrappers.Step(step_dict, parent)[source]

Abstract base class for workflow steps.

Steps are the main building blocks of a Galaxy workflow. A step can refer to either an input dataset (type ‘data_input`) or a computational tool (type ‘tool`).

BASE_ATTRS = ('id', 'name', 'input_steps', 'tool_id', 'tool_inputs', 'tool_version', 'type')
gi_module[source]
class bioblend.galaxy.objects.wrappers.Workflow(wf_dict, gi=None)[source]

Workflows represent ordered sequences of computations on Galaxy.

A workflow defines a sequence of steps that produce one or more results from an input dataset.

BASE_ATTRS = ('id', 'name', 'deleted', 'inputs', 'published', 'steps', 'tags')
POLLING_INTERVAL = 10
convert_input_map(input_map)[source]

Convert input_map to the format required by the Galaxy web API.

Parameters:input_map (dict) – a mapping from input labels to datasets
Return type:dict
Returns:a mapping from input slot ids to dataset ids in the format required by the Galaxy web API.
data_input_ids[source]

Return the list of data input steps for this workflow.

delete()[source]

Delete this workflow.

Warning

Deleting a workflow is irreversible - all of the data from the workflow will be permanently deleted.

export()[source]

Export a re-importable representation of the workflow.

Return type:dict
Returns:a JSON-serializable dump of the workflow
gi_module[source]
input_labels[source]

Return the labels of this workflow’s input steps.

is_runnable[source]

Return True if the workflow can be run on Galaxy.

A workflow is considered runnable on a Galaxy instance if all of the tools it uses are installed in that instance.

preview()[source]
run(input_map=None, history='', params=None, import_inputs=False, replacement_params=None, wait=False, polling_interval=10, break_on_error=True)[source]

Run the workflow in the current Galaxy instance.

Parameters:
  • input_map (dict) – a mapping from workflow input labels to datasets, e.g.: dict(zip(workflow.input_labels, library.get_datasets()))
  • history (History or str) – either a valid history object (results will be stored there) or a string (a new history will be created with the given name).
  • params (Mapping) – parameter settings for workflow steps (see below)
  • import_inputs (bool) – If True, workflow inputs will be imported into the history; if False, only workflow outputs will be visible in the history.
  • replacement_params (Mapping) – pattern-based replacements for post-job actions (see the docs for run_workflow())
  • wait (boolean) – whether to wait while the returned datasets are in a pending state
  • polling_interval (float) – polling interval in seconds
  • break_on_error (boolean) – whether to break as soon as at least one of the returned datasets is in the ‘error’ state
Return type:

tuple

Returns:

list of output datasets, output history

The params dict should be structured as follows:

PARAMS = {STEP_ID: PARAM_DICT, ...}
PARAM_DICT = {NAME: VALUE, ...}

For backwards compatibility, the following (deprecated) format is also supported:

PARAMS = {TOOL_ID: PARAM_DICT, ...}

in which case PARAM_DICT affects all steps with the given tool id. If both by-tool-id and by-step-id specifications are used, the latter takes precedence.

Finally (again, for backwards compatibility), PARAM_DICT can also be specified as:

PARAM_DICT = {'param': NAME, 'value': VALUE}

Note that this format allows only one parameter to be set per step.

Example: set ‘a’ to 1 for the third workflow step:

params = {workflow.steps[2].id: {'a': 1}}

Warning

This is a blocking operation that can take a very long time. If wait is set to False, the method will return as soon as the workflow has been scheduled, otherwise it will wait until the workflow has been run. With a large number of steps, however, the delay may not be negligible even in the former case (e.g., minutes for 100 steps).

sorted_step_ids()[source]

Return a topological sort of the workflow’s DAG.

tool_ids[source]

Return the list of tool steps for this workflow.

class bioblend.galaxy.objects.wrappers.ContentInfo(info_dict, gi=None)[source]

Instances of this class wrap dictionaries obtained by getting /api/{histories,libraries}/<ID>/contents from Galaxy.

BASE_ATTRS = ('id', 'name', 'type')
class bioblend.galaxy.objects.wrappers.LibraryContentInfo(info_dict, gi=None)[source]

Instances of this class wrap dictionaries obtained by getting /api/libraries/<ID>/contents from Galaxy.

gi_module[source]
class bioblend.galaxy.objects.wrappers.HistoryContentInfo(info_dict, gi=None)[source]

Instances of this class wrap dictionaries obtained by getting /api/histories/<ID>/contents from Galaxy.

BASE_ATTRS = ('id', 'name', 'type', 'deleted', 'state', 'visible')
gi_module[source]
class bioblend.galaxy.objects.wrappers.DatasetContainer(c_dict, content_infos=None, gi=None)[source]

Abstract base class for dataset containers (histories and libraries).

Parameters:content_infos (list of ContentInfo) – info objects for the container’s contents
BASE_ATTRS = ('id', 'name', 'deleted')
dataset_ids[source]

Return the ids of the contained datasets.

get_dataset(ds_id)[source]

Retrieve the dataset corresponding to the given id.

Parameters:ds_id (str) – dataset id
Return type:HistoryDatasetAssociation or LibraryDataset
Returns:the dataset corresponding to ds_id
get_datasets(name=None)[source]

Get all datasets contained inside this dataset container.

Parameters:name (str) – return only datasets with this name
Return type:list of HistoryDatasetAssociation or list of LibraryDataset
Returns:datasets with the given name contained inside this container

Note

when filtering library datasets by name, specify their full paths starting from the library’s root folder, e.g., /seqdata/reads.fastq. Full paths are available through the content_infos attribute of Library objects.

preview()[source]
refresh()[source]

Re-fetch the attributes pertaining to this object.

Returns: self

class bioblend.galaxy.objects.wrappers.History(hist_dict, content_infos=None, gi=None)[source]

Maps to a Galaxy history.

API_MODULE = 'histories'
BASE_ATTRS = ('id', 'name', 'deleted', 'annotation', 'state', 'state_ids', 'state_details', 'tags')
CONTENT_INFO_TYPE

alias of HistoryContentInfo

DS_TYPE

alias of HistoryDatasetAssociation

delete(purge=False)[source]

Delete this history.

Parameters:purge (bool) – if True, also purge (permanently delete) the history

Note

For the purge option to work, the Galaxy instance must have the allow_user_dataset_purge option set to True in the config/galaxy.ini configuration file.

download(jeha_id, outf, chunk_size=4096)[source]

Download an export archive for this history. Use export() to create an export and get the required jeha_id. See download_history() for parameter and return value info.

export(gzip=True, include_hidden=False, include_deleted=False, wait=False)[source]

Start a job to create an export archive for this history. See export_history() for parameter and return value info.

gi_module[source]
import_dataset(lds)[source]

Import a dataset into the history from a library.

Parameters:lds (LibraryDataset) – the library dataset to import
Return type:HistoryDatasetAssociation
Returns:the imported history dataset
paste_content(content, **kwargs)[source]

Upload a string to a new dataset in this history.

Parameters:content (str) – content of the new dataset to upload

See upload_file() for the optional parameters.

Return type:HistoryDatasetAssociation
Returns:the uploaded dataset
update(name=None, annotation=None, **kwds)[source]

Update history metadata information. Some of the attributes that can be modified are documented below.

Parameters:
  • name (string) – Replace history name with the given string
  • annotation (string) – Replace history annotation with given string
  • deleted (boolean) – Mark or unmark history as deleted
  • published (boolean) – Mark or unmark history as published
  • importable (boolean) – Mark or unmark history as importable
  • tags (list) – Replace history tags with the given list
upload_dataset(path, **kwargs)

Upload the file specified by path to this history.

Parameters:path (str) – path of the file to upload

See upload_file() for the optional parameters.

Return type:HistoryDatasetAssociation
Returns:the uploaded dataset
upload_file(path, **kwargs)[source]

Upload the file specified by path to this history.

Parameters:path (str) – path of the file to upload

See upload_file() for the optional parameters.

Return type:HistoryDatasetAssociation
Returns:the uploaded dataset
class bioblend.galaxy.objects.wrappers.Library(lib_dict, content_infos=None, gi=None)[source]

Maps to a Galaxy library.

API_MODULE = 'libraries'
BASE_ATTRS = ('id', 'name', 'deleted', 'description', 'synopsis')
CONTENT_INFO_TYPE

alias of LibraryContentInfo

DS_TYPE

alias of LibraryDataset

copy_from_dataset(hda, folder=None, message='')[source]

Copy a history dataset into this library.

Parameters:hda (HistoryDatasetAssociation) – history dataset to copy into the library

See upload_data() for info on other params.

create_folder(name, description=None, base_folder=None)[source]

Create a folder in this library.

Parameters:
  • name (str) – folder name
  • description (str) – optional folder description
  • base_folder (Folder) – parent folder, or None to create in the root folder
Return type:

Folder

Returns:

the folder just created

delete()[source]

Delete this library.

folder_ids[source]

Return the ids of the contained folders.

get_folder(f_id)[source]

Retrieve the folder corresponding to the given id.

Return type:Folder
Returns:the folder corresponding to f_id
gi_module[source]
root_folder[source]

The root folder of this library.

Return type:Folder
Returns:the root folder of this library
upload_data(data, folder=None, **kwargs)[source]

Upload data to this library.

Parameters:
  • data (str) – dataset contents
  • folder (Folder) – a folder object, or None to upload to the root folder
Return type:

LibraryDataset

Returns:

the dataset object that represents the uploaded content

Optional keyword arguments: file_type, dbkey.

upload_from_galaxy_fs(paths, folder=None, link_data_only=None, **kwargs)[source]

Upload data to this library from filesystem paths on the server.

Note

For this method to work, the Galaxy instance must have the allow_library_path_paste option set to True in the config/galaxy.ini configuration file.

Parameters:
  • paths (str or Iterable of str) – server-side file paths from which data should be read
  • link_data_only (str) – either ‘copy_files’ (default) or ‘link_to_files’. Setting to ‘link_to_files’ symlinks instead of copying the files
Return type:

list of LibraryDataset

Returns:

the dataset objects that represent the uploaded content

See upload_data() for info on other params.

upload_from_local(path, folder=None, **kwargs)[source]

Upload data to this library from a local file.

Parameters:path (str) – local file path from which data should be read

See upload_data() for info on other params.

upload_from_url(url, folder=None, **kwargs)[source]

Upload data to this library from the given URL.

Parameters:url (str) – URL from which data should be read

See upload_data() for info on other params.

class bioblend.galaxy.objects.wrappers.Folder(f_dict, container, gi=None)[source]

Maps to a folder in a Galaxy library.

BASE_ATTRS = ('id', 'name', 'description', 'deleted', 'item_count')
container_id[source]

Deprecated property.

Id of the folder container. Use container.id instead.

gi_module[source]
parent[source]

The parent folder of this folder. The parent of the root folder is None.

Return type:Folder
Returns:the parent of this folder
refresh()[source]

Re-fetch the attributes pertaining to this object.

Returns: self

class bioblend.galaxy.objects.wrappers.Dataset(ds_dict, container, gi=None)[source]

Abstract base class for Galaxy datasets.

BASE_ATTRS = ('id', 'name', 'data_type', 'file_name', 'file_size', 'state', 'deleted', 'file_ext')
POLLING_INTERVAL = 1
container_id[source]

Deprecated property.

Id of the dataset container. Use container.id instead.

download(file_object, chunk_size=None)[source]

Open dataset for reading and save its contents to file_object.

Parameters:outf (file) – output file object

See get_stream() for info on other params.

get_contents(chunk_size=None)[source]

Open dataset for reading and return its full contents.

See get_stream() for param info.

get_stream(chunk_size=None)[source]

Open dataset for reading and return an iterator over its contents.

Parameters:chunk_size (int) – read this amount of bytes at a time

Warning

Due to a change in the Galaxy API endpoint, this method does not work on LibraryDataset instances with Galaxy release_2014.06.02. Methods that delegate work to this one are also affected: peek(), download() and get_contents().

peek(chunk_size=None)[source]

Open dataset for reading and return the first chunk.

See get_stream() for param info.

refresh()[source]

Re-fetch the attributes pertaining to this object.

Returns: self

wait(polling_interval=1, break_on_error=True)[source]

Wait for this dataset to come out of the pending states.

Parameters:
  • polling_interval (float) – polling interval in seconds
  • break_on_error (bool) – if True, raise a RuntimeError exception if the dataset ends in the ‘error’ state.

Warning

This is a blocking operation that can take a very long time. Also, note that this method does not return anything; however, this dataset is refreshed (possibly multiple times) during the execution.

class bioblend.galaxy.objects.wrappers.HistoryDatasetAssociation(ds_dict, container, gi=None)[source]

Maps to a Galaxy HistoryDatasetAssociation.

BASE_ATTRS = ('id', 'name', 'data_type', 'file_name', 'file_size', 'state', 'deleted', 'file_ext', 'tags', 'visible')
SRC = 'hda'
delete()[source]

Delete this dataset.

gi_module[source]
class bioblend.galaxy.objects.wrappers.LibraryDatasetDatasetAssociation(ds_dict, container, gi=None)[source]

Maps to a Galaxy LibraryDatasetDatasetAssociation.

SRC = 'ldda'
class bioblend.galaxy.objects.wrappers.LibraryDataset(ds_dict, container, gi=None)[source]

Maps to a Galaxy LibraryDataset.

SRC = 'ld'
delete(purged=False)[source]

Delete this library dataset.

Parameters:purged (bool) – if True, also purge (permanently delete) the dataset
class bioblend.galaxy.objects.wrappers.Tool(t_dict, gi=None)[source]

Maps to a Galaxy tool.

BASE_ATTRS = ('id', 'name', 'version')
POLLING_INTERVAL = 10
gi_module[source]
run(inputs, history, wait=False, polling_interval=10)[source]

Execute this tool in the given history with inputs from dict inputs.

Parameters:
  • inputs (dict) – dictionary of input datasets and parameters for the tool (see below)
  • history (History) – the history where to execute the tool
  • wait (boolean) – whether to wait while the returned datasets are in a pending state
  • polling_interval (float) – polling interval in seconds
Return type:

list of HistoryDatasetAssociation

Returns:

list of output datasets

The inputs dict should contain input datasets and parameters in the (largely undocumented) format used by the Galaxy API. Some examples can be found in Galaxy’s API test suite. The value of an input dataset can also be a Dataset object, which will be automatically converted to the needed format.

class bioblend.galaxy.objects.wrappers.Preview(pw_dict, gi=None)[source]

Abstract base class for Galaxy entity ‘previews’.

Classes derived from this one model the short summaries returned by global getters such as /api/libraries.

BASE_ATTRS = ('id', 'name', 'deleted')
class bioblend.galaxy.objects.wrappers.LibraryPreview(pw_dict, gi=None)[source]

Models Galaxy library ‘previews’.

Instances of this class wrap dictionaries obtained by getting /api/libraries from Galaxy.

gi_module[source]
class bioblend.galaxy.objects.wrappers.HistoryPreview(pw_dict, gi=None)[source]

Models Galaxy history ‘previews’.

Instances of this class wrap dictionaries obtained by getting /api/histories from Galaxy.

BASE_ATTRS = ('id', 'name', 'deleted', 'tags')
gi_module[source]
class bioblend.galaxy.objects.wrappers.WorkflowPreview(pw_dict, gi=None)[source]

Models Galaxy workflow ‘previews’.

Instances of this class wrap dictionaries obtained by getting /api/workflows from Galaxy.

BASE_ATTRS = ('id', 'name', 'deleted', 'published', 'tags')
gi_module[source]