Пример #1
0
 def test_aminoAcids(self):
     """CodonUsage aminoAcids should correctly count amino acids"""
     freqs = {'UUC':5, 'AUA':10, 'AUG':10, 'CGC':3, 'AGG':2, 'XYZ':8,
         'UAA':2, 'UGA':1}
     u = CodonUsage(freqs, "test")
     self.assertEqual(u.Info, 'test')
     for key, val in u.items():
         if key in freqs:
             self.assertEqual(val, freqs[key])
         else:
             self.assertEqual(val, 0)
     aa = u.aminoAcids()
     self.assertEqual(aa,
         AminoAcidUsage({'F':5,'I':10,'M':10,'R':5,'*':3,'X':8}))
     #check that it works with a different genetic code
     u.GeneticCode = GeneticCodes['2']
     aa = u.aminoAcids()
     self.assertEqual(aa,
         AminoAcidUsage({'F':5,'I':0,'M':20,'R':3,'*':4,'W':1,'X':8}))
     #check that it works if a genetic code is supplied explicitly
     u.GeneticCode = GeneticCodes[1]
     aa = u.aminoAcids()
     self.assertEqual(aa,
         AminoAcidUsage({'F':5,'I':10,'M':10,'R':5,'*':3,'X':8}))
     aa_2 = u.aminoAcids(2)
     self.assertEqual(aa_2,
         AminoAcidUsage({'F':5,'I':0,'M':20,'R':3,'*':4,'W':1,'X':8}))
     #check that we held onto the info object through the above
     self.assertEqual(aa_2.Info, 'test')
Пример #2
0
 def test_aminoAcids(self):
     """BaseUsage aminoAcids should give the same results as the codons"""
     known_data = {
         'AAA' : .6 * .6 * .6,
         'AAU' : .6 * .6 * .4,
         'AUA' : .6 * .4 * .6,
         'AUU' : .6 * .4 * .4,
         'UAA' : .4 * .6 * .6,
         'UAU' : .4 * .6 * .4,
         'UUA' : .4 * .4 * .6,
         'UUU' : .4 * .4 * .4,
     }
     known = CodonUsage(known_data)
     b = BaseUsage({'a':3, 'T':2, 'X':1})
     self.assertEqual(b.aminoAcids(), known.aminoAcids())
     #check that the genetic code is passed through correctly
     all_g = GeneticCode('G'*64)
     self.assertEqual(b.aminoAcids(all_g), AminoAcidUsage({'G':1}))