Warning

This document is for an in-development version of Galaxy. You can alternatively view this page in the latest release if it exists or view the top of the latest release's documentation.

galaxy.model.store package

class galaxy.model.store.ImportOptions(allow_edit=False, allow_library_creation=False, allow_dataset_object_edit=None)[source]

Bases: object

__init__(allow_edit=False, allow_library_creation=False, allow_dataset_object_edit=None)[source]
class galaxy.model.store.SessionlessContext[source]

Bases: object

__init__()[source]
flush()[source]
add(obj)[source]
query(model_class)[source]
class galaxy.model.store.ModelImportStore(import_options=None, app=None, user=None, object_store=None)[source]

Bases: object

__init__(import_options=None, app=None, user=None, object_store=None)[source]
defines_new_history()[source]

Does this store define a new history to create.

new_history_properties()[source]

Dict of history properties if defines_new_history() is truthy.

datasets_properties()[source]

Return a list of HDA properties.

library_properties()[source]

Return a list of library properties.

collections_properties()[source]

Return a list of HDCA properties.

jobs_properties()[source]

Return a list of jobs properties.

object_key

Key used to connect objects in metadata.

Legacy exports used ‘hid’ but associated objects may not be from the same history and a history may contain multiple objects with the same ‘hid’.

trust_hid

Trust HID when importing objects into a new History.

target_history(default_history=None)[source]
perform_import(history=None, new_history=False, job=None)[source]
class galaxy.model.store.ObjectImportTracker[source]

Bases: object

Keep track of new and existing imported objects.

Needed to re-establish connections and such in multiple passes.

__init__()[source]
galaxy.model.store.get_import_model_store_for_directory(archive_dir, **kwd)[source]
class galaxy.model.store.BaseDirectoryImportModelStore(import_options=None, app=None, user=None, object_store=None)[source]

Bases: galaxy.model.store.ModelImportStore

defines_new_history()[source]
new_history_properties()[source]
datasets_properties()[source]
collections_properties()[source]
library_properties()[source]
jobs_properties()[source]
implicit_collection_jobs_properties()[source]
class galaxy.model.store.DirectoryImportModelStore1901(archive_dir, **kwd)[source]

Bases: galaxy.model.store.BaseDirectoryImportModelStore

object_key = 'hid'
__init__(archive_dir, **kwd)[source]
trust_hid(obj_attrs)[source]
class galaxy.model.store.DirectoryImportModelStoreLatest(archive_dir, **kwd)[source]

Bases: galaxy.model.store.BaseDirectoryImportModelStore

object_key = 'encoded_id'
__init__(archive_dir, **kwd)[source]
trust_hid(obj_attrs)[source]
class galaxy.model.store.BagArchiveImportModelStore(bag_archive, **kwd)[source]

Bases: galaxy.model.store.DirectoryImportModelStoreLatest

__init__(bag_archive, **kwd)[source]
class galaxy.model.store.ModelExportStore[source]

Bases: object

export_history(history, include_hidden=False, include_deleted=False)[source]

Export history to store.

add_dataset_collection(collection)[source]

Add HDCA to export store.

add_dataset(dataset, include_files=True)[source]

Add HDA to export store.

class galaxy.model.store.DirectoryModelExportStore(export_directory, app=None, for_edit=False, serialize_dataset_objects=None, export_files=None, strip_metadata_files=True)[source]

Bases: galaxy.model.store.ModelExportStore

__init__(export_directory, app=None, for_edit=False, serialize_dataset_objects=None, export_files=None, strip_metadata_files=True)[source]
Parameters:
  • export_directory – path to export directory. Will be created if it does not exist.
  • app – Galaxy App or app-like object. Must be provided if for_edit and/or serialize_dataset_objects are True
  • for_edit – Allow modifying existing HDA and dataset metadata during import.
  • serialize_dataset_objects – If True will encode IDs using the host secret. Defaults for_edit.
  • export_files – How files should be exported, can be ‘symlink’, ‘copy’ or None, in which case files will not be serialized.
serialize_files(dataset, as_dict)[source]
exported_key(obj)[source]
export_history(history, include_hidden=False, include_deleted=False)[source]
export_library(library, include_hidden=False, include_deleted=False)[source]
add_job_output_dataset_associations(job_id, name, dataset_instance)[source]
add_dataset_collection(collection)[source]
add_dataset(dataset, include_files=True)[source]
class galaxy.model.store.TarModelExportStore(out_file, gzip=True, **kwds)[source]

Bases: galaxy.model.store.DirectoryModelExportStore

__init__(out_file, gzip=True, **kwds)[source]
class galaxy.model.store.BagDirectoryModelExportStore(out_directory, **kwds)[source]

Bases: galaxy.model.store.DirectoryModelExportStore

__init__(out_directory, **kwds)[source]
class galaxy.model.store.BagArchiveModelExportStore(out_file, bag_archiver='tgz', **kwds)[source]

Bases: galaxy.model.store.BagDirectoryModelExportStore

__init__(out_file, bag_archiver='tgz', **kwds)[source]
galaxy.model.store.tar_export_directory(export_directory, out_file, gzip)[source]
galaxy.model.store.get_export_dataset_filename(name, ext, hid)[source]

Builds a filename for a dataset using its name an extension.

galaxy.model.store.imported_store_for_metadata(directory, object_store=None)[source]

Submodules

galaxy.model.store.build_objects module

galaxy.model.store.build_objects.main(argv=None)[source]

galaxy.model.store.discover module

Utilities for discovering files to add to a model store.

Working with input “JSON” format used for Fetch API, galaxy.json imports, etc… High-level utilities in this file can be used during job output discovery or for persisting Galaxy model objects corresponding to files in other contexts.

class galaxy.model.store.discover.ModelPersistenceContext[source]

Bases: object

Class for creating datasets while finding files.

This class implement the create_dataset method that takes care of populating metadata required for datasets and other potential model objects.

create_dataset(ext, designation, visible, dbkey, name, filename, metadata_source_name=None, info=None, library_folder=None, link_data=False, primary_data=None, init_from=None, dataset_attributes=None, tag_list=[], sources=[], hashes=[], created_from_basename=None, final_job_state='ok')[source]
populate_collection_elements(collection, root_collection_builder, filenames, name=None, metadata_source_name=None, final_job_state='ok')[source]
tag_handler

Return a galaxy.model.tags.TagHandler-like object for persisting tags.

user

If bound to a database, return the user the datasets should be created for.

Return None otherwise.

add_library_dataset_to_folder(library_folder, ld)[source]

Add library dataset to persisted library folder.

create_library_folder(parent_folder, name, description)[source]

Create a library folder ready from supplied attributes for supplied parent.

add_output_dataset_association(name, dataset)[source]

If discovering outputs for a job, persist output dataset association.

add_datasets_to_history(datasets, for_output_dataset=None)[source]

Add datasets to the history this context points at.

job_id()[source]
persist_object(obj)[source]

Add the target to the persistence layer.

flush()[source]

If database bound, flush the persisted objects to ensure IDs.

class galaxy.model.store.discover.PermissionProvider[source]

Bases: object

Interface for working with permissions while importing datasets with ModelPersistenceContext.

permissions
set_default_hda_permissions(primary_data)[source]
copy_dataset_permissions(init_from, primary_data)[source]

Copy dataset permissions from supplied input dataset.

class galaxy.model.store.discover.UnusedPermissionProvider[source]

Bases: galaxy.model.store.discover.PermissionProvider

copy_dataset_permissions(init_from, primary_data)[source]

Throws NotImplementedError.

This should only be called as part of job output collection where there should be a session available to initialize this from.

class galaxy.model.store.discover.MetadataSourceProvider[source]

Bases: object

Interface for working with fetching input dataset metadata with ModelPersistenceContext.

get_metadata_source(input_name)[source]

Get metadata for supplied input_name.

class galaxy.model.store.discover.UnusedMetadataSourceProvider[source]

Bases: galaxy.model.store.discover.MetadataSourceProvider

get_metadata_source(input_name)[source]

Throws NotImplementedError.

This should only be called as part of job output collection where one can actually collect metadata from inputs, this is unused in the context of SessionlessModelPersistenceContext.

class galaxy.model.store.discover.SessionlessModelPersistenceContext(object_store, export_store, working_directory)[source]

Bases: galaxy.model.store.discover.ModelPersistenceContext

A variant of ModelPersistenceContext that persists to an export store instead of database directly.

__init__(object_store, export_store, working_directory)[source]
tag_handler
user
add_library_dataset_to_folder(library_folder, ld)[source]
get_library_folder(destination)[source]
get_hdca(object_id)[source]
create_hdca(name, structure)[source]
create_library_folder(parent_folder, name, description)[source]
add_datasets_to_history(datasets, for_output_dataset=None)[source]
persist_object(obj)[source]

No-op right now for the sessionless variant of this.

This works currently because either things are added to a target history with add_datasets_to_history or the parent LibraryFolder was added to the export store in persist_target_to_export_store.

flush()[source]

No-op for the sessionless variant of this, no database to flush.

add_output_dataset_association(name, dataset)[source]

No-op, no job context to persist this association for.

galaxy.model.store.discover.persist_target_to_export_store(target_dict, export_store, object_store, work_directory)[source]
galaxy.model.store.discover.persist_elements_to_hdca(model_persistence_context, elements, hdca, collector=None)[source]
galaxy.model.store.discover.persist_elements_to_folder(model_persistence_context, elements, library_folder)[source]
galaxy.model.store.discover.persist_hdas(elements, model_persistence_context, final_job_state='ok')[source]
galaxy.model.store.discover.get_required_item(from_dict, key, message)[source]
galaxy.model.store.discover.validate_and_normalize_target(obj)[source]
galaxy.model.store.discover.replace_request_syntax_sugar(obj)[source]
class galaxy.model.store.discover.DiscoveredFile(path, collector, match)

Bases: tuple

collector

Alias for field number 1

match

Alias for field number 2

path

Alias for field number 0

galaxy.model.store.discover.discovered_file_for_element(dataset, job_working_directory, parent_identifiers=[], collector=None)[source]
galaxy.model.store.discover.discover_target_directory(dir_name, job_working_directory)[source]
class galaxy.model.store.discover.JsonCollectedDatasetMatch(as_dict, collector, filename, path=None, parent_identifiers=[])[source]

Bases: object

__init__(as_dict, collector, filename, path=None, parent_identifiers=[])[source]
designation
element_identifiers
raw_element_identifiers
name

Return name or None if not defined by the discovery pattern.

dbkey
ext
visible
tag_list
object_id
sources
hashes
created_from_basename
class galaxy.model.store.discover.RegexCollectedDatasetMatch(re_match, collector, filename, path=None)[source]

Bases: galaxy.model.store.discover.JsonCollectedDatasetMatch

__init__(re_match, collector, filename, path=None)[source]