52 template <genetic_code gc = genetic_code::CANONICAL, nucleot
ide_alphabet nucl_type>
58 return seqan3::detail::translation_table<nucl_type, gc>::VALUE[
to_rank(n1)][
to_rank(n2)][
to_rank(n3)];
67 return seqan3::detail::translation_table<rna2dna_t, gc>::VALUE[
to_rank(n1)][
to_rank(n2)][
to_rank(n3)];
73 return seqan3::detail::translation_table<dna15, gc>::VALUE[
to_rank(static_cast<dna15>(n1))]
74 [
to_rank(static_cast<dna15>(n2))]
75 [
to_rank(static_cast<dna15>(n3))];
98 template <genetic_code gc = genetic_code::CANONICAL,
typename tuple_type>
100 requires std::tuple_size<tuple_type>::value == 3 &&
107 return translate_triplet(std::get<0>(input_tuple), std::get<1>(input_tuple), std::get<2>(input_tuple));
129 template <genetic_code gc = genetic_code::CANONICAL, std::ranges::input_range range_type>
135 auto n1 = begin(input_range);
139 assert(n1 != end(input_range));
140 assert(n2 != end(input_range));
141 assert(n3 != end(input_range));
165 template <genetic_code gc = genetic_code::CANONICAL, std::ranges::random_access_range rng_t>
171 assert(input_range.begin() != end(input_range));
172 assert(input_range.begin() + 1 != end(input_range));
173 assert(input_range.begin() + 2 != end(input_range));