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.