comparison ngsutils/support/llh.py @ 2:7a68005de299 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ngsutils commit 9a243c616a4a3156347e38fdb5f35863ae5133f9
author iuc
date Sun, 27 Nov 2016 15:01:21 -0500
parents 4e4e4093d65d
children
comparison
equal deleted inserted replaced
1:8187a729d9f4 2:7a68005de299
1 ''' 1 '''
2 Methods for calculating log-likelihoods for nucleotide frequencies 2 Methods for calculating log-likelihoods for nucleotide frequencies
3 ''' 3 '''
4 import collections
4 import math 5 import math
5 import collections 6
6 from ngsutils.support import memoize 7 from ngsutils.support import memoize
7 8
8 _default_background = {'A': 0.3, 'T': 0.3, 'C': 0.2, 'G': 0.2} 9 _default_background = {'A': 0.3, 'T': 0.3, 'C': 0.2, 'G': 0.2}
9 10
10 NucleotideLogLikelihood = collections.namedtuple('NucleotideLogLikelihood', 'A C G T pseudo') 11 NucleotideLogLikelihood = collections.namedtuple('NucleotideLogLikelihood', 'A C G T pseudo')
12
11 13
12 @memoize 14 @memoize
13 def pseudo_count(N, bg): 15 def pseudo_count(N, bg):
14 ''' 16 '''
15 >>> pseudo_count(100, _default_background['A']) 17 >>> pseudo_count(100, _default_background['A'])
47 freqT = Tp / Np 49 freqT = Tp / Np
48 50
49 return NucleotideLogLikelihood(math.log(freqA / bg['A']), math.log(freqC / bg['C']), math.log(freqG / bg['G']), math.log(freqT / bg['T']), pseudo) 51 return NucleotideLogLikelihood(math.log(freqA / bg['A']), math.log(freqC / bg['C']), math.log(freqG / bg['G']), math.log(freqT / bg['T']), pseudo)
50 52
51 53
52
53 if __name__ == '__main__': 54 if __name__ == '__main__':
54 import doctest 55 import doctest
55 doctest.testmod() 56 doctest.testmod()