def test_identify_buffer_measurements():
    test_df = make_test_data()
    assert (nd._identify_buffer_measurements(test_df) == [1]).all()

    test_df.loc[2, "Sample ID"] = "Buffer_100_0.5"
    assert (nd._identify_buffer_measurements(test_df) == [1, 2]).all()

    test_df.loc[:, "Sample ID"] = "Peptide_100_0.5"
    assert len(nd._identify_buffer_measurements(test_df)) == 0
def test_analyze_sample_names_buffer_dropping_only():
    test_df = make_test_data()
    dropped = nd.analyze_sample_names(test_df, drop_buffers=True)
    assert len(dropped) == 2
    assert len(nd._identify_buffer_measurements(dropped)) == 0

    not_dropped = nd.analyze_sample_names(test_df, drop_buffers=False)
    assert len(not_dropped) == 3
    assert len(nd._identify_buffer_measurements(not_dropped)) == 1
    assert len(not_dropped.loc[not_dropped["Sample ID"] == "blank", :]) == 1
def test_handle_incorrectly_named_samples_drop_buffers_only():
    test_df = make_test_data()
    with pytest.warns(UserWarning):
        dropped = nd._handle_incorrectly_named_samples(
            test_df, [0],
            drop_incorrectly_named_samples=False,
            drop_buffers=True)
    assert len(dropped) == 2
    assert len(nd._identify_buffer_measurements(dropped)) == 0
Example #4
0
def test_run_all_explicitly_keep_buffers():
    df = test_tidy_data(
        to_glob=_parent_dir + "/test_data/*.csv",
        file_reader_kwargs={},
        drop_incorrectly_named_samples=True,
        drop_buffers=False,
    )

    assert "RG7" in df["Peptide"].values

    assert len(nd._identify_buffer_measurements(df)) > 0
def test_analyze_sample_names_drop_incorrectly_named_samples():
    test_df = make_test_data()
    test_df.loc[2, "Sample ID"] = "hello, world!"
    dropped_both = nd.analyze_sample_names(test_df,
                                           drop_incorrectly_named_samples=True,
                                           drop_buffers=True)
    assert len(dropped_both) == 1
    assert len(nd._identify_buffer_measurements(dropped_both)) == 0

    dropped_incorrect_not_buffers = nd.analyze_sample_names(
        test_df, drop_incorrectly_named_samples=True, drop_buffers=False)
    assert len(dropped_incorrect_not_buffers) == 2
    assert len(
        nd._identify_buffer_measurements(dropped_incorrect_not_buffers)) == 1

    with pytest.warns(UserWarning) as sample_name_divergence:
        nd.analyze_sample_names(test_df, drop_incorrectly_named_samples=False)
    assert ("Sample names do not adhere to requirements"
            in sample_name_divergence[0].message.args[0])
    assert (
        "Identify incorrectly named samples by running analyze_sample_names"
        in sample_name_divergence[0].message.args[0])
def test_handle_incorrectly_named_samples_keep_buffers_only():
    test_df = make_test_data()
    dropped = nd._handle_incorrectly_named_samples(
        test_df, [0], drop_incorrectly_named_samples=True, drop_buffers=False)
    assert len(dropped) == 2
    assert len(nd._identify_buffer_measurements(dropped)) == 1