SeqAn3  3.0.2
The Modern C++ library for sequence analysis.
seqan3 Namespace Reference

The main SeqAn3 namespace. More...

Namespaces

 align_cfg
 A special sub namespace for the alignment configurations.
 
 custom
 A namespace for third party and standard library specialisations of SeqAn customisation points.
 
 list_traits
 Namespace containing traits for working on seqan3::type_list.
 
 pack_traits
 Namespace containing traits for working on type packs.
 
 search_cfg
 A special sub namespace for the search configurations.
 
 views
 The SeqAn namespace for views.
 

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  aligned_allocator
 Allocates uninitialized storage whose memory-alignment is specified by alignment. More...
 
class  alignment_coordinate
 Represents the begin/end of the pairwise alignment in the respective sequences. More...
 
class  alignment_file_header
 Stores the header information of alignment files. More...
 
class  alignment_file_input
 A class for reading alignment files, e.g. SAM, BAM, BLAST ... More...
 
struct  alignment_file_input_default_traits
 The default traits for seqan3::alignment_file_input. More...
 
struct  alignment_file_input_options
 The options type defines various option members that influence the behaviour of all or some formats. More...
 
class  alignment_file_output
 A class for writing alignment files, e.g. SAM, BAL, BLAST, ... More...
 
struct  alignment_file_output_options
 The options type defines various option members that influence the behavior of all or some formats. More...
 
class  alignment_range
 An input range over the alignment results generated by the underlying alignment executor. More...
 
class  alignment_result
 Stores the alignment results and gives access to score, alignment and the front and back coordinates. More...
 
class  alphabet_base
 A CRTP-base that makes defining a custom alphabet easier. More...
 
class  alphabet_base< derived_type, 1ul, char_t >
 Specialisation of seqan3::alphabet_base for alphabets of size 1. More...
 
class  alphabet_proxy
 A CRTP-base that eases the definition of proxy types returned in place of regular alphabets. More...
 
class  alphabet_tuple_base
 The CRTP base for a combined alphabet that contains multiple values of different alphabets at the same time. More...
 
class  alphabet_variant
 A combined alphabet that can hold values of either of its alternatives. More...
 
class  aminoacid_base
 A CRTP-base that refines seqan3::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 seqan3::aminoacid_alphabet. More...
 
class  aminoacid_scoring_scheme
 A data structure for managing and computing the score of two amino acids. More...
 
class  argument_parser
 The SeqAn command line parser. More...
 
class  argument_parser_error
 Argument parser exception that is thrown whenever there is an error while parsing the command line arguments. More...
 
struct  argument_parser_meta_data
 Stores all parser related meta information of the seqan3::argument_parser. More...
 
class  arithmetic_range_validator
 A validator that checks whether a number is inside a given range. More...
 
struct  back_end_first
 The penalty configuration for aligning the back of the first sequence with a gap. More...
 
struct  back_end_second
 The penalty configuration for aligning the back of the second sequence with a gap. More...
 
class  bi_fm_index
 The SeqAn Bidirectional FM Index. More...
 
class  bi_fm_index_cursor
 The SeqAn Bidirectional FM Index Cursor. More...
 
struct  bin_count
 A strong type that represents the number of bins for the seqan3::interleaved_bloom_filter. More...
 
struct  bin_index
 A strong type that represents the bin index for the seqan3::interleaved_bloom_filter. More...
 
struct  bin_literal
 A strong type of underlying type uint64_t that represents the shape in binary representation. More...
 
struct  bin_size
 A strong type that represents the number of bits for each bin in the seqan3::interleaved_bloom_filter. More...
 
class  bitcompressed_vector
 A space-optimised version of std::vector that compresses multiple letters into a single byte. More...
 
class  cigar
 The cigar semialphabet pairs a counter with a seqan3::cigar_op letter. More...
 
class  cigar_op
 The (extended) cigar operation alphabet of M,D,I,H,N,P,S,X,=. More...
 
class  concatenated_sequences
 Container that stores sequences concatenated internally. More...
 
class  configuration
 Collection of elements to configure an algorithm. More...
 
struct  const_reference
 Exposes the const_reference of another type. More...
 
struct  const_reference< rng_t >
 Exposes the const_reference of another type. More...
 
class  debug_stream_type
 A "pretty printer" for most SeqAn data structures and related types. More...
 
class  design_error
 Argument parser exception that is thrown whenever there is an design error directed at the developer of the application (e.g. Reuse of option). More...
 
struct  difference_type
 Exposes the difference_type of another type. More...
 
struct  difference_type< it_t >
 Exposes the difference_type of another type. More...
 
struct  difference_type< rng_t >
 Exposes the difference_type of another type. More...
 
class  dna15
 The 15 letter DNA alphabet, containing all IUPAC smybols minus the gap. More...
 
class  dna3bs
 The three letter reduced DNA alphabet for bisulfite sequencing mode (A,G,T(=C)). 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  dot_bracket3
 The three letter RNA structure alphabet of the characters ".()". More...
 
class  dssp9
 The protein structure alphabet of the characters "HGIEBTSCX". More...
 
class  dynamic_bitset
 A constexpr bitset implementation with dynamic size at compile time. More...
 
class  end_gaps
 Wraps the sequence end-gap specifiers and provides ordered access to the respective values. More...
 
struct  fields
 A class template that holds a choice of seqan3::field. More...
 
struct  file_open_error
 Thrown if there is an unspecified filesystem or stream error while opening, e.g. permission problem. More...
 
class  file_validator_base
 An abstract base class for the file and directory validators. More...
 
class  fm_index
 The SeqAn FM Index. More...
 
class  fm_index_cursor
 The SeqAn FM Index Cursor. More...
 
class  format_bam
 The BAM format. More...
 
class  format_embl
 The EMBL format. More...
 
struct  format_error
 Thrown if information given to output format didn't match expectations. More...
 
class  format_fasta
 The FastA format. More...
 
class  format_fastq
 The FastQ format. More...
 
class  format_genbank
 The GenBank format. More...
 
class  format_sam
 The SAM format (tag). More...
 
class  format_vienna
 The Vienna format (dot bracket notation) for RNA sequences with secondary structure. More...
 
struct  front_end_first
 The penalty configuration for aligning the front of the first sequence with a gap. More...
 
struct  front_end_second
 The penalty configuration for aligning the front of the second sequence with a gap. More...
 
class  gap
 The alphabet of a gap character '-'. More...
 
class  gap_decorator
 A gap decorator allows the annotation of sequences with gap symbols while leaving the underlying sequence unmodified. More...
 
class  gap_erase_failure
 Thrown in function seqan3::erase_gap, if a position does not contain a gap. More...
 
struct  gap_open_score
 A strong type of underlying type score_type that represents an additional score (usually negative) that is incurred once additionaly per stretch of consecutive gaps. More...
 
class  gap_scheme
 A scheme for representing and computing scores against gap characters. More...
 
struct  gap_score
 A strong type of underlying type score_type that represents the score of any character against a gap character. More...
 
struct  hash_function_count
 A strong type that represents the number of hash functions for the seqan3::interleaved_bloom_filter. More...
 
struct  innermost_value_type
 Recursively determines the value_type on containers and/or iterators. More...
 
class  input_directory_validator
 A validator that checks if a given path is a valid input directory. More...
 
class  input_file_validator
 A validator that checks if a given path is a valid input file. More...
 
class  interleaved_bloom_filter
 The IBF binning directory. A data structure that efficiently answers set-membership queries for multiple bins. More...
 
class  invalid_alignment_configuration
 Thrown if the configuration of the alignment algorithm is invalid. More...
 
struct  invalid_char_assignment
 An exception typically thrown by seqan3::alphabet::assign_char_strict. More...
 
struct  io_error
 Thrown if there is an io error in low level io operations such as in std::basic_streambuf operations. More...
 
struct  is_constexpr_default_constructible
 Whether a type std::is_default_constructible in constexpr-context. More...
 
struct  is_constexpr_default_constructible< t >
 Whether a type std::is_default_constructible in constexpr-context (unary_type_trait specialisation). More...
 
struct  is_execution_policy
 Test whether a class represents an execution policy. More...
 
struct  iterator_tag
 Exposes the iterator_category from the modelled concept. More...
 
struct  lower_bound
 Type for a lower boundary. More...
 
class  mask
 Implementation of a masked alphabet to be used for tuple composites. More...
 
class  masked
 Implementation of a masked composite, which extends a given alphabet with a mask. More...
 
struct  match_score
 A strong type of underlying type score_type that represents the score of two matching characters. More...
 
struct  mismatch_score
 A strong type of underlying type score_type that represents the score two different characters. More...
 
class  nucleotide_base
 A CRTP-base that refines seqan3::alphabet_base and is used by the nucleotides. More...
 
class  nucleotide_scoring_scheme
 A data structure for managing and computing the score of two nucleotides. More...
 
class  option_declared_multiple_times
 Argument parser exception thrown when a non-list option is declared multiple times. More...
 
class  output_directory_validator
 A validator that checks if a given path is a valid output directory. More...
 
class  output_file_validator
 A validator that checks if a given path is a valid output file. More...
 
class  overflow_error_on_conversion
 This class is deprecated. More...
 
class  parallel_policy
 Parallel execution policy. More...
 
class  parallel_unsequenced_policy
 Parallel and unsequenced execution policy. More...
 
struct  parse_error
 Thrown if there is a parse error, such as reading an unexpected character from an input stream. More...
 
class  parser_design_error
 This class is deprecated. More...
 
class  parser_invalid_argument
 This class is deprecated. 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...
 
struct  pipeable_config_element
 Adds pipe interface to configuration elements. More...
 
struct  pod_tuple
 cond More...
 
struct  pod_tuple< type0 >
 Recursion anchor for pod_tuple. More...
 
struct  pod_tuple< type0, types... >
 Behaves like std::tuple but is an aggregate PODType. More...
 
class  qualified
 Joins an arbitrary alphabet with a quality alphabet. More...
 
class  quality_base
 A CRTP-base that refines seqan3::alphabet_base and is used by the quality alphabets. More...
 
struct  record
 The class template that file records are based on; behaves like an std::tuple. More...
 
struct  ref_info_not_given
 Type tag which indicates that no reference information has been passed to the alignment file on construction. More...
 
struct  reference
 Exposes the reference of another type. More...
 
struct  reference< it_t >
 Exposes the reference type of another type. More...
 
struct  reference< rng_t >
 Exposes the reference of another type. More...
 
class  regex_validator
 A validator that checks if a matches a regular expression pattern. More...
 
struct  remove_rvalue_reference
 Return the input type with && removed, but lvalue references preserved. More...
 
class  required_option_missing
 Argument parser exception thrown when a required option is missing. 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...
 
struct  rvalue_reference
 Exposes the rvalue_reference of another type. More...
 
struct  rvalue_reference< it_t >
 Exposes the rvalue_reference type of another type. More...
 
struct  rvalue_reference< rng_t >
 Exposes the rvalue_reference of another type. More...
 
class  sam_dna16
 A 16 letter DNA alphabet, containing all IUPAC symbols minus the gap and plus an equality sign ('='). More...
 
class  sam_tag_dictionary
 The SAM tag dictionary class that stores all optional SAM fields. More...
 
struct  sam_tag_type
 The generic base class. More...
 
class  scoring_scheme_base
 A CRTP base class for scoring schemes. More...
 
class  search_result_range
 An input range over the search results generated by the given search algorithm. More...
 
class  semialphabet_any
 A semi-alphabet that type erases all other semi-alphabets of the same size. More...
 
struct  sequence_end_gap_specifier_base
 A mixin class which can maintain a static or a dynamic bool state. More...
 
class  sequence_file_input
 A class for reading sequence files, e.g. FASTA, FASTQ ... More...
 
struct  sequence_file_input_default_traits_aa
 A traits type that specifies input as amino acids. More...
 
struct  sequence_file_input_default_traits_dna
 The default traits for seqan3::sequence_file_input. More...
 
struct  sequence_file_input_options
 The options type defines various option members that influence the behaviour of all or some formats. More...
 
class  sequence_file_output
 A class for writing sequence files, e.g. FASTA, FASTQ ... More...
 
struct  sequence_file_output_options
 The options type defines various option members that influence the behaviour of all or some formats. More...
 
class  sequenced_policy
 Sequenced execution policy. More...
 
class  shape
 A class that defines what positions of a pattern to hash. More...
 
struct  simd_traits
 seqan3::simd::simd_traits is the trait class that provides uniform interface to the properties of simd_t types.
 
struct  simd_traits< builtin_simd_t >
 This class specializes seqan3::simd::simd_traits for seqan3::detail::builtin_simd types.
 
struct  simd_type
 seqan3::simd::simd_type encapsulates simd vector types, which can be manipulated by simd operations.
 
struct  size_type
 Exposes the size_type of another type. More...
 
struct  size_type< it_t >
 Exposes the size_type of another type. More...
 
struct  size_type< rng_t >
 Exposes the size_type of another type. More...
 
class  small_string
 Implements a small string that can be used for compile time computations. More...
 
class  small_vector
 A constexpr vector implementation with dynamic size at compile time. More...
 
class  static_band
 Data structure for a static band. More...
 
class  structure_file_input
 A class for reading structured sequence files, e.g. Stockholm, Connect, Vienna, ViennaRNA bpp matrix ... More...
 
struct  structure_file_input_default_traits_aa
 A traits type that specifies input as amino acids. More...
 
struct  structure_file_input_default_traits_rna
 The default traits for seqan3::structure_file_input. More...
 
struct  structure_file_input_options
 The options type defines various option members that influence the behaviour of all or some formats. More...
 
class  structure_file_output
 A class for writing structured sequence files, e.g. Stockholm, Connect, Vienna, ViennaRNA bpp matrix ... More...
 
struct  structure_file_output_options
 The options type defines various option members that influence the behaviour of all or some formats. More...
 
class  structured_aa
 A seqan3::alphabet_tuple_base that joins an aminoacid alphabet with a protein structure alphabet. More...
 
class  structured_rna
 A seqan3::alphabet_tuple_base that joins a nucleotide alphabet with an RNA structure alphabet. More...
 
class  too_few_arguments
 Argument parser exception thrown when too few arguments are provided. More...
 
class  too_many_arguments
 Argument parser exception thrown when too many arguments are provided. More...
 
class  type_conversion_failed
 This class is deprecated. More...
 
struct  unexpected_end_of_input
 Thrown if I/O was expecting more input (e.g. a delimiter or a new line), but the end of input was reached. More...
 
struct  ungapped
 A strong type of underlying type uint8_t that represents the ungapped shape size. More...
 
struct  unhandled_extension_error
 Thrown if there is no format that accepts a given file extension. More...
 
class  unknown_option
 Argument parser exception thrown when encountering unknown option. More...
 
class  unsequenced_policy
 Unsequenced execution policy. More...
 
struct  upper_bound
 Type for an upper boundary. More...
 
class  user_input_error
 Argument parser exception thrown when an incorrect argument is given as (positional) option value. More...
 
class  validation_error
 Argument parser exception thrown when an argument could not be casted to the according type. More...
 
class  validation_failed
 This class is deprecated. More...
 
class  value_list_validator
 A validator that checks whether a value is inside a list of valid values. More...
 
struct  value_type
 Exposes the value_type of another type. More...
 
struct  value_type< it_t >
 Exposes the value_type of another type. More...
 
struct  value_type< rng_t >
 Exposes the value_type of another type. More...
 
class  wuss
 The WUSS structure alphabet of the characters .<>:,-_~;()[]{}AaBbCcDd... More...
 

Typedefs

template<typename alphabet_type >
using alphabet_char_t = decltype(seqan3::to_char(std::declval< alphabet_type const >()))
 The char_type of the alphabet; defined as the return type of seqan3::to_char.
 
template<typename alphabet_type >
using alphabet_phred_t = decltype(seqan3::to_phred(std::declval< alphabet_type >()))
 The phred_type of the alphabet; defined as the return type of seqan3::to_phred.
 
template<typename semi_alphabet_type >
using alphabet_rank_t = decltype(seqan3::to_rank(std::declval< semi_alphabet_type >()))
 The rank_type of the semi-alphabet; defined as the return type of seqan3::to_rank.
 
using common_pair = ::ranges::common_pair
 A common pair type that behaves like a regular std::pair, but can be used as a reference type proxy for output iterators. More...
 
using common_tuple = ::ranges::common_tuple
 A common tuple type that behaves like a regular std::tuple, but can be used as a reference type proxy for output iterators. More...
 
template<typename t >
using const_reference_t = typename const_reference< t >::type
 Shortcut for seqan3::const_reference (transformation_trait shortcut). More...
 
using default_sdsl_index_type = sdsl_wt_index_type
 The default FM Index Configuration. More...
 
template<typename t >
using difference_type_t = typename difference_type< t >::type
 Shortcut for seqan3::difference_type (transformation_trait shortcut). More...
 
using dna15q = qualified< dna15, phred42 >
 An alphabet that stores a seqan3::dna15 letter and an seqan3::qualified letter at each position.
 
using dna4q = qualified< dna4, phred42 >
 An alphabet that stores a seqan3::dna4 letter and an seqan3::phred42 letter at each position.
 
using dna5q = qualified< dna5, phred42 >
 An alphabet that stores a seqan3::dna5 letter and an seqan3::phred42 letter at each position.
 
template<typename alphabet_t >
using gapped = alphabet_variant< alphabet_t, gap >
 Extends a given alphabet with a gap character. More...
 
template<typename t >
using innermost_value_type_t = typename innermost_value_type< t >::type
 Shortcut for seqan3::innermost_value_type (transformation_trait shortcut). More...
 
template<typename it_t >
using iterator_tag_t = typename iterator_tag< it_t >::type
 Return the iterator_category type of the input type (transformation_trait shortcut). More...
 
using ostream_iterator = ::ranges::ostream_iterator
 Alias for ranges::ostream_iterator. Writes successive elements onto the output stream from which it was constructed.
 
using ostreambuf_iterator = ::ranges::ostreambuf_iterator
 Alias for ranges::ostreambuf_iterator. Writes successive characters onto the output stream from which it was constructed.
 
template<typename t >
using reference_t = typename reference< t >::type
 Shortcut for seqan3::reference (transformation_trait shortcut). More...
 
template<typename t >
using remove_cvref_t = std::remove_cv_t< std::remove_reference_t< t > >
 Return the input type with const, volatile and references removed (type trait). More...
 
template<typename t >
using remove_rvalue_reference_t = typename remove_rvalue_reference< t >::type
 Return the input type with && removed, but lvalue references preserved (transformation_trait shortcut). More...
 
using rna15q = qualified< rna15, phred42 >
 An alphabet that stores a seqan3::rna15 letter and an seqan3::qualified letter at each position.
 
using rna4q = qualified< rna4, phred42 >
 An alphabet that stores a seqan3::rna4 letter and an seqan3::phred42 letter at each position.
 
using rna5q = qualified< rna5, phred42 >
 An alphabet that stores a seqan3::rna5 letter and an seqan3::phred42 letter at each position.
 
template<typename t >
using rvalue_reference_t = typename rvalue_reference< t >::type
 Shortcut for seqan3::rvalue_reference (transformation_trait shortcut). More...
 
template<uint16_t tag_value>
using sam_tag_type_t = typename sam_tag_type< tag_value >::type
 Short cut helper for seqan3::sam_tag_type::type.
 
using sdsl_wt_index_type = sdsl::csa_wt< sdsl::wt_blcd< sdsl::bit_vector, sdsl::rank_support_v<>, sdsl::select_support_scan<>, sdsl::select_support_scan< 0 > >, 16, 10 '000 '000, sdsl::sa_order_sa_sampling<>, sdsl::isa_sampling<>, sdsl::plain_byte_alphabet >
 The FM Index Configuration using a Wavelet Tree. More...
 
template<typename t >
using size_type_t = typename size_type< t >::type
 Shortcut for seqan3::size_type (transformation_trait shortcut). More...
 
template<typename ... types>
using type_list = meta::list< types... >
 Type that contains multiple types, an alias for meta::list.
 
template<typename t >
using type_reduce_view = decltype(views::type_reduce(std::declval< t >()))
 Deduces the return value of seqan3::views::type_reduce.
 
template<typename t >
using value_type_t = typename value_type< t >::type
 Shortcut for seqan3::value_type (transformation_trait shortcut). More...
 

Enumerations

enum  aminoacid_similarity_matrix { aminoacid_similarity_matrix::BLOSUM30, aminoacid_similarity_matrix::BLOSUM45, aminoacid_similarity_matrix::BLOSUM62, aminoacid_similarity_matrix::BLOSUM80 }
 Identifiers for amino acid similarity matrixes. More...
 
enum  data_layout : bool { uncompressed, compressed }
 Determines if the Interleaved Bloom Filter is compressed. More...
 
enum  field {
  field::seq, field::id, field::qual, field::seq_qual,
  field::offset, field::bpp, field::structure, field::structured_seq,
  field::energy, field::react, field::react_err, field::comment,
  field::alignment, field::ref_id, field::ref_seq, field::ref_offset,
  field::header_ptr, field::flag, field::mate, field::mapq,
  field::cigar, field::tags, field::bit_score, field::evalue,
  field::user_defined_0, field::user_defined_1, field::user_defined_2, field::user_defined_3,
  field::user_defined_4, field::user_defined_5, field::user_defined_6, field::user_defined_7,
  field::user_defined_8, field::user_defined_9, field::SEQ = seq, field::ID = id,
  field::QUAL = qual, field::SEQ_QUAL = seq_qual, field::OFFSET = offset, field::BPP = bpp,
  field::STRUCTURE = structure, field::STRUCTURED_SEQ = structured_seq, field::ENERGY = energy, field::REACT = react,
  field::REACT_ERR = react_err, field::COMMENT = comment, field::ALIGNMENT = alignment, field::REF_ID = ref_id,
  field::REF_SEQ = ref_seq, field::REF_OFFSET = ref_offset, field::HEADER_PTR = header_ptr, field::FLAG = flag,
  field::MATE = mate, field::MAPQ = mapq, field::CIGAR = cigar, field::TAGS = tags,
  field::BIT_SCORE = bit_score, field::EVALUE = evalue, field::USER_DEFINED_0 = user_defined_0, field::USER_DEFINED_1 = user_defined_1,
  field::USER_DEFINED_2 = user_defined_2, field::USER_DEFINED_3 = user_defined_3, field::USER_DEFINED_4 = user_defined_4, field::USER_DEFINED_5 = user_defined_5,
  field::USER_DEFINED_6 = user_defined_6, field::USER_DEFINED_7 = user_defined_7, field::USER_DEFINED_8 = user_defined_8, field::USER_DEFINED_9 = user_defined_9
}
 An enumerator for the fields used in file formats. More...
 
enum  fmtflags2 { none = 0, utf8 = 1, small_int_as_number = 1 << 1, default_ = small_int_as_number }
 Flags that change the behaviour of the seqan3::debug_stream. More...
 
enum  genetic_code : uint8_t { CANONICAL =1 }
 Genetic codes used for translation of nucleotides into amino acids. More...
 
enum  option_spec { DEFAULT = 0, REQUIRED = 1, ADVANCED = 2, HIDDEN = 4 }
 Used to further specify argument_parser options/flags. More...
 
enum  sam_flag : uint16_t {
  sam_flag::none = 0, sam_flag::paired = 0x1, sam_flag::proper_pair = 0x2, sam_flag::unmapped = 0x4,
  sam_flag::mate_unmapped = 0x8, sam_flag::on_reverse_strand = 0x10, sam_flag::mate_on_reverse_strand = 0x20, sam_flag::first_in_pair = 0x40,
  sam_flag::second_in_pair = 0x80, sam_flag::secondary_alignment = 0x100, sam_flag::failed_filter = 0x200, sam_flag::duplicate = 0x400,
  sam_flag::supplementary_alignment = 0x800
}
 An enum flag that describes the properties of an aligned read (given as a SAM record). More...
 
enum  text_layout : bool { single, collection }
 The possible text layouts (single, collection) the seqan3::fm_index and seqan3::bi_fm_index can support. More...
 
enum  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<typename sequence_t , typename alignment_config_t >
constexpr auto align_pairwise (sequence_t &&seq, alignment_config_t const &config)
 Computes the pairwise alignment for a pair of sequences or a range over sequence pairs. More...
 
template<typename char_t , char_t ... s>
constexpr uint16_t operator""_tag ()
 The SAM tag literal, such that tags can be used in constant expressions. More...
 
template<std::ranges::input_range alignment_matrix_t, typename char_t >
debug_stream_type< char_t > & operator<< (debug_stream_type< char_t > &s, alignment_matrix_t &&matrix)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
template<typename char_t >
debug_stream_type< char_t > & operator<< (debug_stream_type< char_t > &s, cigar const c)
 Overload for the seqan3::debug_stream's operator.
 
template<typename tuple_t , typename char_t >
debug_stream_type< char_t > & operator<< (debug_stream_type< char_t > &stream, tuple_t &&alignment)
 Stream operator for alignments, which are represented as tuples of aligned sequences. More...
 
template<validator validator1_type, validator validator2_type>
auto operator| (validator1_type &&vali1, validator2_type &&vali2)
 Enables the chaining of validators. More...
 
template<typename base_t , std::unsigned_integral exp_t>
base_t pow (base_t base, exp_t exp)
 Computes the value of base raised to the power exp. More...
 
template<fm_index_specialisation index_t, typename queries_t , typename configuration_t = decltype(search_cfg::default_configuration)>
auto search (queries_t &&queries, index_t const &index, configuration_t const &cfg=search_cfg::default_configuration)
 Search a query or a range of queries in an index. More...
 
template<genetic_code gc = genetic_code::CANONICAL, nucleotide_alphabet 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). More...
 
template<genetic_code gc = genetic_code::CANONICAL, std::ranges::input_range range_type>
constexpr aa27 translate_triplet (range_type &&input_range)
 Translate one nucleotide triplet into single amino acid (range interface). More...
 
template<genetic_code gc = genetic_code::CANONICAL, std::ranges::random_access_range rng_t>
constexpr aa27 translate_triplet (rng_t &&input_range)
 Translate one nucleotide triplet into single amino acid (range interface, input range allows random access). More...
 
template<genetic_code gc = genetic_code::CANONICAL, typename tuple_type >
constexpr aa27 translate_triplet (tuple_type const &input_tuple) noexcept
 Translate one nucleotide triplet into single amino acid (tuple interface). More...
 

Variables

template<typename t >
constexpr bool add_enum_bitwise_operators = false
 Set to true for a scoped enum to have binary operators overloaded. More...
 
template<>
constexpr bool add_enum_bitwise_operators< fmtflags2 > = true
 Overload bitwise operators for seqan3::fmtflags2.
 
template<>
constexpr bool add_enum_bitwise_operators< sam_flag > = true
 Enables bitwise operations for seqan3::sam_flags.
 
template<>
constexpr bool add_enum_bitwise_operators< translation_frames > = true
 Enable bitwise operators for enum translation_frames.
 
template<typename alph_t >
constexpr auto alphabet_size = detail::adl_only::alphabet_size_obj<alph_t>()
 A type trait that holds the size of a (semi-)alphabet. More...
 
debug_stream_type debug_stream {std::cerr}
 A global instance of seqan3::debug_stream_type.
 
template<typename t >
constexpr size_t dimension_v = 1
 Returns the number of times you can call seqan3::value_type_t recursively on t (type trait). More...
 
template<typename t >
constexpr bool enable_aminoacid = detail::adl_only::enable_aminoacid_dispatcher::dispatch<remove_cvref_t<t>>()
 A trait that indicates whether a type shall model seqan3::aminoacid_alphabet. More...
 
constexpr detail::global_alignment_type global_alignment
 Helper variable to select the global alignment. More...
 
constexpr detail::local_alignment_type local_alignment
 Helper variable to select the local alignment. More...
 
constexpr parallel_policy par {}
 Global execution policy object for parallel execution policy. More...
 
constexpr parallel_unsequenced_policy par_unseq {}
 Global execution policy object for parallel and unsequenced execution policy. More...
 
constexpr sequenced_policy seq {}
 Global execution policy object for sequenced execution policy. More...
 
const std::string seqan3_version
 The full version as std::string. More...
 
constexpr uint8_t seqan3_version_major = SEQAN3_VERSION_MAJOR
 The major version.
 
constexpr uint8_t seqan3_version_minor = SEQAN3_VERSION_MINOR
 The minor version.
 
constexpr uint8_t seqan3_version_patch = SEQAN3_VERSION_PATCH
 The patch version.
 
constexpr unsequenced_policy unseq {}
 Global execution policy object for unsequenced execution policy. More...
 

Type deduction guides

template<size_t capacity2, typename value_type >
 small_vector (const value_type(&array)[capacity2]) -> small_vector< value_type, capacity2 >
 Deducts the size and value type from an built-in array on construction.
 
template<std::ranges::viewable_range urng_t>
 gap_decorator (urng_t &&range) -> gap_decorator< std::remove_reference_t< urng_t > const & >
 Ranges (not views!) always deduce to const & range_type since they are access-only anyway.
 
template<std::ranges::view urng_t>
 gap_decorator (urng_t range) -> gap_decorator< urng_t >
 Views always deduce to their respective type because they are copied.
 

Template argument type deduction guides

template<std::ranges::range text_t>
 bi_fm_index (text_t &&) -> bi_fm_index< innermost_value_type_t< text_t >, text_layout
 Deduces the dimensions of the text.
 
template<std::ranges::range text_t>
 fm_index (text_t &&) -> fm_index< innermost_value_type_t< text_t >, text_layout
 Deduces the alphabet and dimensions of the text.
 

Detailed Description

The main SeqAn3 namespace.

Typedef Documentation

◆ common_pair

using seqan3::common_pair = typedef ::ranges::common_pair

A common pair type that behaves like a regular std::pair, but can be used as a reference type proxy for output iterators.

Alias definition of the ranges::common_pair.

◆ common_tuple

using seqan3::common_tuple = typedef ::ranges::common_tuple

A common tuple type that behaves like a regular std::tuple, but can be used as a reference type proxy for output iterators.

Alias definition of the ranges::common_tuple.

Enumeration Type Documentation

◆ genetic_code

enum seqan3::genetic_code : uint8_t
strong

Genetic codes used for translation of nucleotides into amino acids.

The numeric values of the enums correspond to the genbank transl_table values (see https://www.ncbi.nlm.nih.gov/Taxonomy/Utils/wprintgc.cgi).

◆ translation_frames

enum seqan3::translation_frames : uint8_t
strong

Specialisation values for single and multiple translation frames.

Enumerator
FWD_FRAME_0 

The first forward frame starting at position 0.

FWD_FRAME_1 

The second forward frame starting at position 1.

FWD_FRAME_2 

The third forward frame starting at position 2.

REV_FRAME_0 

The first reverse frame starting at position 0.

REV_FRAME_1 

The second reverse frame starting at position 1.

REV_FRAME_2 

The third reverse frame starting at position 2.

FWD_REV_0 

The first forward and first reverse frame.

FWD_REV_1 

The second forward and second reverse frame.

FWD_REV_2 

The first third and third reverse frame.

FWD 

All forward frames.

REV 

All reverse frames.

SIX_FRAME 

All frames.

Function Documentation

◆ operator""_tag()

template<typename char_t , char_t ... s>
constexpr uint16_t seqan3::operator""_tag ( )
constexpr

The SAM tag literal, such that tags can be used in constant expressions.

Template Parameters
char_tThe char type. Usually char. Parameter pack ...s must be of length 2, since SAM tags consist of two letters (char0 and char1).
Returns
The unique identifier of the SAM tag computed by char0 * 128 + char1.

A SAM tag consists of two letters, initialized via the string literal ""_tag, which delegate to its unique id. e.g.

using seqan3::operator""_tag;
// ...
uint16_t tag_id = "NM"_tag; // tag_id = 10061

The purpose of those tags is to fill or query the seqan3::sam_tag_dictionary for a specific key (tag_id) and retrieve the corresponding value.

See also
seqan3::sam_tag_dictionary

◆ to_lower()

template<builtin_character char_type>
constexpr char_type seqan3::to_lower ( char_type const  c)
constexprnoexcept

Converts 'A'-'Z' to 'a'-'z' respectively; other characters are returned as is.

Template Parameters
char_typeType of the parameter; must model seqan3::builtin_character.
Parameters
cThe parameter.
Returns
The character converted to lower case.

In contrast to std::tolower this function is independent of locale and can be evaluated in a constexpr context.

◆ to_upper()

template<builtin_character char_type>
constexpr char_type seqan3::to_upper ( char_type const  c)
constexprnoexcept

Converts 'a'-'z' to 'A'-'Z' respectively; other characters are returned as is.

Template Parameters
char_typeType of the parameter; must model seqan3::builtin_character.
Parameters
cThe parameter.
Returns
The character converted to upper case.

In contrast to std::to_upper this function is independent of locale and can be evaluated in a constexpr context.

Variable Documentation

◆ seqan3_version

const std::string seqan3::seqan3_version
sam_tag_dictionary.hpp
Provides the seqan3::sam_tag_dictionary class and auxiliaries.
std::to_string
T to_string(T... args)
seqan3::seqan3_version_patch
constexpr uint8_t seqan3_version_patch
The patch version.
Definition: version.hpp:39
seqan3::seqan3_version_major
constexpr uint8_t seqan3_version_major
The major version.
Definition: version.hpp:35
seqan3::seqan3_version_minor
constexpr uint8_t seqan3_version_minor
The minor version.
Definition: version.hpp:37