示例#1
0
    def test_equals_false(self):
        # type mismatch
        a = BiologicalSequence('ACGT', id='foo', description='abc',
                               quality=[1, 2, 3, 4])
        b = NucleotideSequence('ACGT', id='bar', description='def',
                               quality=[5, 6, 7, 8])
        self.assertFalse(a.equals(b, ignore=['quality', 'description', 'id']))

        # id mismatch
        a = BiologicalSequence('ACGT', id='foo')
        b = BiologicalSequence('ACGT', id='bar')
        self.assertFalse(a.equals(b))

        # description mismatch
        a = BiologicalSequence('ACGT', description='foo')
        b = BiologicalSequence('ACGT', description='bar')
        self.assertFalse(a.equals(b))

        # quality mismatch (both provided)
        a = BiologicalSequence('ACGT', quality=[1, 2, 3, 4])
        b = BiologicalSequence('ACGT', quality=[1, 2, 3, 5])
        self.assertFalse(a.equals(b))

        # quality mismatch (one provided)
        a = BiologicalSequence('ACGT', quality=[1, 2, 3, 4])
        b = BiologicalSequence('ACGT')
        self.assertFalse(a.equals(b))

        # sequence mismatch
        a = BiologicalSequence('ACGT')
        b = BiologicalSequence('TGCA')
        self.assertFalse(a.equals(b))
示例#2
0
    def test_equals_true(self):
        # sequences match, all other attributes are not provided
        self.assertTrue(
            BiologicalSequence('ACGT').equals(BiologicalSequence('ACGT')))

        # all attributes are provided and match
        a = BiologicalSequence('ACGT', id='foo', description='abc',
                               quality=[1, 2, 3, 4])
        b = BiologicalSequence('ACGT', id='foo', description='abc',
                               quality=[1, 2, 3, 4])
        self.assertTrue(a.equals(b))

        # ignore type
        a = BiologicalSequence('ACGT')
        b = DNASequence('ACGT')
        self.assertTrue(a.equals(b, ignore=['type']))

        # ignore id
        a = BiologicalSequence('ACGT', id='foo')
        b = BiologicalSequence('ACGT', id='bar')
        self.assertTrue(a.equals(b, ignore=['id']))

        # ignore description
        a = BiologicalSequence('ACGT', description='foo')
        b = BiologicalSequence('ACGT', description='bar')
        self.assertTrue(a.equals(b, ignore=['description']))

        # ignore quality
        a = BiologicalSequence('ACGT', quality=[1, 2, 3, 4])
        b = BiologicalSequence('ACGT', quality=[5, 6, 7, 8])
        self.assertTrue(a.equals(b, ignore=['quality']))

        # ignore sequence
        a = BiologicalSequence('ACGA')
        b = BiologicalSequence('ACGT')
        self.assertTrue(a.equals(b, ignore=['sequence']))

        # ignore everything
        a = BiologicalSequence('ACGA', id='foo', description='abc',
                               quality=[1, 2, 3, 4])
        b = DNASequence('ACGT', id='bar', description='def',
                        quality=[5, 6, 7, 8])
        self.assertTrue(a.equals(b, ignore=['quality', 'description', 'id',
                                            'sequence', 'type']))