The alphabet module's namespace. More...
Namespaces | |
namespace | custom |
A namespace for third party and standard library specialisations of BioC++ customisation points. | |
namespace | literals |
An inline namespace for alphabet literals. It exists to safely allow using namespace . | |
Classes | |
class | aa10li |
The reduced Li amino acid alphabet.. More... | |
class | aa10murphy |
The reduced Murphy amino acid alphabet.. More... | |
class | aa20 |
The canonical amino acid alphabet.. More... | |
class | aa27 |
The twenty-seven letter amino acid alphabet.. More... | |
class | aminoacid_base |
A CRTP-base that refines bio::alphabet::base and is used by the amino acids. More... | |
struct | aminoacid_empty_base |
This is an empty base class that can be inherited by types that shall model bio::alphabet::aminoacid. More... | |
class | base |
A CRTP-base that makes defining a custom alphabet easier. More... | |
class | base< derived_type, 1ul, char_t > |
Specialisation of bio::alphabet::base for alphabets of size 1. More... | |
class | cigar |
The cigar semialphabet pairs a counter with a bio::alphabet::cigar_op letter. More... | |
class | cigar_op |
The cigar operation alphabet.. More... | |
class | dna15 |
The 15 letter DNA alphabet, containing all IUPAC smybols minus the gap.. More... | |
class | dna16sam |
A 16 letter DNA alphabet, containing all IUPAC symbols minus the gap and plus an equality sign ('=').. More... | |
class | dna4 |
The four letter DNA alphabet of A,C,G,T.. More... | |
class | dna5 |
The five letter DNA alphabet of A,C,G,T and the unknown character N.. More... | |
class | gap |
The alphabet of a gap character '-'. More... | |
struct | invalid_char_assignment |
An exception typically thrown by bio::alphabet::assign_char_strict. More... | |
class | mask |
Implementation of a masked semialphabet to be used for tuple composites.. More... | |
class | masked |
A template for composite alphabets that differentiate between upper and lower case characters.. More... | |
class | nucleotide_base |
A CRTP-base that refines bio::alphabet::base and is used by the nucleotides. More... | |
class | phred42 |
Quality type for traditional Sanger and modern Illumina Phred scores (typical range).. More... | |
class | phred63 |
Quality type for traditional Sanger and modern Illumina Phred scores (full range).. More... | |
class | phred68legacy |
Quality type for Solexa and deprecated Illumina formats.. More... | |
class | proxy_base |
A CRTP-base that eases the definition of proxy types returned in place of regular alphabets. More... | |
class | qualified |
Joins an arbitrary alphabet with a quality alphabet. More... | |
class | quality_base |
A CRTP-base that refines bio::alphabet::base and is used by the quality alphabets. More... | |
class | rna15 |
The 15 letter RNA alphabet, containing all IUPAC smybols minus the gap.. More... | |
class | rna4 |
The four letter RNA alphabet of A,C,G,U.. More... | |
class | rna5 |
The five letter RNA alphabet of A,C,G,U and the unknown character N.. More... | |
class | semialphabet_any |
A semi-alphabet that type erases all other semi-alphabets of the same size. More... | |
class | tuple_base |
The CRTP base for a combined alphabet that contains multiple values of different alphabets at the same time.. More... | |
class | variant |
A combined alphabet that can hold values of either of its alternatives.. More... | |
Concepts | |
concept | aminoacid |
A concept that indicates whether an alphabet represents amino acids. | |
concept | semialphabet |
The basis for bio::alphabet::alphabet, but requires only rank interface (not char). | |
concept | writable_semialphabet |
A refinement of bio::alphabet::semialphabet that adds assignability. | |
concept | alphabet |
The generic alphabet concept that covers most data types used in ranges. | |
concept | writable_alphabet |
Refines bio::alphabet::alphabet and adds assignability. | |
concept | nucleotide |
A concept that indicates whether an alphabet represents nucleotides. | |
concept | quality |
A concept that indicates whether an alphabet represents quality scores. | |
concept | writable_quality |
A concept that indicates whether a writable alphabet represents quality scores. | |
Typedefs | |
template<typename alphabet_type > | |
using | char_t = decltype(bio::alphabet::to_char(std::declval< alphabet_type const >())) |
The char_type of the alphabet; defined as the return type of bio::alphabet::to_char. | |
using | dna15q = qualified< dna15, phred42 > |
An alphabet that stores a bio::alphabet::dna15 letter and an bio::alphabet::qualified letter at each position. | |
using | dna4q = qualified< dna4, phred42 > |
An alphabet that stores a bio::alphabet::dna4 letter and an bio::alphabet::phred42 letter at each position. | |
using | dna5q = qualified< dna5, phred42 > |
An alphabet that stores a bio::alphabet::dna5 letter and an bio::alphabet::phred42 letter at each position. | |
template<typename alphabet_t > | |
using | gapped = variant< alphabet_t, gap > |
Extends a given alphabet with a gap character. | |
template<typename alphabet_type > | |
using | phred_t = decltype(bio::alphabet::to_phred(std::declval< alphabet_type >())) |
The phred_type of the alphabet; defined as the return type of bio::alphabet::to_phred. | |
template<typename semi_alphabet_type > | |
using | rank_t = decltype(bio::alphabet::to_rank(std::declval< semi_alphabet_type >())) |
The rank_type of the semi-alphabet; defined as the return type of bio::alphabet::to_rank. | |
using | rna15q = qualified< rna15, phred42 > |
An alphabet that stores a bio::alphabet::rna15 letter and an bio::alphabet::qualified letter at each position. | |
using | rna4q = qualified< rna4, phred42 > |
An alphabet that stores a bio::alphabet::rna4 letter and an bio::alphabet::phred42 letter at each position. | |
using | rna5q = qualified< rna5, phred42 > |
An alphabet that stores a bio::alphabet::rna5 letter and an bio::alphabet::phred42 letter at each position. | |
Enumerations | |
enum struct | genetic_code : uint8_t { CANONICAL = 1 } |
Genetic codes used for translation of nucleotides into amino acids. More... | |
enum class | translation_frames : uint8_t { translation_frames::FWD_FRAME_0 = 1 , translation_frames::FWD_FRAME_1 = 1 << 1 , translation_frames::FWD_FRAME_2 = 1 << 2 , translation_frames::REV_FRAME_0 = 1 << 3 , translation_frames::REV_FRAME_1 = 1 << 4 , translation_frames::REV_FRAME_2 = 1 << 5 , translation_frames::FWD_REV_0 = FWD_FRAME_0 | REV_FRAME_0 , translation_frames::FWD_REV_1 = FWD_FRAME_1 | REV_FRAME_1 , translation_frames::FWD_REV_2 = FWD_FRAME_2 | REV_FRAME_2 , translation_frames::FWD = FWD_FRAME_0 | FWD_FRAME_1 | FWD_FRAME_2 , translation_frames::REV = REV_FRAME_0 | REV_FRAME_1 | REV_FRAME_2 , translation_frames::SIX_FRAME = FWD | REV } |
Specialisation values for single and multiple translation frames. More... | |
Functions | |
template<genetic_code gc = genetic_code::CANONICAL, nucleotide nucl_type> | |
constexpr aa27 | translate_triplet (nucl_type const &n1, nucl_type const &n2, nucl_type const &n3) noexcept |
Translate one nucleotide triplet into single amino acid (single nucleotide interface). | |
Binary operators for bio::alphabet::translation_frames. | |
Perform binary operations like on ints or weak enums. | |
constexpr translation_frames | operator& (translation_frames lhs, translation_frames rhs) noexcept |
Binary operators for bio::alphabet::translation_frames. | |
constexpr translation_frames | operator| (translation_frames lhs, translation_frames rhs) noexcept |
Binary operators for bio::alphabet::translation_frames. | |
constexpr translation_frames | operator^ (translation_frames lhs, translation_frames rhs) noexcept |
Binary operators for bio::alphabet::translation_frames. | |
constexpr translation_frames | operator~ (translation_frames lhs) noexcept |
Binary operators for bio::alphabet::translation_frames. | |
constexpr translation_frames & | operator&= (translation_frames &lhs, translation_frames rhs) noexcept |
Binary operators for bio::alphabet::translation_frames. | |
constexpr translation_frames & | operator|= (translation_frames &lhs, translation_frames rhs) noexcept |
Binary operators for bio::alphabet::translation_frames. | |
constexpr translation_frames & | operator^= (translation_frames &lhs, translation_frames rhs) noexcept |
Binary operators for bio::alphabet::translation_frames. | |
Variables | |
template<typename alph_t , typename wrap_t = meta::default_initialisable_wrap_t<alph_t>> | |
constexpr auto | size |
A type trait that holds the size of a (semi-)alphabet. | |
Function objects | |
constexpr auto | to_rank |
Return the rank representation of a (semi-)alphabet object. | |
constexpr auto | assign_rank_to |
Assign a rank to an alphabet object. | |
constexpr auto | to_char |
Return the char representation of an alphabet object. | |
constexpr auto | assign_char_to |
Assign a char to an alphabet object. | |
template<typename alph_t > | |
constexpr auto | char_is_valid_for |
Returns whether a character is in the valid set of a bio::alphabet::alphabet (usually implies a bijective mapping to an alphabet value). | |
constexpr auto | assign_char_strictly_to |
Assign a character to an alphabet object, throw if the character is not valid. | |
Function objects (Nucleotide) | |
constexpr auto | complement |
Return the complement of a nucleotide object. | |
Function objects (Quality) | |
constexpr auto | to_phred |
The public getter function for the phred representation of a quality score. | |
constexpr auto | assign_phred_to |
Assign a phred score to a quality alphabet object. | |
The alphabet module's namespace.