def to_nuc(self, table='standard', rna=False): from ochre.Misc import tTables tab = tTables(table) try: rseq = ''.join([tab[i][0] for i in self.seq]) except KeyError: raise KeyError('Amino acid not found in table.') if rna: return Seq(rseq.replace('T', 'U'), seq_type='RNA') else: return Seq(rseq, seq_type='DNA')
def to_pep(self, table='standard'): from ochre.Misc import tTables tab = tTables(table) flatten = lambda l: [item for sublist in l for item in sublist] rtab = dict(flatten([zip(tab[i], len(tab[i]) * [i]) for i in tab])) if self._is_rna(): rtab = dict([(i.replace('T', 'U'), rtab[i]) for i in rtab]) rseq = ''.join(rtab.get(cdn, 'X') for cdn \ in self.slid_win(3, overlapping=False) if len(cdn) == 3) return Seq(rseq, seq_type='PROTEIN')