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]