Class Specialization
IndexQGram
An index based on an array of sorted q-grams. Especially useful for q-gram/k-mer searches.

Index

IndexQGram

BucketRefinement | OpenAddressing

Index<TText, IndexQGram<TShapeSpec[, TSpec]> >
Include Headers
seqan/index.h
Parameters

TText | The text type. Types: String
TShapeSpec | The Shape specialization type. Note: This can be either a TSpec argument (e.g. SimpleShape) or a complete Shape class (e.g. Shape<Dna, SimpleShape>).
TSpec | The specializing type. Types: OpenAddressing Default: Default

Remarks
The fibres (see Index and Fibre) of this index are a suffix array sorted by the first q characters (see QGramSA) and a q-gram directory (see QGramDir). The size of the q-gram directory is |Σ|^q. On a 32bit system the q-gram length is limited to 3 for char alphabets or 13-14 for Dna alphabets. Consider to use the OpenAddressing q-gram index for longer q-grams if you don't need q-grams to be sorted.
Specialization of
Index
Specializations

BucketRefinement | An index based on a refined array of sorted q-grams.
OpenAddressing | An index based on an array of sorted q-grams.

Metafunctions

Fibre | Type of a specific container member (fibre). (Index)
SAValue | The default alphabet type of a suffix array, i.e. the type to store a position of a string or string set. (Index)

Functions

clear | Resets an object. (Index)
countOccurrences | Returns the number of occurrences of representative substring or a q-gram in the index text.
countOccurrencesMultiple | Returns the number of occurrences of a q-gram for every sequence of a StringSet .
countSequences | Return the number of sequences in an index' underlying text. (Index)
createQGramIndex | Builds a q-gram index on a sequence.
dirAt | Shortcut for value(indexDir(..), ..).
end | The end of a container. (Index)
getFibre | Returns a specific fibre of a container. (Index)
getKmerSimilarityMatrix | Creates a matrix storing the number of common q-grams between all pairs of sequences.
getOccurrence | Returns an occurrence of the representative substring or a q-gram in the index text.
getOccurrences | Returns all occurrences of the representative substring or a q-gram in the index text.
getStepSize | Return the q-gram step size used for index creation.
indexBucketMap | Shortcut for getFibre(.., QGramBucketMap).
indexCounts | Shortcut for getFibre(.., QGramCounts).
indexCountsDir | Shortcut for getFibre(.., QGramCountsDir).
indexCreate | Creates a specific Fibre. (Index)
indexDir | Shortcut for getFibre(.., QGramDir).
indexRequire | On-demand creation of a specific Fibre. (Index)
indexSA | Shortcut for getFibre(.., FibreSA). (Index)
indexShape | Shortcut for getFibre(.., QGramShape).
indexSupplied | Returns whether a specific Fibre is present. (Index)
indexText | Shortcut for getFibre(index, FibreText()). (Index)
length | The number of characters in the underlying text of the index is returned. (Index)
open | This functions opens an index from disk. (Index)
range | Returns the suffix array interval borders of occurrences of representative substring or a q-gram in the index text.
save | This functions saves an index to disk. (Index)
setStepSize | Change the q-gram step size used for index creation.

Examples
The following code prints all occurrences of the gapped q-gram "AT-A" in "CATGATTACATA".
File "index_qgram.cpp"

1 | #include <iostream>
2 | #include <seqan/index.h>
3 |
4 | using namespace seqan;
5 |
6 | int main ()
7 | {
8 | Index<DnaString, IndexQGram<OneGappedShape> > index("CATGATTACATA");
9 | stringToShape(indexShape(index), "1101");
10 |
11 | hash(indexShape(index), "ATCA");
12 | for (unsigned i = 0; i < length(getOccurrences(index, indexShape(index))); ++i)
13 | std::cout << getOccurrences(index, indexShape(index))[i] << std::endl;
14 |
15 | return 0;
16 | }

1
4
Example Programs
Maximal Repeats, Index Finder StringSet, Mummy, Maximal Unique Matches, Index lcpAt, saAt, Index Finder, Index countOccurrencesMultiple, Supermaximal Repeats, Index countChildren
See Also
QGram Index Fibres
SeqAn - Sequence Analysis Library - www.seqan.de

Page built @2014/10/13 16:13:00