# Spec Dna5
Alphabet for DNA including 'N' character.

Extends | SimpleType
All Extended | SimpleType
All Impl'd | AlphabetConcept, AssignableConcept, ComparableConcept, CopyConstructibleConcept, DefaultConstructibleConcept, EqualityComparableConcept, FiniteOrderedAlphabetConcept, LessThanComparableConcept, OrderedAlphabetConcept
Defined in | <seqan/basic.h>
Signature | `typedef SimpleType<unsigned char, Dna5_> Dna5;`

## Member Function Overview

### Member Functions Inherited From SimpleType

- `SimpleType`

### Member Functions Inherited From AssignableConcept

- `operator=`

### Member Functions Inherited From ComparableConcept

- `operator>`

### Member Functions Inherited From EqualityComparableConcept

- `operator!=`
- `operator==`

### Member Functions Inherited From LessThanComparableConcept

- `operator<`

### Member Functions Inherited From OrderedAlphabetConcept

- `operator<`

## Interface Function Overview

### Interface Functions Inherited From AssignableConcept

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

### Interface Functions Inherited From ComparableConcept

- `operator<=`
- `operator>=`

### Interface Functions Inherited From FiniteOrderedAlphabetConcept

- `ordValue`
- `valueSize`

### Interface Functions Inherited From OrderedAlphabetConcept

- `supremumValueImpl`
- `maxValue`
- `infimumValueImpl`
- `minValue`

## Interface Metafunction Overview

### Interface Metafunctions Inherited From AlphabetConcept

- `BitsPerValue`

### Interface Metafunctions Inherited From FiniteOrderedAlphabetConcept

- `ValueSize`

### Interface Metafunctions Inherited From OrderedAlphabetConcept

- `MaxValue`
- `MinValue`

## Member Variable Overview

### Member Variables Inherited From SimpleType

- `value`

## Detailed Description

The ValueSize of `Dna5` is 5. The nucleotides are enumerated this way: `'A' = 0, 'C' = 1, 'G' = 2, 'T' = 3`. The 'N' character ("unkown nucleotide") is encoded by 4.

Objects of type `Dna5` can be converted to various other types and vice versa. An object that has a value not in `{'A', 'C', 'G', 'T'}` is converted to `'N'`.

## See Also

- Dna
- Dna5Iterator
- Dna5String

#### Dox Sources

    /*!
     * @class Dna5
     *
     * @extends SimpleType
     *
     * @headerfile <seqan/basic.h>
     *
     * @brief Alphabet for DNA including 'N' character.
     *
     * @signature typedef SimpleType<unsigned char, Dna5_> Dna5;
     *
     * The @link FiniteOrderedAlphabetConcept#ValueSize @endlink of <tt>Dna5</tt> is
     * 5. The nucleotides are enumerated this way: <tt>'A' = 0, 'C' = 1, 'G' = 2,
     * 'T' = 3</tt>. The 'N' character ("unkown nucleotide") is encoded by 4.
     *
     * Objects of type <tt>Dna5</tt> can be converted to various other types and
     * vice versa. An object that has a value not in <tt>{'A', 'C', 'G', 'T'}</tt>
     * is converted to <tt>'N'</tt>.
     *
     * @see Dna5Iterator
     * @see Dna5String
     * @see Dna
     */