SeqAn3  3.0.2
The Modern C++ library for sequence analysis.
seqan3::sequence_file_output_format Interface Reference

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

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

+ Inheritance diagram for seqan3::sequence_file_output_format:

Related Functions

(Note that these are not member functions.)

Requirements for seqan3::sequence_file_output_format

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

void write_sequence_record (stream_type &stream, seqan3::sequence_file_output_options const &options, seq_type &&sequence, id_type &&id, qual_type &&qualities)
 Write the given fields to the specified stream. More...
 
static inline std::vector< std::stringfile_extensions
 The format type is required to provide a vector of all supported file extensions.
 

Detailed Description

The generic concept for sequence file out 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".

Friends And Related Function Documentation

◆ write_sequence_record()

void write_sequence_record ( stream_type &  stream,
seqan3::sequence_file_output_options const &  options,
seq_type &&  sequence,
id_type &&  id,
qual_type &&  qualities 
)
related

Write the given fields to the specified stream.

Template Parameters
stream_typeOutput stream, must satisfy seqan3::output_stream_over with char.
seq_typeType of the seqan3::field::seq output; must satisfy std::ranges::output_range over a seqan3::alphabet.
id_typeType of the seqan3::field::id output; must satisfy std::ranges::output_range over a seqan3::alphabet.
qual_typeType of the seqan3::field::qual output; must satisfy std::ranges::output_range over a seqan3::quality_alphabet.
Parameters
[in,out]streamThe output stream to write into.
[in]optionsFile specific options passed to the format.
[in]sequenceThe data for seqan3::field::seq, i.e. the "sequence".
[in]idThe data for seqan3::field::id, e.g. the header line in FastA.
[in]qualitiesThe data for seqan3::field::qual.

Additional requirements

  • The format must also accept std::ignore as parameter for any of the fields, however it shall throw an exception if one of the fields required for writing the format is marked as such. [this shall be checked inside the function]
  • The format does not handle seqan3::field::seq_qual, instead seqan3::sequence_file_output splits it into two views and passes it to the format as if they were separate.

Implemented in seqan3::format_embl, seqan3::format_genbank, and seqan3::format_fasta.


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