# Class GffRecord
Represent a record from a GFF or GTF file.

Implements | FormattedFileRecordConcept
All Impl'd | AssignableConcept, CopyConstructibleConcept, DefaultConstructibleConcept, FormattedFileRecordConcept
Defined in | <seqan/gff_io.h>
Signature | `class GffRecord;`

## Member Function Overview

- `static float INVALID_SCORE()`
  Returns invalid score (NaN float value).

### Member Functions Inherited From AssignableConcept

- `operator=`

## Interface Function Overview

- `void clear(record);`
  Reset a GffRecord object.

### Interface Functions Inherited From AssignableConcept

- `assign`
- `set`
- `move`

## Member Variable Overview

- `int32_t GffRecord::beginPos`
  The begin position of the record.
- `int32_t GffRecord::endPos`
  The end position of the record.
- `int32_t GffRecord::INVALID_IDX`
  Static member with invalid/sentinel rID value.
- `char GffRecord::phase`
  The phase of the record.
- `CharString GffRecord::ref`
  The sequence name of the record.
- `float GffRecord::score`
  The score of the record.
- `CharString GffRecord::source`
  The source of the record.
- `char GffRecord::strand`
  The strand the record belongs to.
- `TCharStringSet GffRecord::tagNames`
  The names of the attributes of the record, StringSet of CharString.
- `TCharStringSet GffRecord::tagValues`
  The values of the attributes of the record, StringSet of CharString.
- `CharString GffRecord::type`
  The type of the record.

## Member Functions Detail

### `static float INVALID_SCORE()`

Returns invalid score (NaN float value).

The term `x != x` (for `float x` is only true if `x` is a NaN.

#### Data Races

Thread safety unknown!

## Interface Functions Detail

### `void clear(record);`

Reset a GffRecord object.

#### Parameters

`record` | The GffRecord to reset.

#### Data Races

Thread safety unknown!

## Member Variables Detail

### `int32_t GffRecord::beginPos`

The begin position of the record.

### `int32_t GffRecord::endPos`

The end position of the record.

GFF and GTF use 1-based positions in text, but they are stored as 0-based coordinates.

### `int32_t GffRecord::INVALID_IDX`

Static member with invalid/sentinel rID value.

### `char GffRecord::phase`

The phase of the record.

For features of type "CDS", the phase indicates where the feature begins with reference to the reading frame. The phase is one of the integers 0, 1, or 2, indicating the number of bases that should be removed from the beginning of this feature to reach the first base of the next codon.

### `CharString GffRecord::ref`

The sequence name of the record.

The ID of the landmark used to establish the coordinate system for the current feature, most often the contig/chromosome name.

### `float GffRecord::score`

The score of the record.

### `CharString GffRecord::source`

The source of the record.

The source is a free text qualifier intended to describe the algorithm or operating procedure that generated this feature.

### `char GffRecord::strand`

The strand the record belongs to.

The strand of the feature. + for positive strand (relative to the landmark), - for minus strand, and . for features that are not stranded.

### `TCharStringSet GffRecord::tagNames`

The names of the attributes of the record, StringSet of CharString.

For each value there is a name associated in tagNames.

### `TCharStringSet GffRecord::tagValues`

The values of the attributes of the record, StringSet of CharString.

#### Remarks

For each name there is a value associated in GffRecord::tagValues.

### `CharString GffRecord::type`

The type of the record.

#### Dox Sources

    /*!
     * @class GffRecord
     *
     * @implements FormattedFileRecordConcept
     *
     * @headerfile <seqan/gff_io.h>
     *
     * @brief Represent a record from a GFF or GTF file.
     *
     * @signature class GffRecord;
     *
     * @fn GffRecord::INVALID_SCORE
     *
     * @brief Returns invalid score (NaN float value).
     *
     * @signature static float INVALID_SCORE()
     *
     * The term <tt>x != x</tt> (for <tt>float x</tt> is only true if <tt>x</tt> is
     * a NaN.
     *
     * @var int32_t GffRecord::INVALID_IDX;
     *
     * @brief Static member with invalid/sentinel rID value.
     *
     * @var CharString GffRecord::ref;
     *
     * @brief The sequence name of the record.
     *
     * The ID of the landmark used to establish the coordinate system for the
     * current feature, most often the contig/chromosome name.
     *
     * @var CharString GffRecord::source;
     *
     * @brief The source of the record.
     *
     * The source is a free text qualifier intended to describe the algorithm or
     * operating procedure that generated this feature.
     *
     * @var CharString GffRecord::type;
     *
     * @brief The type of the record.
     *
     * @var TCharStringSet GffRecord::tagNames;
     *
     * @brief The names of the attributes of the record, StringSet of CharString.
     *
     * For each value there is a name associated in @link GffRecord::tagNames
     * tagNames @endlink.
     *
     * @var TCharStringSet GffRecord::tagValues;
     *
     * @brief The values of the attributes of the record, StringSet of CharString.
     *
     * @section Remarks
     *
     * For each name there is a value associated in GffRecord::tagValues.
     *
     * @var int32_t GffRecord::beginPos;
     *
     * @brief The begin position of the record.
     *
     * @var int32_t GffRecord::endPos;
     *
     * @brief The end position of the record.
     *
     * GFF and GTF use 1-based positions in text, but they are stored as 0-based
     * coordinates.
     *
     * @var float GffRecord::score;
     *
     * @brief The score of the record.
     *
     * @var char GffRecord::strand;
     *
     * @brief The strand the record belongs to.
     *
     * The strand of the feature. + for positive strand (relative to the landmark),
     * - for minus strand, and . for features that are not stranded.
     *
     * @var char GffRecord::phase;
     *
     * @brief The phase of the record.
     *
     * For features of type "CDS", the phase indicates where the feature begins with
     * reference to the reading frame. The phase is one of the integers 0, 1, or 2,
     * indicating the number of bases that should be removed from the beginning of
     * this feature to reach the first base of the next codon.
     *
     * @fn GffRecord#clear
     *
     * @brief Reset a @link GffRecord @endlink object.
     *
     * @signature void clear(record);
     *
     * @param[in,out] record The GffRecord to reset.
     */