def test_MultipleDuplicates_ReturnOneR1AndOneR2(self): r1, r2 = bam2fastq.get_unique_reads_pairs(self.reads[:9]) expected_r1 = [self.reads[0]] expected_r2 = [self.reads[4]] self.assertListEqual(r1, expected_r1) self.assertListEqual(r2, expected_r2)
def test_EmptyReads_ReturnEmptyLists(self): r1, r2 = bam2fastq.get_unique_reads_pairs([]) expected_r1 = [] expected_r2 = [] self.assertListEqual(r1, expected_r1) self.assertListEqual(r2, expected_r2)
def test_OneR1OneR2_ReturnOneR1AndOneR2(self): r1, r2 = bam2fastq.get_unique_reads_pairs( [self.reads[0], self.reads[4]]) expected_r1 = [self.reads[0]] expected_r2 = [self.reads[4]] self.assertListEqual(r1, expected_r1) self.assertListEqual(r2, expected_r2)
def test_MultipleDuplicatesNoPrimary_ReturnOneR1AndOneR2(self): r1, r2 = bam2fastq.get_unique_reads_pairs( [self.reads[2], self.reads[3], self.reads[6]]) expected_r1 = [self.reads[2]] expected_r2 = [self.reads[6]] self.assertListEqual(r1, expected_r1) self.assertListEqual(r2, expected_r2)
def test_MultipleDuplicatesTwoReadGroups_ReturnTwoPairsOfReads(self): self.reads[1].set_tag('RG', 'test') self.reads[6].set_tag('RG', 'test') r1, r2 = bam2fastq.get_unique_reads_pairs(self.reads) expected_r1 = self.reads[:2] expected_r2 = [self.reads[4], self.reads[6]] self.assertListEqual(r1, expected_r1) self.assertListEqual(r2, expected_r2)
def test_OneR2_RaiseAssertError(self): with self.assertRaises(AssertionError): bam2fastq.get_unique_reads_pairs(self.reads[4:5])