Module reference

Source
Expand description

A database for multiple targeted sequences.

§What is Reference?

  • Reference is a target of alignment, containing multiple sequences.
  • It is primarily used by the Aligner to perform alignments.

§Features

  • Reference is designed to be agnostic to the storage and retrieval methods for sequences.
    • Sequences could be stored in memory, files, or remote physical locations accessible over a network.
  • During alignment, Reference remains immutable.
    • Aligner manages the SequenceBuffer defined in SequenceStorage to store temporary sequences.
    • Reference only defines the how to access the target sequences.
  • The target sequences’ range can be adjusted after building the Reference, unlike conventional “Reference” in bioinformatics.
  • Basically, Reference is simply built from SequenceStorage and PatternIndex::Option in sigalign-core.

§Internal Traits

  • SequenceStorage: Fetches a target sequence based on a given target index.
  • PatternIndex: Accepts pattern bytes and returns the indices of the targets exactly matching the pattern. This is necessary for the SigAlign algorithm to exactly locate all patterns in the target sequences.

Modules§

extensions
Supplementary functionalities for the Reference.

Structs§

PatternLocation
PatternLocation holds the index of a pattern within a target.
Reference
A database for multiple target sequences.

Traits§

PatternIndex
SequenceBuffer
SequenceStorage