API documentation for interacting with Galaxy — BioBlend 0.5.4-dev documentation

# API documentation for interacting with Galaxy

## GalaxyInstance

class `bioblend.galaxy.` `GalaxyInstance`(url, key=None, email=None, password=None)

  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()

  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)

    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()

    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`
  `max_get_attempts`

## Datasets

Contains possible interactions with the Galaxy Datasets

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

    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')

    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)

    Display stderr output of a dataset.

    Parameters: | dataset_id (str) – Encoded dataset ID

  `show_stdout`(dataset_id)

    Display stdout output of a dataset.

    Parameters: | dataset_id (str) – Encoded dataset ID

exception `bioblend.galaxy.datasets.` `DatasetStateException`(value)

exception `bioblend.galaxy.datasets.` `DatasetTimeoutException`(value)

## Datatypes

Contains possible interactions with the Galaxy Datatype

class `bioblend.galaxy.datatypes.` `DatatypesClient`(galaxy_instance)
  `get_datatypes`(extension_only=False, upload_only=False)

    Displays a collection (list) of datatypes.

    Return type: | list
    Returns: | A list of dicts with details on individual datatypes. For example:
        [ u'snpmatrix',
    u’snptest’, u’tabular’, u’taxonomy’, u’twobit’, u’txt’, u’vcf’, u’wig’, u’xgmml’, u’xml’]

  `get_sniffers`()

    Displays a collection (list) of sniffers.

    Return type: | list
    Returns: | A list of individual sniffers. For example:
        [u'galaxy.datatypes.tabular:Vcf',
    u’galaxy.datatypes.binary:TwoBit’, u’galaxy.datatypes.binary:Bam’, u’galaxy.datatypes.binary:Sff’, u’galaxy.datatypes.xml:Phyloxml’, u’galaxy.datatypes.xml:GenericXml’, u’galaxy.datatypes.sequence:Maf’, u’galaxy.datatypes.sequence:Lav’, u’galaxy.datatypes.sequence:csFasta’]

## Folders

Contains possible interactions with the Galaxy library folders

class `bioblend.galaxy.folders.` `FoldersClient`(galaxy_instance)
  `delete_folder`(folder_id, undelete=False)

    Marks the folder with the given `id` as deleted (or removes the deleted mark if the undelete param is True).

    Parameters: | folder_id (str) – the folder’s encoded id, prefixed by ‘F’ undelete (bool) – If set to True, the folder will be undeleted (i.e. the deleted mark will be removed)
    Returns: | detailed folder information
    Return type: | dict

  `show_folder`(folder_id)

    Display information about a folder.

    Parameters: | folder_id (str) – the folder’s encoded id, prefixed by ‘F’
    Return type: | dict
    Returns: | dictionary including details of the folder

## Forms

Contains possible interactions with the Galaxy Forms

class `bioblend.galaxy.forms.` `FormsClient`(galaxy_instance)
  `create_form`(form_xml_text)

    Create a new form

    Parameters: | form_xml_text (str) – Form xml to create a form on galaxy instance
    Return type: | str
    Returns: | Unique url of newly created form with encoded id

  `get_forms`()

    Get a list of forms

    Return type: | list
    Returns: | Displays a collection (list) of forms. For example:
        [   {   u'id': u'f2db41e1fa331b3e',
        u'model_class': u'FormDefinition',
        u'name': u'First form',
        u'url': u'/api/forms/f2db41e1fa331b3e'},
        {   u'id': u'ebfb8f50c6abde6d',
        u'model_class': u'FormDefinition',
        u'name': u'second form',
        u'url': u'/api/forms/ebfb8f50c6abde6d'}]

  `show_form`(form_id)

    Display information on a single form

    Parameters: | form_id (str) – Encoded form ID
    Return type: | dict
    Returns: | A description of single form For example:
        {   u'desc': u'here it is ',
        u'fields': [],
        u'form_definition_current_id': u'f2db41e1fa331b3e',
        u'id': u'f2db41e1fa331b3e',
        u'layout': [],
        u'model_class': u'FormDefinition',
        u'name': u'First form',
        u'url': u'/api/forms/f2db41e1fa331b3e'}

## FTP files

Contains possible interactions with the Galaxy FTP Files

class `bioblend.galaxy.ftpfiles.` `FTPFilesClient`(galaxy_instance)
  `get_ftp_files`(deleted=False)

    Get a list of local files

    Return type: | list
    Returns: | A list of dicts with details on individual files on ftp.

## Genomes

Contains possible interactions with the Galaxy Histories

class `bioblend.galaxy.genomes.` `GenomeClient`(galaxy_instance)
  `get_genomes`()

    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)

    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)

    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

## Groups

Contains possible interactions with the Galaxy Groups

class `bioblend.galaxy.groups.` `GroupsClient`(galaxy_instance)
  `add_group_role`(group_id, role_id)

    Add a role to the given group.

    Parameters: | group_id (str) – Encoded group ID role_id (str) – Encoded role ID to add to the group
    Return type: | dict
    Returns: | Added group role’s info

  `add_group_user`(group_id, user_id)

    Add a user to the given group.

    Parameters: | group_id (str) – Encoded group ID user_id (str) – Encoded user ID to add to the group
    Return type: | dict
    Returns: | Added group user’s info

  `create_group`(group_name, user_ids=[], role_ids=[])

    Create a new group.

    Parameters: | group_name (str) – A name for the new group user_ids (list) – A list of encoded user IDs to add to the new group role_ids (list) – A list of encoded role IDs to add to the new group
    Return type: | list
    Returns: | A (size 1) list with newly created group details, like:
        [{u'id': u'7c9636938c3e83bf',
          u'model_class': u'Group',
          u'name': u'My Group Name',
          u'url': u'/api/groups/7c9636938c3e83bf'}]

  `delete_group_role`(group_id, role_id)

    Remove a role from the given group.

    Parameters: | group_id (str) – Encoded group ID role_id (str) – Encoded role ID to remove from the group

  `delete_group_user`(group_id, user_id)

    Remove a user from the given group.

    Parameters: | group_id (str) – Encoded group ID user_id (str) – Encoded user ID to remove from the group

  `get_group_roles`(group_id)

    Get the list of roles associated to the given group.

    Parameters: | group_id (str) – Encoded group ID
    Return type: | list of dicts
    Returns: | List of group roles’ info

  `get_group_users`(group_id)

    Get the list of users associated to the given group.

    Parameters: | group_id (str) – Encoded group ID
    Return type: | list of dicts
    Returns: | List of group users’ info

  `get_groups`()

    Get all (not deleted) groups.

    Return type: | list
    Returns: | A list of dicts with details on individual groups. For example:
        [ {"name": "Listeria", "url": "/api/groups/33abac023ff186c2",
        "model_class": "Group", "id": "33abac023ff186c2"},
        {"name": "LPN", "url": "/api/groups/73187219cd372cf8",
        "model_class": "Group", "id": "73187219cd372cf8"}
        ]

  `show_group`(group_id)

    Get details of a given group.

    Parameters: | group_id (str) – Encoded group ID
    Return type: | dict
    Returns: | A description of group For example:
        {"roles_url": "/api/groups/33abac023ff186c2/roles",
        "name": "Listeria", "url": "/api/groups/33abac023ff186c2",
        "users_url": "/api/groups/33abac023ff186c2/users",
        "model_class": "Group", "id": "33abac023ff186c2"}

  `update_group`(group_id, group_name=None, user_ids=[], role_ids=[])

    Update a group.

    Parameters: | group_id (str) – Encoded group ID group_name (str) – A new name for the group. If None, the group name is not changed. user_ids (list) – New list of encoded user IDs for the group. It will substitute the previous list of users (with [] if not specified) role_ids (list) – New list of encoded role IDs for the group. It will substitute the previous list of roles (with [] if not specified)
    Return type: | int
    Returns: | status code

## Histories

Contains possible interactions with the Galaxy Histories

class `bioblend.galaxy.histories.` `HistoryClient`(galaxy_instance)
  `create_dataset_collection`(history_id, collection_description)

    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)

    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)

    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)

    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)

    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)

    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)

    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)

    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 in binary mode 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)

    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`()

    Deprecated method.

    Just an alias for get_most_recently_used_history().

  `get_histories`(history_id=None, name=None, deleted=False)

    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`()

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

  `get_status`(history_id)

    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)

    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)

    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)

    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)

    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 (bool) – When `True`, the complete list of datasets in the given history. deleted (str) – Used when contents=True, includes deleted datasets in history dataset list visible (str) – Used when contents=True, includes only visible datasets in 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)

    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)

    Undelete a history

    Parameters: | history_id (str) – Encoded history ID

  `update_dataset`(history_id, dataset_id, **kwds)

    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)

    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)

    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)

    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

## Jobs

Contains possible interactions with the Galaxy Jobs

class `bioblend.galaxy.jobs.` `JobsClient`(galaxy_instance)
  `get_jobs`()

    Get a list of jobs for current user

    Parameters: | state (str or list) – limit listing of jobs to those that match one of the included states. If none, all are returned.

    Valid Galaxy job states include: ‘new’, ‘upload’, ‘waiting’, ‘queued’, ‘running’, ‘ok’, ‘error’, ‘paused’, ‘deleted’, ‘deleted_new’

    Parameters: | tool_id (str or list) – limit listing of jobs to those that match one of the included tool_ids. If none, all are returned. history_id (str) – limit listing of jobs to those that match the history_id. If none, all are returned.
    Return type: | list
    Returns: | list of dictionaries containing summary job information For example:
        [{ u'create_time': u'2014-03-01T16:16:48.640550',
    u’exit_code’: 0, u’id’: u’ebfb8f50c6abde6d’, u’model_class’: u’Job’, u’state’: u’ok’, u’tool_id’: u’fasta2tab’, u’update_time’: u‘2014-03-01T16:16:50.657399’}, {u’create_time’: u‘2014-03-01T16:05:34.851246’, u’exit_code’: 0, u’id’: u‘1cd8e2f6b131e891’, u’model_class’: u’Job’, u’state’: u’ok’, u’tool_id’: u’upload1’, u’update_time’: u‘2014-03-01T16:05:39.558458’}]

  `get_state`(job_id)

    Display the current state for a single job from current user.

    Parameters: | job_id (str) – Specific job ID
    Return type: | str
    Returns: | State of single job with the following being valid values: new, queued, running, waiting, ok. In case the state cannot be retrived, an empty string is returned.

    New in version 0.5.3.

  `search_jobs`(job_info)

    Return jobs for current user based payload content

    Parameters: | job_info (dict) – Dictionary containing description of requested job. This is in the same format as a request to POST /api/tools would take to initiate a job
    Return type: | list
    Returns: | list of dictionaries containing summary job information of the jobs that match the requested job run

    This method is designed to scan the list of previously run jobs and find records of jobs that had the exact some input parameters and datasets. This can be used to minimize the amount of repeated work, and simply recycle the old results.

  `show_job`(job_id)

    Display information on a single job from current user

    Parameters: | job_id (str) – Specific job ID
    Return type: | dict
    Returns: | A description of single job For example:
        {   u'create_time': u'2014-03-01T16:17:29.828624',
    u’exit_code’: 0, u’id’: u’a799d38679e985db’, u’inputs’: { u’input’: { u’id’: u’ebfb8f50c6abde6d’, u’src’: u’hda’}}, u’model_class’: u’Job’, u’outputs’: { u’output’: { u’id’: u’a799d38679e985db’, u’src’: u’hda’}}, u’params’: { u’chromInfo’: u’”/opt/galaxy-central/tool-data/shared/ucsc/chrom/?.len”’, u’dbkey’: u’”?”’, u’seq_col’: u‘“2”’, u’title_col’: u’[“1”]’}, u’state’: u’ok’, u’tool_id’: u’tab2fasta’, u’update_time’: u‘2014-03-01T16:17:31.930728’}

## Libraries

Contains possible interactions with the Galaxy Data Libraries

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

    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)

    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)

    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)

    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)

    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)

    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)

    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.

  `get_library_permissions`(library_id)

    Get the permessions for a library.

    Parameters: | library_id (str) – id of the library
    Return type: | dict
    Returns: | dictionary with all applicable permissions’ values

  `set_library_permissions`(library_id, access_in=None, modify_in=None, add_in=None, manage_in=None)

    Set 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 role ids modify_in (list) – list of role ids add_in (list) – list of role ids manage_in (list) – list of role ids

  `show_dataset`(library_id, dataset_id)

    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)

    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)

    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='?')

    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='?')

    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='')

    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='?')

    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='')

    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)
  `get_quotas`(deleted=False)

    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)

    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': []}

## Roles

Contains possible interactions with the Galaxy Roles

class `bioblend.galaxy.roles.` `RolesClient`(galaxy_instance)
  `get_roles`()

    Displays a collection (list) of roles.

    Return type: | list
    Returns: | A list of dicts with details on individual roles. For example:
        [ {"id": "f2db41e1fa331b3e",
        "model_class": "Role",
        "name": "Foo",
        "url": "/api/roles/f2db41e1fa331b3e"},
        {"id": "f597429621d6eb2b",
        "model_class": "Role",
        "name": "Bar",
        "url": "/api/roles/f597429621d6eb2b"}
        ]

  `show_role`(role_id)

    Display information on a single role

    Parameters: | role_id (str) – Encoded role ID
    Return type: | dict
    Returns: | A description of role For example:
        {"description": "Private Role for Foo",
        "id": "f2db41e1fa331b3e",
        "model_class": "Role",
        "name": "Foo",
        "type": "private",
        "url": "/api/roles/f2db41e1fa331b3e"}

## Tools

Contains possible interaction dealing with Galaxy tools.

class `bioblend.galaxy.tools.` `ToolClient`(galaxy_instance)
  `get_tool_panel`()

    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)

    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)

    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)

    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)

    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)

    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

## Tool data tables

Contains possible interactions with the Galaxy Tool data tables

class `bioblend.galaxy.tool_data.` `ToolDataClient`(galaxy_instance)
  `delete_data_table`(data_table_id, values)

    Delete an item from a data table.

    Parameters: | data_table_id (str) – ID of the data table values (str) – a “|” separated list of column contents, there must be a value for all the columns of the data table

  `get_data_tables`()

    Displays a collection (list) of data tables.

    Return type: | list
    Returns: | A list of dicts with details on individual data tables. For example: [ { “model_class”: “TabularToolDataTable”, “name”: “fasta_indexes” }, { “model_class”: “TabularToolDataTable”, “name”: “bwa_indexes” } }

  `show_data_table`(data_table_id)

    Display information on a single data_table

    Parameters: | data_table_id (str) – ID of the data table
    Return type: | dict
    Returns: | A description of data_table and its content For example: { “columns”: [“value”, “dbkey”, “name”, “path”], “fields”: [ [ “test id”, “test”, “test name”, “/opt/galaxy-dist/tool-data/test/seq/test id.fa” ] ], “model_class”: “TabularToolDataTable”, “name”: “all_fasta” }

## ToolShed

Interaction with a Galaxy Tool Shed

class `bioblend.galaxy.toolshed.` `ToolShedClient`(galaxy_instance)
  `get_repositories`()

    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)

    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)

    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)
  `create_local_user`(username, user_email, password)

    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)

    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)

    Deprecated method.

    Just an alias for create_remote_user().

  `create_user_apikey`(user_id)

    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`()

    Returns the user id associated with this Galaxy connection

    Return type: | dict
    Returns: | dictionary containing information about the current user

  `get_users`(deleted=False)

    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)

    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)
  `get_visualizations`()

    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)

    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)
  `delete_workflow`(workflow_id)

    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)

    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)

    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)

    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)

    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)

    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)

    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)

    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)

    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. Alternatively, `history_name` may be specified to create a new history. history_name (str) – Create a new history with the given name to store the workflow output. If both `history_id` and `history_name` are provided, `history_name` is ignored. If neither is specified, a new ‘Unnamed history’ is created. 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)

    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)

  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`

    Client module for Galaxy histories.

  `libraries`

    Client module for Galaxy libraries.

  `tools`

    Client module for Galaxy tools.

  `workflows`

    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)
  `get_previews`(name=None, **kwargs)

    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)

class `bioblend.galaxy.objects.client.` `ObjHistoryClient`(obj_gi)

  Interacts with Galaxy histories.

  `create`(name=None)

    Create a new Galaxy history, optionally setting its name.

    Return type: | `History`
    Returns: | the history just created

  `delete`(id_=None, name=None, purge=False)

    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_)

    Retrieve the history corresponding to the given id.

    Return type: | `History`
    Returns: | the history corresponding to `id_`

  `get_previews`(name=None, deleted=False)
  `list`(name=None, deleted=False)

    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)

  Interacts with Galaxy libraries.

  `create`(name, description=None, synopsis=None)

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

    Return type: | `Library`
    Returns: | the library just created

  `delete`(id_=None, name=None)

    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_)

    Retrieve the data library corresponding to the given id.

    Return type: | `Library`
    Returns: | the library corresponding to `id_`

  `get_previews`(name=None, deleted=False)
  `list`(name=None, deleted=False)

    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)

  Interacts with Galaxy tools.

  `get`(id_)

    Retrieve the tool corresponding to the given id.

    Return type: | `Tool`
    Returns: | the tool corresponding to `id_`

  `get_previews`(name=None, trackster=None)

    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)

    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)

  Interacts with Galaxy workflows.

  `delete`(id_=None, name=None)

    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_)

    Retrieve the workflow corresponding to the given id.

    Return type: | `Workflow`
    Returns: | the workflow corresponding to `id_`

  `get_previews`(name=None, published=False)
  `import_new`(src)

    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_)

    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)

    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)

  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`()

    Return an independent copy of this wrapper.

  classmethod `from_json`(jdef)

    Build a new wrapper from a JSON dump.

  `gi_module`

    The GalaxyInstance module that deals with objects of this type.

  `is_mapped`

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

  `parent`

    The parent of this wrapper.

  `to_json`()

    Return a JSON dump of this wrapper.

  `touch`()

    Mark this wrapper as having been modified since its creation.

  `unmap`()

    Disconnect this wrapper from Galaxy.

class `bioblend.galaxy.objects.wrappers.` `Step`(step_dict, parent)

  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`

class `bioblend.galaxy.objects.wrappers.` `Workflow`(wf_dict, gi=None)

  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)

    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`

    Return the list of data input steps for this workflow.

  `delete`()

    Delete this workflow.

    Warning

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

  `export`()

    Export a re-importable representation of the workflow.

    Return type: | dict
    Returns: | a JSON-serializable dump of the workflow

  `gi_module`
  `input_labels`

    Return the labels of this workflow’s input steps.

  `is_runnable`

    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`()
  `run`(input_map=None, history='', params=None, import_inputs=False, replacement_params=None, wait=False, polling_interval=10, break_on_error=True)

    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`()

    Return a topological sort of the workflow’s DAG.

  `tool_ids`

    Return the list of tool steps for this workflow.

class `bioblend.galaxy.objects.wrappers.` `ContentInfo`(info_dict, gi=None)

  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)

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

  `gi_module`

class `bioblend.galaxy.objects.wrappers.` `HistoryContentInfo`(info_dict, gi=None)

  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`

class `bioblend.galaxy.objects.wrappers.` `DatasetContainer`(c_dict, content_infos=None, gi=None)

  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`

    Return the ids of the contained datasets.

  `get_dataset`(ds_id)

    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)

    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`()
  `refresh`()

    Re-fetch the attributes pertaining to this object.

    Returns: self

class `bioblend.galaxy.objects.wrappers.` `History`(hist_dict, content_infos=None, gi=None)

  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)

    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)

    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)

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

  `gi_module`
  `import_dataset`(lds)

    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)

    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 (except file_name).

    Return type: | `HistoryDatasetAssociation`
    Returns: | the uploaded dataset

  `update`(name=None, annotation=None, **kwds)

    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)

    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)

  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='')

    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)

    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`()

    Delete this library.

  `folder_ids`

    Return the ids of the contained folders.

  `get_folder`(f_id)

    Retrieve the folder corresponding to the given id.

    Return type: | `Folder`
    Returns: | the folder corresponding to `f_id`

  `gi_module`
  `root_folder`

    The root folder of this library.

    Return type: | `Folder`
    Returns: | the root folder of this library

  `upload_data`(data, folder=None, **kwargs)

    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)

    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)

    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)

    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)

  Maps to a folder in a Galaxy library.

  `BASE_ATTRS` = ('id', 'name', 'description', 'deleted', 'item_count')
  `container_id`

    Deprecated property.

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

  `gi_module`
  `parent`

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

    Return type: | `Folder`
    Returns: | the parent of this folder

  `refresh`()

    Re-fetch the attributes pertaining to this object.

    Returns: self

class `bioblend.galaxy.objects.wrappers.` `Dataset`(ds_dict, container, gi=None)

  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`

    Deprecated property.

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

  `download`(file_object, chunk_size=4096)

    Open dataset for reading and save its contents to `file_object`.

    Parameters: | file_object (file) – output file object

    See `get_stream()` for info on other params.

  `get_contents`(chunk_size=4096)

    Open dataset for reading and return its full contents.

    See `get_stream()` for param info.

  `get_stream`(chunk_size=4096)

    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=4096)

    Open dataset for reading and return the first chunk.

    See `get_stream()` for param info.

  `refresh`()

    Re-fetch the attributes pertaining to this object.

    Returns: self

  `wait`(polling_interval=1, break_on_error=True)

    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)

  Maps to a Galaxy `HistoryDatasetAssociation`.

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

    Delete this dataset.

  `gi_module`

class `bioblend.galaxy.objects.wrappers.` `LibraryDatasetDatasetAssociation`(ds_dict, container, gi=None)

  Maps to a Galaxy `LibraryDatasetDatasetAssociation`.

  `SRC` = 'ldda'

class `bioblend.galaxy.objects.wrappers.` `LibraryDataset`(ds_dict, container, gi=None)

  Maps to a Galaxy `LibraryDataset`.

  `SRC` = 'ld'
  `delete`(purged=False)

    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)

  Maps to a Galaxy tool.

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

    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)

  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)

  Models Galaxy library ‘previews’.

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

  `gi_module`

class `bioblend.galaxy.objects.wrappers.` `HistoryPreview`(pw_dict, gi=None)

  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`

class `bioblend.galaxy.objects.wrappers.` `WorkflowPreview`(pw_dict, gi=None)

  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`