Beispiel #1
0
def test_param_must_have_key_and_type(saved_cwd):
    Pipeline(
        "test",
        make_cfg("stages: [trim_bbmap]\n"
                 "params:\n"
                 "  someparam:\n"
                 "    key: A\n"
                 "    type: int\n"
                 "    default: 1"))
    with pytest.raises(YmpConfigError):
        Pipeline(
            "test",
            make_cfg("stages: [trim_bbmap]\n"
                     "params:\n"
                     "  someparam:\n"
                     "    type: int\n"
                     "    default: 1"))
    with pytest.raises(YmpConfigError):
        Pipeline(
            "test",
            make_cfg("stages: [trim_bbmap]\n"
                     "params:\n"
                     "  someparam:\n"
                     "    key: A\n"
                     "    default: 1"))
Beispiel #2
0
def test_pipeline_can_provide(saved_cwd):
    pipe = Pipeline("test_pipe",
                    make_cfg("stages:\n"
                             " - trim_bbmap\n"
                             " - ref_phiX"))
    assert pipe.can_provide(set(("/{sample}.R1.fq.gz", ))) == {
        "/{sample}.R1.fq.gz": ".trim_bbmap"
    }
Beispiel #3
0
def test_pipeline_path_with_param(saved_cwd):
    stack = mock()
    stack.name = "stack.test_pipe"
    stack.stage_name = "test_pipe"
    pipe = Pipeline("test_pipe",
                    make_cfg("stages:\n"
                             " - trim_bbmapQ10\n"
                             " - ref_phiX"))
    assert pipe.get_path(stack) == "stack.trim_bbmapQ10.ref_phiX"
    assert pipe.get_path(stack, "/{sample}.R1.fq.gz") == "stack.trim_bbmapQ10"
    assert pipe.get_path(
        stack, "/{sample}.fasta.gz") == "stack.trim_bbmapQ10.ref_phiX"
Beispiel #4
0
def test_parameter_must_be_mapping(saved_cwd):
    with pytest.raises(YmpConfigError):
        Pipeline("test",
                 make_cfg("stages: [trim_bbmap]\n"
                          "params:\n"
                          "  someparam:"))
    Pipeline(
        "test",
        make_cfg("stages: [trim_bbmap]\n"
                 "params:\n"
                 "  someparam:\n"
                 "    key: A\n"
                 "    type: int\n"
                 "    default: 1"))
Beispiel #5
0
def test_pipeline_stage_maybe_dict(saved_cwd):
    Pipeline(
        "test",
        make_cfg("stages:\n"
                 " - trim_bbmap\n"
                 " - trim_bbmap:\n"
                 " - trim_bbmap\n"
                 " - trim_bbmap:\n"))
Beispiel #6
0
def test_stage_with_curly(saved_cwd):
    pipe = Pipeline(
        "test",
        make_cfg("params:\n"
                 "  tool:\n"
                 "    key: _\n"
                 "    type: choice\n"
                 "    default: bbmap\n"
                 "    value: [bbmap, sickle]\n"
                 "stages:\n"
                 " - trim_{tool}"))
    assert pipe.params
Beispiel #7
0
def test_pipeline_must_have_stages(saved_cwd):
    with pytest.raises(YmpConfigError):
        Pipeline("test", make_cfg("hide: False"))
Beispiel #8
0
def test_params_must_be_mapping(saved_cwd):
    with pytest.raises(YmpConfigError):
        Pipeline("test", make_cfg("stages: [trim_bbmap]\n" "params: wrong"))
    with pytest.raises(YmpConfigError):
        Pipeline("test", make_cfg("stages: [trim_bbmap]\n" "params: [wrong]"))
    Pipeline("test", make_cfg("stages: [trim_bbmap]\n" "params:"))
Beispiel #9
0
def test_stage_not_parametrizable(saved_cwd):
    pipe = Pipeline("test", make_cfg("stages:\n" " - ref_phiX\n"))
    assert pipe.params == []
Beispiel #10
0
def test_param_from_stage(saved_cwd):
    pipe = Pipeline("test", make_cfg("stages: [trim_bbmap]"))
    assert pipe.params
Beispiel #11
0
def test_pipeline_stage_name_must_not_be_empty(saved_cwd):
    with pytest.raises(YmpConfigError):
        Pipeline("test", make_cfg("stages:\n" " -"))