Пример #1
0
    def test_count_alleles_subpops(self):

        data = chunked.storage_registry['default'].array(diploid_genotype_data, chunklen=2)
        g = GenotypeChunkedArray(data)
        subpops = {'foo': [0, 2], 'bar': [1]}
        ac_subpops = g.count_alleles_subpops(subpops)
        for p in subpops.keys():
            ac = g.take(subpops[p], axis=1).count_alleles()
            aeq(ac, ac_subpops[p])

        loc = np.array([True, False, True, False, True])
        t = ac_subpops.compress(loc)
        eq(3, len(t))
Пример #2
0
    def test_constructor(self):

        # missing data arg
        with assert_raises(TypeError):
            # noinspection PyArgumentList
            GenotypeChunkedArray()

        # data has wrong dtype
        data = 'foo bar'
        with assert_raises(TypeError):
            GenotypeChunkedArray(data)

        # data has wrong dtype
        data = np.array([4., 5., 3.7])
        with assert_raises(TypeError):
            GenotypeChunkedArray(data)

        # data has wrong dimensions
        data = np.array([1, 2, 3])
        with assert_raises(TypeError):
            GenotypeChunkedArray(data)

        # data has wrong dimensions
        data = np.array([[1, 2], [3, 4]])  # use HaplotypeChunkedArray instead
        with assert_raises(TypeError):
            GenotypeChunkedArray(data)

        # diploid data (typed)
        g = self.setup_instance(np.array(diploid_genotype_data, dtype='i1'))
        aeq(diploid_genotype_data, g)
        eq(np.int8, g.dtype)

        # polyploid data (typed)
        g = self.setup_instance(np.array(triploid_genotype_data, dtype='i1'))
        aeq(triploid_genotype_data, g)
        eq(np.int8, g.dtype)
Пример #3
0
 def setup_instance(self, data, dtype=None):
     data = chunked.hdf5tmp_lzf_storage.array(data, dtype=dtype)
     return GenotypeChunkedArray(data)
Пример #4
0
 def setup_instance(self, data, **kwargs):
     data = chunked.storage_registry['default'].array(data, chunklen=2, **kwargs)
     return GenotypeChunkedArray(data)
Пример #5
0
 def setup_instance(self, data, **kwargs):
     data = chunked.zarrtmp_storage.array(data, **kwargs)
     return GenotypeChunkedArray(data)