def ungap(self, gap=None): if hasattr(self.alphabet, "gap_char"): if not gap: gap = self.alphabet.gap_char elif gap != self.alphabet.gap_char: raise ValueError("Gap %s does not match %s from alphabet" % (repr(gap), repr(self.alphabet.alphabet.gap_char))) alpha = _ungap(self.alphabet) elif not gap: raise ValueError("Gap character not given and not defined in " "alphabet") else: alpha = self.alphabet # modify! if len(gap) != 1 or not isinstance(gap, str): raise ValueError("Unexpected gap character, %s" % repr(gap)) return CodonSeq(str(self._data).replace(gap, ""), alpha, rf_table=self.rf_table)