# Class RnaRecord
A container for RNA structure data.

Defined in | <seqan/rna_io.h>
Signature | `class RnaRecord;`

## Member Function Overview

- `void RnaRecord::clearID()`
  Clear value of recordID and set to undefined.
- `bool RnaRecord::hasUndefinedID()`
  Test for an undefined recordID value.

## Member Variable Overview

- `Align<Rna5String,ArrayGaps> RnaRecord::align`
  Alignment of several sequences (including gaps).
- `String<RnaStructureGraph> RnaRecord::bppMatrGraphs`
  Vector of base pair probability graphs extracted from the input files.
- `CharString RnaRecord::comment`
  Comment to be stored together with the record.
- `String<RnaStructureGraph> RnaRecord::fixedGraphs`
  Vector of fixed structure graphs extracted from the input files.
- `CharString RnaRecord::name`
  Sequence name.
- `unsigned RnaRecord::offset`
  Start index of the sequence.
- `CharString RnaRecord::quality`
  Quality values for the sequence.
- `StringSet<String<float>> RnaRecord::reactError`
  Error of the reactivity.
- `StringSet<String<float>> RnaRecord::reactivity`
  The area peak/likelihood estimate that represents the reactivity at each position.
- `std::uint32_t RnaRecord::recordID`
  Identification of the record.
- `StringSet<CharString> RnaRecord::seqID`
  Sequence identifier for aligned sequences.
- `TSizeRna5String RnaRecord::seqLen`
  Length of the sequence or alignment stored in this record.
- `Rna5String RnaRecord::sequence`
  String of bases in RNA strand.
- `String<std::uint32_t> RnaRecord::typeID`
  Indices of the assigned type (T..) attributes records from EBPSEQ files.

## Detailed Description

The container stores all kinds of data that can be obtained by reading RNA structure file records.

## Member Functions Detail

### `void RnaRecord::clearID()`

Clear value of recordID and set to undefined.

#### Data Races

If not stated otherwise, concurrent invocation is not guaranteed to be thread-safe.

### `bool RnaRecord::hasUndefinedID()`

Test for an undefined recordID value.

#### Returns

`bool` | True if recordID is not set.

#### Data Races

If not stated otherwise, concurrent invocation is not guaranteed to be thread-safe.

## Member Variables Detail

### `Align<Rna5String,ArrayGaps> RnaRecord::align`

Alignment of several sequences (including gaps).

This member variable is only used in alignment-based records (from STH files).

### `String<RnaStructureGraph> RnaRecord::bppMatrGraphs`

Vector of base pair probability graphs extracted from the input files.

### `CharString RnaRecord::comment`

Comment to be stored together with the record.

### `String<RnaStructureGraph> RnaRecord::fixedGraphs`

Vector of fixed structure graphs extracted from the input files.

### `CharString RnaRecord::name`

Sequence name.

### `unsigned RnaRecord::offset`

Start index of the sequence.

### `CharString RnaRecord::quality`

Quality values for the sequence.

### `StringSet<String<float>> RnaRecord::reactError`

Error of the reactivity.

This member variable is used only if biological validated data is found (T.. fields in EBPSEQ are set).

If reactivity was derived as a consensus of different replicates, this indicates the standard error between samples used. If only one experiment was done, this may be some measure of variation between the data in that experiment, e.g. 0.2 of the standard deviation.

### `StringSet<String<float>> RnaRecord::reactivity`

The area peak/likelihood estimate that represents the reactivity at each position.

This member variable is used only if biological validated data is found (T.. fields in EBPSEQ are set).

### `std::uint32_t RnaRecord::recordID`

Identification of the record.

In an RNA structure file the first record gets ID 0, the following ID 1 and so on.

### `StringSet<CharString> RnaRecord::seqID`

Sequence identifier for aligned sequences.

This member variable is only used in alignment-based records (from STH files).

### `TSizeRna5String RnaRecord::seqLen`

Length of the sequence or alignment stored in this record.

### `Rna5String RnaRecord::sequence`

String of bases in RNA strand.

This member variable is only used in sequence-based records (from CT, DBN, DBV, BPSEQ, EBPSEQ files).

### `String<std::uint32_t> RnaRecord::typeID`

Indices of the assigned type (T..) attributes records from EBPSEQ files.

This member variable is used only if biological validated data is found (T.. fields in EBPSEQ are set).

#### Dox Sources

    /*!
     * @class RnaRecord
     *
     * @headerfile <seqan/rna_io.h>
     *
     * @brief A container for RNA structure data.
     *
     * @signature class RnaRecord;
     *
     * The container stores all kinds of data that can be obtained by reading RNA
     * structure file records.
     *
     * @fn RnaRecord::hasUndefinedID()
     *
     * @brief Test for an undefined @link RnaRecord::recordID @endlink value.
     *
     * @signature bool RnaRecord::hasUndefinedID()
     *
     * @return bool True if @link RnaRecord::recordID @endlink is not set.
     *
     * @fn RnaRecord::clearID()
     *
     * @brief Clear value of @link RnaRecord::recordID @endlink and set to
     *        undefined.
     *
     * @signature void RnaRecord::clearID()
     *
     * @var std::uint32_t RnaRecord::recordID;
     *
     * @brief Identification of the record.
     *
     * In an RNA structure file the first record gets ID 0, the following ID 1 and
     * so on.
     *
     * @var TSizeRna5String RnaRecord::seqLen;
     *
     * @brief Length of the sequence or alignment stored in this record.
     *
     * @var unsigned RnaRecord::offset;
     *
     * @brief Start index of the sequence.
     *
     * @var CharString RnaRecord::name;
     *
     * @brief Sequence name.
     *
     * @var CharString RnaRecord::quality;
     *
     * @brief Quality values for the sequence.
     *
     * @var String<RnaStructureGraph> RnaRecord::bppMatrGraphs;
     *
     * @brief Vector of base pair probability graphs extracted from the input files.
     *
     * @var String<RnaStructureGraph> RnaRecord::fixedGraphs;
     *
     * @brief Vector of fixed structure graphs extracted from the input files.
     *
     * @var CharString RnaRecord::comment;
     *
     * @brief Comment to be stored together with the record.
     *
     * @var StringSet<String<float>> RnaRecord::reactivity;
     *
     * @brief The area peak/likelihood estimate that represents the
     *        <b>reactivity</b> at each position.
     *
     * This member variable is used only if biological validated data is found (T..
     * fields in EBPSEQ are set).
     *
     * @var StringSet<String<float>> RnaRecord::reactError;
     *
     * @brief Error of the @link RnaRecord::reactivity @endlink.
     *
     * This member variable is used only if biological validated data is found (T..
     * fields in EBPSEQ are set).
     *
     * If @link RnaRecord::reactivity @endlink was derived as a consensus of
     * different replicates, this indicates the standard error between samples used.
     * If only one experiment was done, this may be some measure of variation
     * between the data in that experiment, e.g. 0.2 of the standard deviation.
     *
     * @var String<std::uint32_t> RnaRecord::typeID;
     *
     * @brief Indices of the assigned type (T..) attributes records from EBPSEQ
     *        files.
     *
     * This member variable is used only if biological validated data is found (T..
     * fields in EBPSEQ are set).
     *
     * @var Rna5String RnaRecord::sequence;
     *
     * @brief String of bases in RNA strand.
     *
     * This member variable is only used in sequence-based records (from CT, DBN,
     * DBV, BPSEQ, EBPSEQ files).
     *
     * @var StringSet<CharString> RnaRecord::seqID;
     *
     * @brief Sequence identifier for aligned sequences.
     *
     * This member variable is only used in alignment-based records (from STH
     * files).
     *
     * @var Align<Rna5String,ArrayGaps> RnaRecord::align;
     *
     * @brief Alignment of several sequences (including gaps).
     *
     * This member variable is only used in alignment-based records (from STH
     * files).
     */