SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
|
The FASTA format. More...
#include <seqan3/io/sequence_file/format_fasta.hpp>
Public Member Functions | |
Constructors, destructor and assignment | |
format_fasta () noexcept=default | |
Defaulted. | |
format_fasta (format_fasta const &) noexcept=default | |
Defaulted. | |
format_fasta & | operator= (format_fasta const &) noexcept=default |
Defaulted. | |
format_fasta (format_fasta &&) noexcept=default | |
Defaulted. | |
format_fasta & | operator= (format_fasta &&) noexcept=default |
Defaulted. | |
~format_fasta () noexcept=default | |
Defaulted. | |
Static Public Attributes | |
static std::vector< std::string > | file_extensions |
The valid file extensions for this format; note that you can modify this value. | |
Protected Member Functions | |
template<typename stream_type , typename legal_alph_type , typename stream_pos_type , typename seq_type , typename id_type , typename qual_type > | |
void | read_sequence_record (stream_type &stream, sequence_file_input_options< legal_alph_type > const &options, stream_pos_type &position_buffer, seq_type &sequence, id_type &id, qual_type &qualities) |
Read from the specified stream and back-insert into the given field buffers. | |
template<typename stream_type , typename seq_type , typename id_type , typename qual_type > | |
void | write_sequence_record (stream_type &stream, sequence_file_output_options const &options, seq_type &&sequence, id_type &&id, qual_type &&qualities) |
Write the given fields to the specified stream. | |
Additional Inherited Members | |
Related Symbols inherited from seqan3::sequence_file_input_format< t > | |
void | read_sequence_record (stream_type &stream, seqan3::sequence_file_input_options const &options, stream_pos_type &position_buffer, seq_type &sequence, id_type &id, qual_type &qualities) |
Read from the specified stream and back-insert into the given field buffers. | |
static inline std::vector< std::string > | file_extensions |
The format type is required to provide a vector of all supported file extensions. | |
Related Symbols inherited from seqan3::sequence_file_output_format< t > | |
static inline std::vector< std::string > | file_extensions |
The format type is required to provide a vector of all supported file extensions. | |
The FASTA format.
FASTA is the de-facto-standard for sequence storage in bioinformatics. See the article on wikipedia for a an in-depth description of the format.
The FASTA format provides the fields seqan3::field::seq and seqan3::field::id. Both fields are required when writing.
When reading the ID-line the identifier (either ;
or >
) and any blank characters before the actual ID are stripped.
This implementation supports the following less known and optional features of the format:
;
instead of >
The following optional features are currently not supported:
;
or >
), only one ID line before the sequence line is accepted
|
inlineprotected |
Read from the specified stream and back-insert into the given field buffers.
stream_type | Input stream, must satisfy seqan3::input_stream_over with char . |
stream_pos_type | Buffer for storing the current record's file position. |
seq_type | Type of the seqan3::field::seq input; must satisfy std::ranges::output_range over a seqan3::alphabet. |
id_type | Type of the seqan3::field::id input; must satisfy std::ranges::output_range over a seqan3::alphabet. |
qual_type | Type of the seqan3::field::qual input; must satisfy std::ranges::output_range over a seqan3::writable_quality_alphabet. |
[in,out] | stream | The input stream to read from. |
[in,out] | position_buffer | The buffer to store the current record's file position. |
[in] | options | File specific options passed to the format. |
[out] | sequence | The buffer for seqan3::field::seq input, i.e. the "sequence". |
[out] | id | The buffer for seqan3::field::id input, e.g. the header line in FASTA . |
[out] | qualities | The buffer for seqan3::field::qual input. |
|
inlineprotected |
Write the given fields to the specified stream.
stream_type | Output stream, must satisfy seqan3::output_stream_over with char . |
seq_type | Type of the seqan3::field::seq output; must satisfy std::ranges::output_range over a seqan3::alphabet. |
id_type | Type of the seqan3::field::id output; must satisfy std::ranges::output_range over a seqan3::alphabet. |
qual_type | Type of the seqan3::field::qual output; must satisfy std::ranges::output_range over a seqan3::quality_alphabet. |
[in,out] | stream | The output stream to write into. |
[in] | options | File specific options passed to the format. |
[in] | sequence | The data for seqan3::field::seq, i.e. the "sequence". |
[in] | id | The data for seqan3::field::id, e.g. the header line in FASTA. |
[in] | qualities | The data for seqan3::field::qual. |
Implements seqan3::sequence_file_output_format< t >.
|
inlinestatic |
The valid file extensions for this format; note that you can modify this value.