def test_builder__add_multiple_values_multiple_times(): expected = {"IN_FILE_01": "file_a", "IN_FILE_02": "file_b"} builder = AtomicCmdBuilder("ls") kwargs = builder.add_multiple_values(("file_a",)) assert_equal(kwargs, {"IN_FILE_01": "file_a"}) kwargs = builder.add_multiple_values(("file_b",)) assert_equal(kwargs, {"IN_FILE_02": "file_b"}) assert_equal(builder.kwargs, expected) assert_equal(builder.call, ["ls", "%(IN_FILE_01)s", "%(IN_FILE_02)s"])
def test_builder__add_multiple_values_with_template(): values = ("file_a", "file_b") expected = {"OUT_BAM_1": "file_a", "OUT_BAM_2": "file_b"} builder = AtomicCmdBuilder("ls") kwargs = builder.add_multiple_values(values, template="OUT_BAM_%i") assert_equal(kwargs, expected) assert_equal(builder.kwargs, expected) assert_equal(builder.call, ["ls", "%(OUT_BAM_1)s", "%(OUT_BAM_2)s"])
def test_builder__add_multiple_values(): values = ("file_a", "file_b") expected = {"IN_FILE_01": "file_a", "IN_FILE_02": "file_b"} builder = AtomicCmdBuilder("ls") kwargs = builder.add_multiple_values(values) assert_equal(kwargs, expected) assert_equal(builder.kwargs, expected) assert_equal(builder.call, ["ls", "%(IN_FILE_01)s", "%(IN_FILE_02)s"])
def test_builder__add_multiple_values_with_template(): values = ("file_a", "file_b") expected = {"OUT_BAM_1": "file_a", "OUT_BAM_2": "file_b"} builder = AtomicCmdBuilder("ls") kwargs = builder.add_multiple_values(values, template="OUT_BAM_%i") assert_equal(kwargs, expected) assert_equal(builder.kwargs, expected) assert_equal(builder.call, ["ls", "%(OUT_BAM_1)s", "%(OUT_BAM_2)s"])
def __init__(self, d_bam, dependencies): aux_r = os.path.join(os.path.dirname(gccorrect.__file__), 'model_gc.R') dest = os.path.join(d_bam.bam_output, '%s_GC_Model.txt' % (str(d_bam.bam_name))) plot_dest = os.path.splitext(dest)[0] + '.pdf' infiles = [''.join(n.output_files) for n in dependencies] builder = AtomicCmdBuilder(("Rscript", "%(AUX_R)s")) builder.add_value('%(OUT_FILEPATH)s') builder.add_value('%(OUT_PLOT)s') builder.add_multiple_values(infiles) builder.set_kwargs(AUX_R=aux_r, OUT_FILEPATH=dest, OUT_PLOT=plot_dest, CHECK_VERSION=Rscript_VERSION) cmd = builder.finalize() d_bam.opts['BamInfo']['--GCmodel'] = dest description = "<CreateGCModel: '%s' -> '%s'" % (d_bam.bam_temp_local, dest) CommandNode.__init__(self, description=description, command=cmd, dependencies=dependencies)