Oh, well I ended up using defaultdict, not sure what to do. What are
everyone else's thoughts?

On (May-11-14| 4:15), Jorge Cañardo Alastuey wrote:
> > +                                                        len(code_sequence)))
> > +
> > +        self.code_sequence = code_sequence
> > +        self.id = id
> > +        self.name = name
> > +        self.start_codon_sequence = start_codon_sequence
> > +        start_codons = {}
> > +        if start_codon_sequence:
> > +            for codon, aa in zip(self._codons, start_codon_sequence):
> > +                if aa != '-':
> > +                    start_codons[codon] = aa
> > +        self.start_codons = start_codons
> > +        codon_lookup = dict(zip(self._codons, code_sequence))
> > +        self.codons = codon_lookup
> > +        # create synonyms for each aa
> > +        aa_lookup = {}
> 
> I'd prefer we didn't expose a defaultdict, maybe using `aa_lookup.get(aa, []).append(codon)`? I just can't forget how Peter Norvig (director of research at Google) had a few bugs in some of [his code](http://norvig.com/spell-correct.html) due to defauldtics :S
> 
> ---
> Reply to this email directly or view it on GitHub:
> https://github.com/biocore/scikit-bio/pull/310/files#r12508405