def merge_bam_files_command(input_files): merge = AtomicCmdBuilder( ["samtools", "merge", "-u", "-"], OUT_STDOUT=AtomicCmd.PIPE, CHECK_VERSION=SAMTOOLS_VERSION, ) merge.add_multiple_values(input_files) return merge.finalize()
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_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"])