Loading...
Searching...
No Matches
seqan3::structure_file_output_format< t > Interface Template Reference
IO » Structure File

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

`#include <seqan3/io/structure_file/output_format_concept.hpp>`

Inheritance diagram for seqan3::structure_file_output_format< t >:
[legend]

## Related Symbols

(Note that these are not member symbols.)
Requirements for seqan3::structure_file_output_format
You can expect these members on all types that implement seqan3::structure_file_output_format.
void | write_structure_record (stream_type &stream, structure_file_output_options const &options, seq_type &&seq, id_type &&id, bpp_type &&bpp, structure_type &&structure, energy_type &&energy, react_type &&react, react_type &&react_err, comment_type &&comment, offset_type &&offset)
| Write the given fields to the specified stream.
static inline std::vector< std::string > | file_extensions
| The format type is required to provide a vector of all supported file extensions.

## Detailed Description

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

The generic concept for structure 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".

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

## Friends And Related Symbol Documentation

## write_structure_record()

template<typename t>

void write_structure_record | ( | stream_type & | stream,
|  | structure_file_output_options const & | options,
|  | seq_type && | seq,
|  | id_type && | id,
|  | bpp_type && | bpp,
|  | structure_type && | structure,
|  | energy_type && | energy,
|  | react_type && | react,
|  | react_type && | react_err,
|  | comment_type && | comment,
|  | offset_type && | offset )

related

Write the given fields to the specified stream.

Template Parameters

  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.
  bpp_type | Type of the seqan3::field::bpp output; must satisfy std::ranges::output_range over a set of pair of types satisfying std::is_floating_point and std::numeric_limits::is_integer, respectively.
  structure_type | Type of the seqan3::field::structure output; must satisfy std::ranges::output_range over a seqan3::rna_structure_alphabet.
  energy_type | Type of the seqan3::field::energy output; must satisfy std::is_floating_point.
  react_type | Type of the seqan3::field::react and seqan3::field::react_err output; must satisfy std::is_floating_point.
  comment_type | Type of the seqan3::field::comment output; must satisfy std::ranges::output_range over a seqan3::alphabet.
  offset_type | Type of the seqan3::field::offset output; must satisfy std::numeric_limits::is_integer.

Parameters

  [in,out] | stream | The output stream to write into.
  [in] | options | File specific options passed to the format.
  [in] | seq | The data for seqan3::field::seq output, i.e. the "sequence".
  [in] | id | The data for seqan3::field::id output, e.g. the header line.
  [in] | bpp | The data for seqan3::field::bpp output.
  [in] | structure | The data for seqan3::field::structure output.
  [in] | energy | The data for seqan3::field::energy output.
  [in] | react | The data for seqan3::field::react output.
  [in] | react_err | The data for seqan3::field::react_err output.
  [in] | comment | The data for seqan3::field::comment output.
  [in] | offset | The data for seqan3::field::offset output.

### 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::structured_seq, instead seqan3::structure_file_output splits it into two views and passes it to the format as if they were separate.

Implemented in seqan3::format_vienna.

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

- structure_file/output_format_concept.hpp

Hide me