예제 #1
0
 def test_getRep(self): 
     '''getRep should return the desired number of sequences '''
     aaUsage = tcrRepSim.readAaUsage(self.aaUsageFile)
     codonUsage = tcrRepSim.readCodonUsage(self.codonUsageFile)
     seqs = tcrRepSim.getUniqSeqRep(10, aaUsage[9], codonUsage)
     tcrRepSim.getRep( seqs, 50, None )
     total = sum([s.count for s in seqs])
     self.assertTrue( total == 50 )
예제 #2
0
 def test_getUniqSeqRep(self): 
     '''getUniqSeqRep should return the desired number of uniq sequences '''
     aaUsage = tcrRepSim.readAaUsage(self.aaUsageFile)
     codonUsage = tcrRepSim.readCodonUsage(self.codonUsageFile)
     seqs = tcrRepSim.getUniqSeqRep(100, aaUsage[9], codonUsage)
     self.assertTrue( len(seqs) == 100)
     visited = []
     for s in seqs:
         self.assertTrue( s.nuc not in visited )
         visited .append(s.nuc)
예제 #3
0
    def test_sampling(self): 
        '''sampling should return the desired number of sequences '''
        aaUsage = tcrRepSim.readAaUsage(self.aaUsageFile)
        codonUsage = tcrRepSim.readCodonUsage(self.codonUsageFile)
        seqs = tcrRepSim.getUniqSeqRep(10, aaUsage[9], codonUsage)
        tcrRepSim.getRep( seqs, 50, None )

        samseqs = tcrRepSim.sampling( seqs, 20 )
        total = sum([s.count for s in samseqs])

        self.assertTrue( len(samseqs) <= 10 )
        self.assertTrue( total == 20 )
예제 #4
0
 def test_readAaUsage_goodInput(self):
     '''readAaUsage should return correct known usage'''
     len2aaUsage = tcrRepSim.readAaUsage( self.goodEx )
     lens = [2, 4]
     knownUsage = {2:[{'C':9999.0/10000, 'A':1.0/10000}, {'F':3.0/3}], 4:[ {'C':100.0/100}, {'A':79.0/100, 'R': 1.0/100, 'S':20.0/100}, {'A':500.0/1000, 'C':200.0/1000, 'G':300.0/1000},{'F':1}] }
     
     for l in lens:
         self.assertTrue( l in len2aaUsage )
         self.assertTrue( len( len2aaUsage[l] ) == l )
         aaUsage = len2aaUsage[l]
         known = knownUsage[l]
         for i in xrange(l):
             s = aaUsage[i]
             freqs = known[i]
             a2c = {}
             for a in s:
                 if a in a2c:
                     a2c[a] += 1
                 else:
                     a2c[a] = 1
             for a in a2c:
                 a2c[a] = float( a2c[a] )/len(s)
                 self.assertTrue( a2c[a] == freqs[a] )