def test_conservation_boundaries(self): alignment1 = skbio.TabularMSA([ skbio.DNA('A', metadata={ 'id': 'seq1', 'description': '' }), skbio.DNA('A', metadata={ 'id': 'seq2', 'description': '' }), skbio.DNA('A', metadata={ 'id': 'seq3', 'description': '' }) ]) alignment2 = skbio.TabularMSA([ skbio.DNA('-', metadata={ 'id': 'seq1', 'description': '' }), skbio.DNA('-', metadata={ 'id': 'seq2', 'description': '' }), skbio.DNA('-', metadata={ 'id': 'seq3', 'description': '' }) ]) actual = mask(alignment1, max_gap_frequency=1.0, min_conservation=1.0) self.assertEqual(actual, alignment1) actual = mask(alignment2, max_gap_frequency=1.0, min_conservation=0.0) self.assertEqual(actual, alignment2)
def test_invalid_conservation_threshold(self): alignment = skbio.TabularMSA( [skbio.DNA('-', metadata={'id': 'seq1', 'description': ''}), skbio.DNA('-', metadata={'id': 'seq2', 'description': ''}), skbio.DNA('-', metadata={'id': 'seq3', 'description': ''})] ) eps = np.finfo(float).eps with self.assertRaises(ValueError): mask(alignment, min_conservation=0.0 - eps) with self.assertRaises(ValueError): mask(alignment, min_conservation=1.0 + eps)
def test_empty_input(self): alignment = skbio.TabularMSA( [skbio.DNA('', metadata={'id': 'seq1', 'description': ''}), skbio.DNA('', metadata={'id': 'seq2', 'description': ''}), skbio.DNA('', metadata={'id': 'seq3', 'description': ''})] ) with self.assertRaises(ValueError): mask(alignment) alignment = skbio.TabularMSA([]) with self.assertRaises(ValueError): mask(alignment)
def test_conservation_boundaries(self): alignment1 = skbio.TabularMSA( [skbio.DNA('A', metadata={'id': 'seq1', 'description': ''}), skbio.DNA('A', metadata={'id': 'seq2', 'description': ''}), skbio.DNA('A', metadata={'id': 'seq3', 'description': ''})]) alignment2 = skbio.TabularMSA( [skbio.DNA('-', metadata={'id': 'seq1', 'description': ''}), skbio.DNA('-', metadata={'id': 'seq2', 'description': ''}), skbio.DNA('-', metadata={'id': 'seq3', 'description': ''})]) actual = mask(alignment1, max_gap_frequency=1.0, min_conservation=1.0) self.assertEqual(actual, alignment1) actual = mask(alignment2, max_gap_frequency=1.0, min_conservation=0.0) self.assertEqual(actual, alignment2)
def test_basic(self): alignment = skbio.TabularMSA([ skbio.DNA('AGA', metadata={ 'id': 'seq1', 'description': '' }), skbio.DNA('-GA', metadata={ 'id': 'seq2', 'description': '' }), skbio.DNA('-GC', metadata={ 'id': 'seq3', 'description': '' }) ]) actual = mask(alignment, max_gap_frequency=0.05, min_conservation=0.30) expected = skbio.TabularMSA([ skbio.DNA('GA', metadata={ 'id': 'seq1', 'description': '' }), skbio.DNA('GA', metadata={ 'id': 'seq2', 'description': '' }), skbio.DNA('GC', metadata={ 'id': 'seq3', 'description': '' }) ]) self.assertEqual(actual, expected)
def test_basic(self): alignment = skbio.TabularMSA( [skbio.DNA('AGA', metadata={'id': 'seq1', 'description': ''}), skbio.DNA('-GA', metadata={'id': 'seq2', 'description': ''}), skbio.DNA('-GC', metadata={'id': 'seq3', 'description': ''})] ) actual = mask(alignment, max_gap_frequency=0.05, min_conservation=0.30) expected = skbio.TabularMSA( [skbio.DNA('GA', metadata={'id': 'seq1', 'description': ''}), skbio.DNA('GA', metadata={'id': 'seq2', 'description': ''}), skbio.DNA('GC', metadata={'id': 'seq3', 'description': ''})] ) self.assertEqual(actual, expected)