SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
Loading...
Searching...
No Matches
seqan3::sequence_file_input_format< t > Interface Template Reference

The generic concept for sequence file in formats. More...

#include <seqan3/io/sequence_file/input_format_concept.hpp>

+ Inheritance diagram for seqan3::sequence_file_input_format< t >:

Related Symbols

(Note that these are not member symbols.)

Requirements for seqan3::sequence_file_input_format

You can expect these members on all types that implement seqan3::sequence_file_input_format.

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::stringfile_extensions
 The format type is required to provide a vector of all supported file extensions.
 

Detailed Description

template<typename t>
interface seqan3::sequence_file_input_format< t >

The generic concept for sequence file in formats.

The details of this concept are only relevant to developers who wish to implement their own format. The requirements for this concept are given as related functions and type traits. Types that satisfy this concept are shown as "implementing this interface".

Remarks
For a complete overview, take a look at Sequence File

Friends And Related Symbol Documentation

◆ read_sequence_record()

template<typename 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 
)
related

Read from the specified stream and back-insert into the given field buffers.

Template Parameters
stream_typeInput stream, must satisfy seqan3::input_stream_over with char.
stream_pos_typeBuffer for storing the current record's file position.
seq_typeType of the seqan3::field::seq input; must satisfy std::ranges::output_range over a seqan3::alphabet.
id_typeType of the seqan3::field::id input; must satisfy std::ranges::output_range over a seqan3::alphabet.
qual_typeType of the seqan3::field::qual input; must satisfy std::ranges::output_range over a seqan3::writable_quality_alphabet.
Parameters
[in,out]streamThe input stream to read from.
[in,out]position_bufferThe buffer to store the current record's file position.
[in]optionsFile specific options passed to the format.
[out]sequenceThe buffer for seqan3::field::seq input, i.e. the "sequence".
[out]idThe buffer for seqan3::field::id input, e.g. the header line in FASTA .
[out]qualitiesThe buffer for seqan3::field::qual input.

Additional requirements

  • The function must also accept std::ignore as parameter for any of the fields. [This is enforced by the concept checker!]
  • In this case the data read for that field shall be discarded by the format.

The documentation for this interface was generated from the following file:
Hide me