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.metadata package

Define abstraction for capturing the metadata of job’s output datasets.

galaxy.metadata.get_metadata_compute_strategy(config, job_id, metadata_strategy_override=None)[source]
class galaxy.metadata.MetadataCollectionStrategy[source]

Bases: object

Interface describing the abstract process of writing out and collecting output metadata.

extended = False
invalidate_external_metadata(datasets, sa_session)[source]

Invalidate written files.

set_job_runner_external_pid(pid, sa_session)[source]
cleanup_external_metadata(sa_session)[source]
setup_external_metadata(datasets_dict, out_collections, sa_session, exec_dir=None, tmp_dir=None, dataset_files_path=None, output_fnames=None, config_root=None, use_bin=False, config_file=None, datatypes_config=None, job_metadata=None, provided_metadata_style=None, compute_tmp_dir=None, include_command=True, max_metadata_value_size=0, object_store_conf=None, tool=None, job=None, kwds=None)[source]

Setup files needed for external metadata collection.

If include_command is True, return full Python command to externally compute metadata otherwise just the arguments to galaxy_ext.metadata.set_metadata required to build.

external_metadata_set_successfully(dataset, name, sa_session, working_directory)[source]

Return boolean indicating if metadata for specified dataset was written properly.

load_metadata(dataset, name, sa_session, working_directory, remote_metadata_directory=None)[source]

Load metadata calculated externally into specified dataset.

class galaxy.metadata.PortableDirectoryMetadataGenerator(job_id)[source]

Bases: galaxy.metadata.MetadataCollectionStrategy

portable = True
write_object_store_conf = False
__init__(job_id)[source]
setup_external_metadata(datasets_dict, out_collections, sa_session, exec_dir=None, tmp_dir=None, dataset_files_path=None, output_fnames=None, config_root=None, use_bin=False, config_file=None, datatypes_config=None, job_metadata=None, provided_metadata_style=None, compute_tmp_dir=None, include_command=True, max_metadata_value_size=0, validate_outputs=False, object_store_conf=None, tool=None, job=None, kwds=None)[source]
load_metadata(dataset, name, sa_session, working_directory, remote_metadata_directory=None)[source]
external_metadata_set_successfully(dataset, name, sa_session, working_directory)[source]
class galaxy.metadata.ExtendedDirectoryMetadataGenerator(job_id)[source]

Bases: galaxy.metadata.PortableDirectoryMetadataGenerator

extended = True
write_object_store_conf = True
__init__(job_id)[source]
setup_external_metadata(datasets_dict, out_collections, sa_session, **kwd)[source]
load_metadata(dataset, name, sa_session, working_directory, remote_metadata_directory=None)[source]
class galaxy.metadata.JobExternalOutputMetadataWrapper(job_id)[source]

Bases: galaxy.metadata.MetadataCollectionStrategy

Class with methods allowing set_meta() to be called externally to the Galaxy head. This class allows access to external metadata filenames for all outputs associated with a job. We will use JSON as the medium of exchange of information, except for the DatasetInstance object which will use pickle (in the future this could be JSONified as well)

portable = False
__init__(job_id)[source]
invalidate_external_metadata(datasets, sa_session)[source]
setup_external_metadata(datasets_dict, out_collections, sa_session, exec_dir=None, tmp_dir=None, dataset_files_path=None, output_fnames=None, config_root=None, use_bin=False, config_file=None, datatypes_config=None, job_metadata=None, provided_metadata_style=None, compute_tmp_dir=None, include_command=True, max_metadata_value_size=0, validate_outputs=False, object_store_conf=None, tool=None, job=None, kwds=None)[source]
external_metadata_set_successfully(dataset, name, sa_session, working_directory)[source]
cleanup_external_metadata(sa_session)[source]
set_job_runner_external_pid(pid, sa_session)[source]
load_metadata(dataset, name, sa_session, working_directory, remote_metadata_directory=None)[source]

Submodules

galaxy.metadata.set_metadata module

Execute an external process to set_meta() on a provided list of pickled datasets.

This was formerly scripts/set_metadata.py and expects these arguments:

%prog datatypes_conf.xml job_metadata_file metadata_in,metadata_kwds,metadata_out,metadata_results_code,output_filename_override,metadata_override… max_metadata_value_size

Galaxy should be importable on sys.path and output_filename_override should be set to the path of the dataset on which metadata is being set (output_filename_override could previously be left empty and the path would be constructed automatically).

galaxy.metadata.set_metadata.set_validated_state(dataset_instance)[source]
galaxy.metadata.set_metadata.set_meta_with_tool_provided(dataset_instance, file_dict, set_meta_kwds, datatypes_registry, max_metadata_value_size)[source]
galaxy.metadata.set_metadata.set_metadata()[source]
galaxy.metadata.set_metadata.set_metadata_portable()[source]
galaxy.metadata.set_metadata.set_metadata_legacy()[source]
galaxy.metadata.set_metadata.validate_and_load_datatypes_config(datatypes_config)[source]
galaxy.metadata.set_metadata.load_job_metadata(job_metadata, provided_metadata_style)[source]
galaxy.metadata.set_metadata.write_job_metadata(tool_job_working_directory, job_metadata, set_meta, tool_provided_metadata)[source]