def test_get_pairwise_metric(): with pytest.raises(ValueError) as ve: output = get_pairwise_metric(df, similarity_metric="pearson") assert "check input features" in str(ve.value) with pytest.raises(AssertionError) as ve: output = get_pairwise_metric(feature_df, similarity_metric="not supported") assert "not supported not supported" in str(ve.value) result_df = get_pairwise_metric(feature_df, similarity_metric="pearson") assert np.diagonal(result_df).sum() == df.shape[0] assert round(example_sample_corr, 3) == round(result_df.iloc[0, 1], 3)
example_file = "SQ00015054_normalized_feature_select.csv.gz" example_file = pathlib.Path("{file}/../../example_data/compound/{eg}".format( file=os.path.dirname(__file__), eg=example_file)) df = pd.read_csv(example_file) meta_features = [x for x in df.columns if x.startswith("Metadata_")] features = df.drop(meta_features, axis="columns").columns.tolist() feature_df = df.loc[:, features] meta_df = df.loc[:, meta_features] sample_a = feature_df.iloc[0, ].values sample_b = feature_df.iloc[1, ].values example_sample_corr = np.corrcoef(sample_a, sample_b)[0, 1] pairwise_metric_df = get_pairwise_metric(feature_df, similarity_metric="pearson") def test_get_pairwise_metric(): with pytest.raises(ValueError) as ve: output = get_pairwise_metric(df, similarity_metric="pearson") assert "check input features" in str(ve.value) with pytest.raises(AssertionError) as ve: output = get_pairwise_metric(feature_df, similarity_metric="not supported") assert "not supported not supported" in str(ve.value) result_df = get_pairwise_metric(feature_df, similarity_metric="pearson") assert np.diagonal(result_df).sum() == df.shape[0]