| Function hashNext Computes the hash value for the adjacent shape. Overlapping q-grams can efficiently be hashed by calling hash on the first text position and hashNext on succeeding, adjacent positions. Alternatively, hashInit can be used to replace the first hash call by another hashNext call and hence ease loops iterating all overlapping q-grams. hashNext(shape, it) Include Headers seqan/index.h Parameters
shape | Shape to be used for hashing. Types: Shape
it | Sequence iterator pointing to the first character of the adjacent shape.
Remarks hash has to be called before. Return Values Hash value of the q-gram. Member of Shape Examples Hash loop example that outputs the hash values of all overlapping 3-grams using hash and hashNext. File "shape_hash_next.cpp"
1 | #include <seqan/sequence.h>
2 | #include <seqan/index.h>
3 |
4 | using namespace seqan;
5 |
6 | int main ()
7 | {
8 | DnaString text = "AAAACACAGTTTGA";
9 | Shape<Dna, UngappedShape<3> > myShape;
10 |
11 | // output the hash value of all overlapping 3-grams
12 | std::cout << hash(myShape, begin(text));
13 | for (unsigned i = 1; i < length(text) - length(myShape) + 1; ++i)
14 | std::cout << '\t' << hashNext(myShape, begin(text) + i);
15 |
16 | return 0;
17 | }
The overlapping hash values are: 0 0 1 4 17 4 18 11 47 63 62 56 See Also hash, hashInit SeqAn - Sequence Analysis Library - www.seqan.de

Page built @2014/10/13 16:12:58