Sequence

namespace seqan3

The main SeqAn3 namespace.

Helpers for seqan3::semi_alphabet_concept

These functions and metafunctions expose member variables and types so that they satisfy seqan3::semi_alphabet_concept.

Helpers for seqan3::alphabet_concept

These functions and metafunctions expose member variables and types so that they satisfy seqan3::alphabet_concept.

Helpers for seqan3::nucleotide_concept

These functions and metafunctions expose member variables and types so that they satisfy seqan3::nucleotide_concept.

Alphabet aliases

Other names (typedefs) for seqan3::nucl16

Range concepts

Adapted from the Ranges TS.

Container concepts

Container concepts as defined by the standard library (or very close).

Container-of-container concepts

Shortcuts for multi-dimensional container concepts.

Variables

concept bool seqan3::sequence_file_format_concept = requires (t v) { t::file_extensions; { v.read(dna4_string{}, std::string{}, std::string{}, std::ifstream{}, options_type{}) }; { v.write(dna4_string{}, std::string{}, std::string{}, std::ofstream{}, options_type{}) }; }
namespace seqan3

The main SeqAn3 namespace.

Helpers for seqan3::semi_alphabet_concept

These functions and metafunctions expose member variables and types so that they satisfy seqan3::semi_alphabet_concept.

Helpers for seqan3::alphabet_concept

These functions and metafunctions expose member variables and types so that they satisfy seqan3::alphabet_concept.

Helpers for seqan3::nucleotide_concept

These functions and metafunctions expose member variables and types so that they satisfy seqan3::nucleotide_concept.

Alphabet aliases

Other names (typedefs) for seqan3::nucl16

Range concepts

Adapted from the Ranges TS.

Container concepts

Container concepts as defined by the standard library (or very close).

Container-of-container concepts

Shortcuts for multi-dimensional container concepts.

class sequence_file_format_fasta

Public Functions

sequence_file_format_fasta()
sequence_file_format_fasta()
sequence_file_format_fasta(sequence_file_in const&)
sequence_file_format_fasta &operator=(sequence_file_in const&)
sequence_file_format_fasta(sequence_file_in&&)
sequence_file_format_fasta &operator=(sequence_file_in&&)
template <typename sequence_type, typename id_type, typename qual_type, typename stream_type, typename options_type>
requires container_concept<sequence_type>&& container_concept<id_type>&& container_concept<qual_type> void seqan3::sequence_file_format_fasta::read(sequence_type && seq, id_type && id, qual_type && qual, stream_type & stream, options_type const & options)
template <typename seqs_type, typename ids_type, typename quals_type, typename stream_type, typename options_type size_t max_records = 0>
requires container_concept<typename seqs_type::value>&& container_concept<typename ids_type::value>&& container_concept<typename quals_type::value> void seqan3::sequence_file_format_fasta::read(seqs_type && seqs, ids_type && ids, quals_type && quals, stream_type & stream, options_type const & options)

Public Static Attributes

std::vector<std::string> file_extensions = { { "fasta" }, { "fa" } }
namespace seqan3

The main SeqAn3 namespace.

Helpers for seqan3::semi_alphabet_concept

These functions and metafunctions expose member variables and types so that they satisfy seqan3::semi_alphabet_concept.

Helpers for seqan3::alphabet_concept

These functions and metafunctions expose member variables and types so that they satisfy seqan3::alphabet_concept.

Helpers for seqan3::nucleotide_concept

These functions and metafunctions expose member variables and types so that they satisfy seqan3::nucleotide_concept.

Alphabet aliases

Other names (typedefs) for seqan3::nucl16

Range concepts

Adapted from the Ranges TS.

Container concepts

Container concepts as defined by the standard library (or very close).

Container-of-container concepts

Shortcuts for multi-dimensional container concepts.

Variables

concept bool seqan3::sequence_file_in_traits_concept = requires (t v) { t::stream_type; t::valid_formats; requires detail::meets_concept_sequence_file_format<0, typename t::valid_formats>(); t::valid_compression_formats; }
template <typename sequence_file_in_traits = sequence_file_in_traits_default>
class sequence_file_in

Public Functions

sequence_file_in(std::string const &_file_name)
sequence_file_in(sequence_file_in const&)
sequence_file_in &operator=(sequence_file_in const&)
sequence_file_in(sequence_file_in&&)
sequence_file_in &operator=(sequence_file_in&&)
template <typename sequence_type, typename id_type, typename qual_type>
requires container_concept< sequence_type > &&container_concept< id_type > &&container_concept< qual_type > void seqan3::sequence_file_in::read(sequence_type && seq, id_type && id, qual_type && qual)
template <typename seqs_type, typename ids_type, typename quals_type, size_t max_records = 0>
requires container_concept< typename seqs_type::value > &&container_concept< typename ids_type::value > &&container_concept< typename quals_type::value > void seqan3::sequence_file_in::read(seqs_type && seqs, ids_type && ids, quals_type && quals)

Public Members

options_type options

Protected Functions

~sequence_file_in()

Private Functions

void select_decompression(std::string const &compress_ext)
template <size_t index>
void assign_format(std::string const &ext)

Private Members

std::string file_name
stream_type stream
valid_formats format
struct options_type

Public Members

template<>
std::function<void(std::string&)> sequence_filter = [] (std::string & seq) {}
template<>
std::function<void(std::string&)> id_filter = [] (std::string & id) {}
template<>
std::function<void(std::string&)> qual_filter = [] (std::string & qual) {}
struct sequence_file_in_default_traits

Public Types

using stream_type = std::ofstream
using valid_formats = std::variant<sequence_file_format_fasta<stream_type>, sequence_file_format_fastq<stream_type>, sequence_file_format_embl<stream_type>, sequence_file_format_genbank<stream_type>, sequence_file_format_raw<stream_type>>

Public Static Attributes

constexpr std::vector<std::pair<std::string, void>> valid_compression_formats = {}