Exemple #1
0
    def test_minimize_depths_complex(self):
        self.complexSetUp()
        seqs = map(sub.parse_alignment, self.raw_reads)
        expected_matrix = [[seqs[0], seqs[1], seqs[3]], [seqs[4]],
                           [seqs[6], seqs[7]]]
        expected_list = [seqs[0], seqs[1], seqs[3], seqs[4], seqs[6], seqs[7]]
        for seq in expected_list:
            seq.pick()
        expected_depths = np.array([3, 4, 6, 4, 3, 2, 2, 1])
        self.matrix.min_depth = 3
        self.matrix.minimize_depths()
        actual_matrix = self.matrix.seq_matrix
        for row in actual_matrix:
            for seq in row:
                if not seq.picked:
                    row.remove(seq)

        self.assertEquals(expected_matrix, actual_matrix)
        assert_equal(expected_depths, self.matrix.depth_array)
        self.assertEquals([seq.string for seq in expected_list],
                          sub.flatten_and_filter_matrix(
                              self.matrix.seq_matrix))
Exemple #2
0
 def test_minimize_depths_complex_more_random(self, func):
     #TODO: Refactor this so as not to duplicate code with non-random ecoli test
     self.complexSetUp()
     seqs = map(sub.parse_alignment, self.raw_reads)
     expected_matrix = [[seqs[0], seqs[1], seqs[2], seqs[3]],
                        [seqs[4], seqs[5]], [seqs[6], seqs[7]]]
     expected_list = seqs
     for seq in expected_list:
         seq.pick()
     expected_depths = np.array([4, 6, 7, 4, 3, 2, 2, 1])
     self.matrix.min_depth = 3
     self.matrix.more_random = True
     self.matrix.minimize_depths()
     actual_matrix = self.matrix.seq_matrix
     for row in actual_matrix:
         for seq in row:
             if not seq.picked:
                 row.remove(seq)
     self.assertEquals(expected_matrix, actual_matrix)
     assert_equal(expected_depths, self.matrix.depth_array)
     self.assertEquals([seq.string for seq in expected_list],
                       sub.flatten_and_filter_matrix(
                           self.matrix.seq_matrix))
    def test_minimize_depths_complex(self):
        self.complexSetUp()
        seqs = map(sub.parse_alignment, self.raw_reads) 
        expected_matrix =  [
                [seqs[0],  seqs[1],  seqs[3]],
                [seqs[4]],
                [seqs[6], seqs[7]]
                ]
        expected_list = [  seqs[0], seqs[1], seqs[3], seqs[4], seqs[6], seqs[7] ]
        for seq in expected_list:
            seq.pick()
        expected_depths = np.array([3, 4, 6, 4, 3, 2, 2, 1])
        self.matrix.min_depth = 3
        self.matrix.minimize_depths()
        actual_matrix = self.matrix.seq_matrix
        for row in actual_matrix:
            for seq in row:
                if not seq.picked:
                    row.remove(seq)

        self.assertEquals(expected_matrix, actual_matrix)
        assert_equal(expected_depths, self.matrix.depth_array)
        self.assertEquals([seq.string for seq in expected_list], sub.flatten_and_filter_matrix(self.matrix.seq_matrix)) 
 def test_minimize_depths_complex_more_random(self, func):
     #TODO: Refactor this so as not to duplicate code with non-random ecoli test
     self.complexSetUp()
     seqs = map(sub.parse_alignment, self.raw_reads) 
     expected_matrix =  [
             [seqs[0],  seqs[1],  seqs[2], seqs[3]],
             [seqs[4], seqs[5]],
             [seqs[6], seqs[7]]
             ]
     expected_list = seqs
     for seq in expected_list:
         seq.pick()
     expected_depths = np.array([4, 6, 7, 4, 3, 2, 2, 1])
     self.matrix.min_depth = 3
     self.matrix.more_random = True
     self.matrix.minimize_depths()
     actual_matrix = self.matrix.seq_matrix
     for row in actual_matrix:
         for seq in row:
             if not seq.picked:
                 row.remove(seq) 
     self.assertEquals(expected_matrix, actual_matrix)
     assert_equal(expected_depths, self.matrix.depth_array)
     self.assertEquals([seq.string for seq in expected_list], sub.flatten_and_filter_matrix(self.matrix.seq_matrix))