Exemplo n.º 1
0
def test_vanilla_get_expression_data(testfiles):
    out = allen.get_expression_data(testfiles, ATLAS.image)
    assert isinstance(out, pd.DataFrame)
    assert out.index.name == 'label'
    assert out.columns.name == 'gene_symbol'

    with pytest.raises(KeyError):
        allen.get_expression_data({'microarray': [1, 2, 3]}, ATLAS.image)
Exemplo n.º 2
0
def test_get_expression_data_errors(testfiles, atlas):
    # invalid probe_selection method
    with pytest.raises(ValueError):
        allen.get_expression_data(atlas['image'], donors=['12876', '15496'],
                                  probe_selection='nonsense')

    # cannot use diff_stability with only one donor
    with pytest.raises(ValueError):
        allen.get_expression_data(atlas['image'], donors=['12876'],
                                  probe_selection='diff_stability')
Exemplo n.º 3
0
def test_get_expression_data_errors(testfiles, atlas):
    # invalid probe_selection method
    with pytest.raises(ValueError):
        allen.get_expression_data(atlas['image'],
                                  donors=testfiles.keys(),
                                  probe_selection='nonsense')

    # cannot use diff_stability with only one donor
    with pytest.raises(ValueError):
        donor = list(testfiles.keys())[0]
        allen.get_expression_data(atlas['image'],
                                  donors=[donor],
                                  probe_selection='diff_stability')
Exemplo n.º 4
0
def test_missing_labels(testfiles, atlas):
    # remove some labels from atlas image so numbers are non-sequential
    remove = [10, 20, 60]

    # subset atlas image
    img = check_img(atlas['image'])
    img_data = np.asarray(img.dataobj)
    for i in remove:
        img_data[img_data == i] = 0
    img = img.__class__(img_data, img.affine)

    # subset atlas info
    info = pd.read_csv(atlas['info'])
    info = info[~info['id'].isin(remove)]

    # test get expression
    out, counts = allen.get_expression_data(img,
                                            info,
                                            exact=False,
                                            return_counts=True,
                                            donors=['12876', '15496'])
    assert out.index.name == 'label'
    assert out.columns.name == 'gene_symbol'
    assert len(out) == len(info)

    assert isinstance(counts, pd.DataFrame)
    assert counts.shape == (len(info), len(testfiles))
Exemplo n.º 5
0
def donor_expression(testdir, testfiles):
    return allen.get_expression_data(ATLAS.image,
                                     ATLAS.info,
                                     exact=False,
                                     return_donors=True,
                                     data_dir=testdir,
                                     donors=['12876', '15496'])
Exemplo n.º 6
0
def test_extra_get_expression_data(testfiles, atlas, opts):
    if opts.get('atlas_info'):
        opts['atlas_info'] = atlas['info']

    out = allen.get_expression_data(atlas['image'], donors=['12876', '15496'],
                                    **opts)
    assert out.index.name == 'label'
    assert out.columns.name == 'gene_symbol'
Exemplo n.º 7
0
def test_extra_get_expression_data(testfiles):
    for opts in [{'atlas_info': ATLAS.info},
                 {'exact': False},
                 {'reannotated': False},
                 {'atlas_info': ATLAS.info, 'exact': False}]:
        out = allen.get_expression_data(testfiles, ATLAS.image, **opts)
        assert isinstance(out, pd.DataFrame)
        assert out.index.name == 'label'
        assert out.columns.name == 'gene_symbol'
Exemplo n.º 8
0
def test_extra_get_expression_data(testfiles, atlas, opts):
    if opts.get('atlas_info', False):
        opts['atlas_info'] = atlas['info']

    out = allen.get_expression_data(atlas['image'],
                                    donors=testfiles.keys(),
                                    **opts)
    assert out.index.name == 'label'
    assert out.columns.name == 'gene_symbol'
    if 'missing' in opts and 'atlas_info' not in opts:
        assert not np.any(out.isna())
    elif 'missing' in opts and 'atlas_info' in opts:
        assert np.any(out.isna())
Exemplo n.º 9
0
def test_missing_labels(testfiles):
    # remove some labels from atlas image so numbers are non-sequential
    remove = [10, 20, 60]
    # subset atlas image
    atlas = check_niimg(ATLAS.image).get_data()
    for i in remove:
        atlas[atlas == i] = 0
    atlas = new_img_like(ATLAS.image, atlas)
    # subset atlas info
    atlas_info = pd.read_csv(ATLAS.info)
    atlas_info = atlas_info[~atlas_info.id.isin(remove)]
    # test get expression
    out, counts = allen.get_expression_data(testfiles, atlas, atlas_info,
                                            exact=False, return_counts=True)
    assert isinstance(out, pd.DataFrame)
    assert out.index.name == 'label'
    assert out.columns.name == 'gene_symbol'
    assert len(out) == len(atlas_info)

    assert isinstance(counts, pd.DataFrame)
    assert counts.shape == (len(atlas_info), len(testfiles.probes))
Exemplo n.º 10
0
def test_vanilla_get_expression_data(testfiles, atlas):
    out = allen.get_expression_data(atlas['image'], donors=['12876', '15496'])
    assert np.allclose(out.index, range(1, 84))
    assert out.index.name == 'label'
    assert out.columns.name == 'gene_symbol'
Exemplo n.º 11
0
def test_individualized_surface_expression_data(testfiles):
    atlas = allen.datasets.fetch_desikan_killiany(native=True, surface=True)
    out = allen.get_expression_data(atlas['image'], donors=testfiles.keys())
    assert out.index.name == 'label'
    assert out.columns.name == 'gene_symbol'
Exemplo n.º 12
0
def test_vanilla_surface_expression_data(testfiles, surface):
    out = allen.get_expression_data(surface['image'], donors=testfiles.keys())
    assert out.index.name == 'label'
    assert out.columns.name == 'gene_symbol'
Exemplo n.º 13
0
def test_vanilla_get_expression_data(testdir, testfiles):
    out = allen.get_expression_data(ATLAS.image, data_dir=testdir,
                                    donors=['12876', '15496'])
    assert isinstance(out, pd.DataFrame)
    assert out.index.name == 'label'
    assert out.columns.name == 'gene_symbol'
Exemplo n.º 14
0
def donor_expression(testfiles):
    return allen.get_expression_data(testfiles, ATLAS.image, ATLAS.info,
                                     exact=False, return_donors=True)
Exemplo n.º 15
0
def donor_expression(testfiles, atlas):
    return list(
        allen.get_expression_data(atlas['image'],
                                  missing='centroids',
                                  return_donors=True,
                                  donors=['12876', '15496']).values())
Exemplo n.º 16
0
def donor_expression(testfiles, atlas):
    return allen.get_expression_data(atlas['image'],
                                     atlas['info'],
                                     exact=False,
                                     return_donors=True,
                                     donors=['12876', '15496'])