def test_fingerprint(self): """CodonUsage fingerprint should give correct ratios.""" c = EqualBases.codons() f = c.fingerprint() self.assertEqual(len(f), 9) self.assertEqual(f, \ [[.5,.5,.125] for i in range(8)] + [[.5,.5,1]]) #should be able to omit mean... f = c.fingerprint(include_mean=False) self.assertEqual(f, [[.5,.5,.125] for i in range(8)]) #...or use all doublets f = c.fingerprint(include_mean=False, which_blocks='all') self.assertEqual(len(f), 16) #...or do just the non-quartet ones f = c.fingerprint(include_mean=False, which_blocks='split') self.assertEqual(len(f), 6) #check that it doesn't fail on an empty codon usage c = CodonUsage('') f = c.fingerprint() self.assertEqual(f[0], [0.5, 0.5, 0])