# Annexes

## Sequence attributes

**ali_dir (`string`)**

  - Set by the *obipairing* tool
  - The attribute can contain 2 string values `left` or `right`.

  The alignment generated by *obipairing* is a 3'-end gap free algorithm.
  Two cases can occur when aligning the forward and reverse reads. If the
  barcode is long enough, both the reads overlap only on their 3' ends. In
  such case, the alignment direction `ali_dir` is set to *left*. If the
  barcode is shorter than the read length, the paired reads overlap by
  their 5' ends, and the complete barcode is sequenced by both the reads.
  In that later case, `ali_dir` is set to *right*.

**ali_length (`int`)**

  - Set by the *obipairing* tool

  Length of the aligned parts when merging forward and reverse reads


**count (`int`)**

  - Set by the *obiuniq* tool
  - Getter : method `Count()`
  - Setter : method `SetCount(int)`

  The `count` attribute indicates how-many strictly identical reads
  have been merged in a single record. It contains an integer value. If it
  is absent this means that the sequence record represents a single
  occurrence of the sequence.

  The `Count()` method allows to access to the count attribute as an
  integer value. If the `count` attribute is not defined for the given
  sequence, the value *1* is returned

**merged_* (`map[string]int`)**

  - Set by the *obiuniq* tool

  The `-m` option of the *obiuniq* tools allows for keeping track of the
  distribution of the values stored in given attribute of interest. Often
  this option is used to summarise distribution of a sequence variant
  accross samples when *obiuniq* is run after running *obimultiplex*. The
  actual name of the attribute depends on the name of the monitored
  attribute. If `-m` option is used with the attribute *sample*, then this
  attribute names *merged_sample*.

**mode (`string`)**

  - Set by the *obipairing* tool
  - The attribute can contain 2 string values `join` or `alignment`.


**obitag_ref_index (`map[string]string`)**

  - Set by the *obirefidx* tool.

  It resumes to which taxonomic annotation a match to that sequence must
  lead according to the number of differences existing between the query
  sequence and the reference sequence having that tag. 

```json
   {"0":"9606@Homo sapiens@species",
    "2":"207598@Homininae@subfamily",
    "3":"9604@Hominidae@family",
    "8":"314295@Hominoidea@superfamily",
    "10":"9526@Catarrhini@parvorder",
    "12":"1437010@Boreoeutheria@clade",
    "16":"9347@Eutheria@clade",
    "17":"40674@Mammalia@class",
    "22":"117571@Euteleostomi@clade",
    "25":"7776@Gnathostomata@clade",
    "29":"33213@Bilateria@clade",
    "30":"6072@Eumetazoa@clade"}
```

**pairing_mismatches (`map[string]string`)**

  - Set by the *obipairing* tool

**seq_a_single (`int`)**

  - Set by the *obipairing* tool

**seq_ab_match (`int`)**

  - Set by the *obipairing* tool

**seq_b_single (`int`)**

  - Set by the *obipairing* tool

**score (`int`)**

  - Set by the *obipairing* tool

**score_norm (`float`)**

  - Set by the *obipairing* tool
  - The value ranges between 0 and 1.

  Score of the alignment between forward and reverse reads expressed as a fraction of identity.
 
