Example #1
0
def sites_count_dict(codon_transitions=codon_weighting(empirical_mutations())):
    """Count sites for each codon, weighted by a mutation distribution."""
    codons = []
    for a in 'ATCG':
        for b in 'ATCG':
            for c in 'ATCG':
                codons.append(a + b + c)
    d = dict()
    for codon in codons:
        a = 0
        s = 0
        for i in range(len(codon)):
            bases = list('ATCG')
            bases.remove(codon[i])
            aa = sequtil.translate_orf(codon)
            for base in bases:
                new_codon = list(codon)
                new_codon[i] = base
                new_codon = "".join(new_codon)
                new_aa = sequtil.translate_orf(new_codon)
                if new_aa == aa:
                    s += 3 * codon_transitions[(codon, new_codon)]
                else:
                    a += 3 * codon_transitions[(codon, new_codon)]
        d[codon] = (a, s)
    return d
Example #2
0
def sites_count_dict(codon_transitions=codon_weighting(empirical_mutations())):
    """Count sites for each codon, weighted by a mutation distribution."""
    codons = []
    for a in 'ATCG':
        for b in 'ATCG':
            for c in 'ATCG':
                codons.append(a + b + c)
    d = dict()
    for codon in codons:
        a = 0
        s = 0
        for i in range(len(codon)):
            bases = list('ATCG')
            bases.remove(codon[i])
            aa = sequtil.translate_orf(codon)
            for base in bases:
                new_codon = list(codon)
                new_codon[i] = base
                new_codon = "".join(new_codon)
                new_aa = sequtil.translate_orf(new_codon)
                if new_aa == aa:
                    s += 3 * codon_transitions[(codon, new_codon)]
                else:
                    a += 3 * codon_transitions[(codon, new_codon)]
        d[codon] = (a,s)
    return d
Example #3
0
def is_nonsyn(snp):
    'test whether snp is non-synonymous, assuming frame 0 CDS annotation'
    geneSNP = snp.geneSNP
    ipos = geneSNP.start % 3
    codonStart = geneSNP.start - ipos
    codon = str(geneSNP.path.sequence[codonStart:codonStart + 3])
    b = snp.alt # substitution letter
    if geneSNP.sequence.orientation < 0: # must complement
        b = rcDict[b.upper()]
    codonAlt = codon[:ipos] + b + codon[ipos + 1:]
    snp.aaRef = sequtil.translate_orf(codon)
    snp.aaAlt = sequtil.translate_orf(codonAlt)
    return snp.aaRef != snp.aaAlt
    def test_simple_translate(self):
        db = self.db

        assert sequtil.translate_orf(str(db['methionine'])) == 'M'
        assert sequtil.translate_orf(str(db['flim'])) == 'FLIM'
Example #5
0
    def test_simple_translate(self):
        db = self.db

        assert sequtil.translate_orf(str(db['methionine'])) == 'M'
        assert sequtil.translate_orf(str(db['flim'])) == 'FLIM'