Beispiel #1
0
def test_run_mock_cells():
    aname = 'Darmanis_2015_nofetal'
    atlas = AtlasFetcher().fetch_atlas(aname, kind='average')

    ind = [0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 4, 5]
    matrix = atlas[ind]
    cell_types = atlas.obs_names.values[ind]

    sa = Averages(
        aname,
        n_pcs=10,
    )
    sa.fit(matrix)

    assert ((cell_types == sa.membership).mean() > 0.9)
Beispiel #2
0
def test_arguments():
    matrix = pd.DataFrame(
        index=['INS', 'GCG', 'PPY'],
        columns=['cell1', 'cell2', 'cell3'],
        data=[[2302, 123, 0], [0, 5034, 6453], [0, 0, 1]],
    )

    sa = Averages('Enge_2017',
                  n_neighbors=2,
                  threshold_neighborhood=0.8,
                  n_pcs=2,
                  distance_metric='correlation',
                  n_neighbors_out_of_atlas=1)

    sa.new_data = matrix
    sa._check_init_arguments()
    assert (sa is not None)
Beispiel #3
0
def test_constructor():
    sa = Averages('Enge_2017',
                  n_neighbors=2,
                  threshold_neighborhood=0.8,
                  n_pcs=2,
                  distance_metric='correlation',
                  n_neighbors_out_of_atlas=1)

    assert (sa is not None)
Beispiel #4
0
def test_embed_averages():
    aname = 'Darmanis_2015_nofetal'
    atlas = AtlasFetcher().fetch_atlas(aname, kind='subsample')

    ind = [
        0, 2, 5, 8, 10, 15, 20, 25, 28, 30, 35, 38, 40, 45, 50, 60, 70, 75, 80,
        90
    ]
    matrix = atlas[ind].copy()

    sa = Averages(
        aname,
        n_features_per_cell_type=2,
        n_features_overdispersed=5,
        n_pcs=9,
    )
    sa.fit(matrix)
    vs = sa.embed()
    assert (vs.shape[1] == 4)
Beispiel #5
0
def test_run_within_atlas():
    aname = 'Darmanis_2015_nofetal'
    atlas = AtlasFetcher().fetch_atlas(aname, kind='subsample')

    ind = [
        0, 2, 5, 8, 10, 15, 20, 25, 28, 30, 35, 38, 40, 45, 50, 60, 70, 75, 80,
        90
    ]
    matrix = atlas[ind]
    cell_types = atlas.obs['CellType'].values[ind]

    sa = Averages(
        aname,
        n_features_per_cell_type=2,
        n_features_overdispersed=5,
        n_pcs=9,
    )
    sa.fit(matrix)

    for i in range(len(cell_types)):
        print('{:10s}    {:10s}'.format(cell_types[i], sa.membership[i]))
    print((cell_types == sa.membership).mean())
    assert ((cell_types == sa.membership).mean() >= 0.5)
Beispiel #6
0
def test_neighbors_small():
    matrix = pd.DataFrame(
        index=['INS', 'GCG', 'PPY'],
        columns=['cell1', 'cell2', 'cell3'],
        data=[[2302, 123, 0], [0, 5034, 6453], [0, 0, 1]],
    )
    n_pcs = 2
    k = 1
    threshold = 0.8

    sa = Averages('Enge_2017',
                  n_neighbors=k,
                  threshold_neighborhood=threshold,
                  n_pcs=n_pcs,
                  distance_metric='correlation',
                  n_cells_per_type=20,
                  n_neighbors_out_of_atlas=1)

    sa.new_data = matrix
    sa._check_init_arguments()
    sa.fetch_atlas_if_needed()
    sa.compute_feature_intersection()
    sa._check_feature_intersection()
    sa.prepare_feature_selection()
    sa.select_features()
    sa._check_feature_selection()
    sa.merge_atlas_newdata()
    sa.compute_pca()
    sa.compute_similarity_graph()
    neis = sa.neighbors

    assert (isinstance(neis, list))
    assert (len(neis) == int(np.sum(sa.sizes)))
    for nei in neis:
        assert (isinstance(nei, list))
Beispiel #7
0
def test_merge_small():
    matrix = pd.DataFrame(
        index=['INS', 'GCG', 'PPY'],
        columns=['cell1', 'cell2', 'cell3'],
        data=[[2302, 123, 0], [0, 5034, 6453], [0, 0, 1]],
    )
    n_pcs = 2
    k = 1
    threshold = 0.8

    sa = Averages('Enge_2017',
                  n_neighbors=k,
                  threshold_neighborhood=threshold,
                  n_pcs=n_pcs,
                  distance_metric='correlation',
                  n_neighbors_out_of_atlas=1)

    sa.new_data = matrix
    sa._check_init_arguments()
    sa.fetch_atlas_if_needed()
    sa.compute_feature_intersection()
    sa._check_feature_intersection()
    sa.prepare_feature_selection()
    sa.select_features()
    sa._check_feature_selection()
    sa.merge_atlas_newdata()

    assert (sa is not None)