def typical_pipeline_complex(use): ints1 = use.init_data('ints1', ints1_factory) mapper1 = use.init_data('mapper1', mapping1_factory) use.action( UsageAction(plugin_id='dummy_plugin', action_id='typical_pipeline'), UsageInputs(int_sequence=ints1, mapping=mapper1, do_extra_thing=True), UsageOutputNames(out_map='out_map1', left='left1', right='right1', left_viz='left_viz1', right_viz='right_viz1')) ints2 = use.get_result('left1') mapper2 = use.get_result('out_map1') use.action( UsageAction(plugin_id='dummy_plugin', action_id='typical_pipeline'), UsageInputs(int_sequence=ints2, mapping=mapper2, do_extra_thing=False), UsageOutputNames(out_map='out_map2', left='left2', right='right2', left_viz='left_viz2', right_viz='right_viz2')) right2 = use.get_result('right2') right2.assert_has_line_matching( label='a nice label about this assertion', path='ints.txt', expression='1', )
def optional_inputs(use): ints_a = use.init_data('ints', ints1_factory) use.action( UsageAction(plugin_id='dummy_plugin', action_id='optional_artifacts_method'), UsageInputs(ints=ints_a, num1=1), UsageOutputNames(output='output'), ) use.action( UsageAction(plugin_id='dummy_plugin', action_id='optional_artifacts_method'), UsageInputs(ints=ints_a, num1=1, num2=2), UsageOutputNames(output='output'), ) use.action( UsageAction(plugin_id='dummy_plugin', action_id='optional_artifacts_method'), UsageInputs(ints=ints_a, num1=1, num2=None), UsageOutputNames(output='ints_b'), ) ints_b = use.get_result('ints_b') use.action( UsageAction(plugin_id='dummy_plugin', action_id='optional_artifacts_method'), UsageInputs(ints=ints_a, optional1=ints_b, num1=3, num2=4), UsageOutputNames(output='output'), )
def __call__(self, use): inputs = {} transformed_inputs = {} for name, argument in self.inputs.items(): template = self.param_templates[name] if argument is None or not is_semantic_type(template.qiime_type): inputs[name] = transformed_inputs[name] = argument else: inputs[name] = use.init_data(argument.__name__, argument) artifact = argument() view = artifact.view(template.view_type) view.__hide_from_garbage_collector = artifact transformed_inputs[name] = view use.action( UsageAction(plugin_id='mystery_stew', action_id=self.name), UsageInputs(**inputs), UsageOutputNames(**self.output_names), ) for idx, (output_name, expected_type) in enumerate(self.outputs): self._assert_output(use, transformed_inputs, self.defaults, output_name, expected_type, idx)
def concatenate_ints_complex(use): ints_a = use.init_data('ints_a', ints1_factory) ints_b = use.init_data('ints_b', ints2_factory) ints_c = use.init_data('ints_c', ints3_factory) use.comment('This example demonstrates chained usage (pt 1).') use.action( UsageAction(plugin_id='dummy_plugin', action_id='concatenate_ints'), UsageInputs(ints1=ints_a, ints2=ints_b, ints3=ints_c, int1=4, int2=2), UsageOutputNames(concatenated_ints='ints_d'), ) ints_d = use.get_result('ints_d') use.comment('This example demonstrates chained usage (pt 2).') use.action( UsageAction(plugin_id='dummy_plugin', action_id='concatenate_ints'), UsageInputs(ints1=ints_d, ints2=ints_b, ints3=ints_c, int1=41, int2=0), UsageOutputNames(concatenated_ints='concatenated_ints'), )
def identity_with_metadata_simple(use): ints = use.init_data('ints', ints1_factory) md = use.init_metadata('md', md1_factory) use.action( UsageAction(plugin_id='dummy_plugin', action_id='identity_with_metadata'), UsageInputs(ints=ints, metadata=md), UsageOutputNames(out='out'), )
def variadic_input_simple(use): ints = use.init_data('int', int_sequence_list_factory) int_set = use.init_data('int_set', single_int_set_factory) use.action( UsageAction(plugin_id='dummy_plugin', action_id='variadic_input_method'), UsageInputs(ints=ints, int_set=int_set, nums={7, 8, 9}), UsageOutputNames(output='out'), )
def identity_with_metadata_column_from_factory(use): ints = use.init_data('ints', ints1_factory) mdc = use.init_data('mdc', mdc1_factory) use.action( UsageAction(plugin_id='dummy_plugin', action_id='identity_with_metadata_column'), UsageInputs(ints=ints, metadata=mdc), UsageOutputNames(out='out'), )
def typical_pipeline_simple(use): ints = use.init_data('ints', ints1_factory) mapper = use.init_data('mapper', mapping1_factory) use.action( UsageAction(plugin_id='dummy_plugin', action_id='typical_pipeline'), UsageInputs(int_sequence=ints, mapping=mapper, do_extra_thing=True), UsageOutputNames(out_map='out_map', left='left', right='right', left_viz='left_viz', right_viz='right_viz') )
def concatenate_ints_simple(use): ints_a = use.init_data('ints_a', ints1_factory) ints_b = use.init_data('ints_b', ints2_factory) ints_c = use.init_data('ints_c', ints3_factory) use.comment('This example demonstrates basic usage.') use.action( UsageAction(plugin_id='dummy_plugin', action_id='concatenate_ints'), UsageInputs(ints1=ints_a, ints2=ints_b, ints3=ints_c, int1=4, int2=2), UsageOutputNames(concatenated_ints='ints_d'), )
def identity_with_metadata_merging(use): ints = use.init_data('ints', ints1_factory) md1 = use.init_metadata('md1', md1_factory) md2 = use.init_metadata('md2', md2_factory) md3 = use.merge_metadata('md3', md1, md2) use.action( UsageAction(plugin_id='dummy_plugin', action_id='identity_with_metadata'), UsageInputs(ints=ints, metadata=md3), UsageOutputNames(out='out'), )
def variadic_input_simple(use): ints_a = use.init_data('ints_a', ints1_factory) ints_b = use.init_data('ints_b', ints2_factory) ints = use.init_data_collection('ints', list, ints_a, ints_b) single_int1 = use.init_data('single_int1', single_int1_factory) single_int2 = use.init_data('single_int2', single_int2_factory) int_set = use.init_data_collection('int_set', set, single_int1, single_int2) use.action( UsageAction(plugin_id='dummy_plugin', action_id='variadic_input_method'), UsageInputs(ints=ints, int_set=int_set, nums={7, 8, 9}), UsageOutputNames(output='out'), )