Beispiel #1
0
    def test_chunk_pairs(self):
        poss = [5, 7, 8, 10, 11, 12]
        chroms = ['c1'] * len(poss)
        poss = numpy.array(poss)
        chroms = numpy.array(chroms)
        varis = VariationsArrays()
        varis[POS_FIELD] = poss
        varis[CHROM_FIELD] = chroms

        pairs = list(varis.iterate_chunk_pairs(max_dist=3, chunk_size=2))
        pos_pairs = [(pair['chunk1'][POS_FIELD][0], pair['chunk2'][POS_FIELD][0]) for pair in pairs]
        expected = [(5, 5), (5, 8), (8, 8), (8, 11), (11, 11)]
        assert pos_pairs == expected

        pairs = list(varis.iterate_chunk_pairs(max_dist=4, chunk_size=2))
        pos_pairs = [(pair['chunk1'][POS_FIELD][0], pair['chunk2'][POS_FIELD][0]) for pair in pairs]
        expected = [(5, 5), (5, 8), (5, 11), (8, 8), (8, 11), (11, 11)]
        assert pos_pairs == expected