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

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

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

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

## Related Symbols

(Note that these are not member symbols.)
Requirements for seqan3::structure_file_input_format
You can expect these members on all types that implement seqan3::structure_file_input_format.
void | read_structure_record (stream_type &stream, structure_file_input_options< seq_legal_alph_type, structured_seq_combined > 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)
| 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.

## Detailed Description

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

The generic concept for structure 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 Structure File

## Friends And Related Symbol Documentation

## read_structure_record()

template<typename t>

void read_structure_record | ( | stream_type & | stream,
|  | structure_file_input_options< seq_legal_alph_type, structured_seq_combined > 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

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

Template Parameters

  stream_type | Input stream, must satisfy seqan3::input_stream_over with char.
  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.
  bpp_type | Type of the seqan3::field::bpp input; 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 input; must satisfy std::ranges::output_range over a seqan3::rna_structure_alphabet.
  energy_type | Type of the seqan3::field::energy input; must satisfy std::is_floating_point.
  react_type | Type of the seqan3::field::react and seqan3::field::react_err input; must satisfy std::is_floating_point.
  comment_type | Type of the seqan3::field::comment input; must satisfy std::ranges::output_range over a seqan3::alphabet.
  offset_type | Type of the seqan3::field::offset input; must satisfy std::numeric_limits::is_integer.

Parameters

  [in,out] | stream | The input stream to read from.
  [in] | options | File specific options passed to the format.
  [out] | seq | 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.
  [out] | bpp | The buffer for seqan3::field::bpp input.
  [out] | structure | The buffer for seqan3::field::structure input.
  [out] | energy | The buffer for seqan3::field::energy input.
  [out] | react | The buffer for seqan3::field::react input.
  [out] | react_err | The buffer for seqan3::field::react_err input.
  [out] | comment | The buffer for seqan3::field::comment input.
  [out] | offset | The buffer for seqan3::field::offset 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.
- Instead of passing the fields seqan3::field::seq and seqan3::field::structure, you may also pass seqan3::field::structured_seq to both parameters. If you do, the std::ranges::range_value_t of the argument must be a specialisation of seqan3::structured_rna and the second template parameter to seqan3::structure_file_input_options must be set to true.

Implemented in seqan3::format_vienna.

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

- structure_file/input_format_concept.hpp

Hide me