Module contributor
- The omni_object instance and its classes
OmniObject
Main class to manage an omnibenchmark module. It takes the following arguments:
name (str)
: Module namekeyword (Optional[List[str]], optional)
: Keyword associated to the modules output dataset.title (Optional[str], optional)
: Title of the modules output dataset.description (Optional[str], optional)
: Description of the modules output dataset.script (Optional[PathLike], optional)
: Script to generate the modules workflow for.command (Optional[OmniCommand], optional)
: Workflow command - will be automatically generated if missing.inputs (Optional[OmniInput], optional)
: Definitions of the workflow inputs.parameter (Optional[OmniParameter], optional)
: Definitions of the workflow parameter.outputs (Optional[OmniOutput], optional)
: Definitions of the workflow outputs.omni_plan (Optional[OmniPlan], optional)
: The workflow description.benchmark_name (Optional[str], optional)
: Name of the benchmark the module is associated to.orchestrator (Optional[str], optional)
: Orchestrator url of the benchmark th emodule is associated to. Automatic detection.wflow_name (Optional[str], optional)
: Workflow name. Will be set to the module name if none.dataset_name (Optional[str], optional)
: Dataset name. Will be set to the module name if none.
The following class methods can be run on an instance of an OmniObject:
create_dataset()
: Method to create a renku dataset with the in the object specified attributes in the current renku project.update_object()
: Method to check for new imports or updates in input and the parameter datasets. Will update object attributes accordingly.run_renku()
: Method to generate and update the workflow and all output files as specified in the object.update_result_dataset()
: Method to update and add all output datasets to the dataset specified in the object.
OmniInput
Class to manage inputs of an omnibenchmark module. This class has the following attributes:
names (List[str])
: Names of the input filetypesprefix (Optional[Mapping[str, List[str]]], optional)
: Prefixes (or substrings) of the input filetypes.input_files (Optional[Mapping[str, Mapping[str, str]]], optional)
: Input files ordered by file types.keyword (Optional[List[str]], optional)
: Keyword to define which datasets are imported as input datasets.default (Optional[str], optional)
: Default input name (e.g., dataset).filter_names (Optional[List[str]], optional)
: Input dataset names to be ignored.
The following class methods can be run on an instance of an OmniInput:
update_inputs()
: Method to import new and update existing input datasets and update the object accordingly
OmniParameter
Class to manage parameter of an omnibenchmark module. This class has the following attributes:
names (List[str])
: Name of all valid parametervalues (Optional[Mapping[str, List]], optional)
: Parameter values - usually automatically detected.default (Optional[Mapping[str, str]], optional)
: Default parameter values.keyword (Optional[List[str]], optional)
: Keyword to import the parameter dataset with.filter (Optional[Mapping[str, str]], optional)
: Filter to use for the parameter space.combinations (Optional[List[Mapping[str, str]]], optional)
: All possible parameter combinations.
The following class methods can be run on an instance of an OmniInput:
update_parameter()
: Method to import and update parameter datasets and update the object/parameter space accordingly.
OmniOutput
Class to manage outputs of an omnibenchmark module. This class has the following attributes:
name (str)
: Name that is specific for all outputs. Typically the module name/OmniObject name.out_names (List[str])
: Names of the output file typesoutput_end (Optional[Mapping[str, str]], optional)
: Endings of the output filetypes.out_template (str, optional)
: Template to generate output file names.file_mapping (Optional[List[OutMapping]], optional)
: Mapping of input files, parameter values and output files.inputs (Optional[OmniInput], optional)
: Object specifying all valid inputs.parameter (Optional[OmniParameter], optional)
: Object speccifying the parameter space.default (Optional[Mapping], optional)
: Default output files.filter_json(Optional[str], optional)
: Path to json file with filter combinations.template_fun (Optional[Callable[..., Mapping]], optional)
: Function to use to automatically generate output filenames.template_vars (Optional[Mapping], optional)
: Variables that are used by template_fun.
The following class methods can be run on an instance of an OmniInput:
update_outputs()
: Method to update the output definitions according to the objects attributes.
OmniCommand
Class to manage the main workflow command of an omnibenchmark module. This class has the following attributes:
script (Union[PathLike, str])
: Path to the script run by the commandinterpreter (str, optional)
: Interpreter to run the script with.command_line (str, optional)
: Command line to be run.outputs (OmniOutput, optional)
: Object specifying all outputs.input_val (Optional[Mapping], optional)
: Input file tyoes and paths to run the command on.parameter_val (Optional[Mapping], optional)
: Parameter names and values to run the command with.
The following class methods can be run on an instance of an OmniInput:
update_command()
: Method to update the command according to the outputs,inputs,parameter.
OmniPlan
Class to manage the workflow of an omnibenchmark module. This class has the following attributes:
plan (PlanViewModel)
: A plan view model as defined in renkuparam_mapping (Optional[Mapping[str, str]], optional)
: A mapping between the component names of the plan and the OmniObject.
The following class methods can be run on an instance of an OmniInput:
predict_mapping_from_file_dict()
: Method to predict the mapping from the (input-, output-, parameter) file mapping used to generate the command.