[Seqan-dev] Trouble Hashing Kmers into Qgram Index
- From: Brett Bowman <bnbowman@gmail.com>
- To: SeqAn Development <seqan-dev@lists.fu-berlin.de>
- Date: Tue, 18 Nov 2014 22:34:45 -0800
- Reply-to: SeqAn Development <seqan-dev@lists.fu-berlin.de>
- Subject: [Seqan-dev] Trouble Hashing Kmers into Qgram Index
Sorry to be a bother, but I decided to go back to the docs and start fresh and I'm still having issues.
We're using Qgrams, so I trying to write a simple loop to search for all 12mers from a query sequence "seq" in the index formed from a StringSet of references "refSeq", building on the example code in the Q-Gram Index tutorial:
"""
TFinder qgramFinder(index);
for (size_t i = 0; i < length(seq)-12; i++)
{
TInfix::Type kmer = infix(seq, i, i+12);
std::cout << kmer << std::endl;
seqan::hash(indexShape(index), kmer);
for (unsigned i = 0; i < length(getOccurrences(index, indexShape(index))); ++i)
{
std::cout << getOccurrences(index, indexShape(index))[i] << std::endl;
}
std::cout << std::endl;
}
"""
but I'm getting a fairly obtuse error message I don't quite understand, and doesn't point me back to any specific lines in my code.
/usr/include/seqan/index/shape_base.h:535:55: error: indirection requires pointer operand ('seqan::Segment<const seqan::String<seqan::SimpleType<unsigned
char, seqan::Dna5_>, seqan::Alloc<void> >, seqan::InfixSegment>' invalid)
hash * ValueSize<TValue>::VALUE + ordValue((TValue)*it),
^~~
/usr/include/seqan/index/shape_base.h:548:22: note: in instantiation of function template specialization 'seqan::_hashFixedShape<unsigned long,
seqan::SimpleType<unsigned char, seqan::Dna5_>, seqan::Segment<const seqan::String<seqan::SimpleType<unsigned char, seqan::Dna5_>, seqan::Alloc<void> >,
seqan::InfixSegment>, 12>' requested here
return me.hValue = _hashFixedShape(me.hValue, it, TValue(), UngappedShape<q>());
^
/home/bbowman/git/SRSLI/src/C++/SparseAlignment.hpp:102:16: note: in instantiation of function template specialization 'seqan::hash<seqan::SimpleType<unsigned
char, seqan::Dna5_>, 12, seqan::Segment<const seqan::String<seqan::SimpleType<unsigned char, seqan::Dna5_>, seqan::Alloc<void> >, seqan::InfixSegment>
>' requested here
seqan::hash(indexShape(index), kmer);
^
/home/bbowman/git/SRSLI/src/C++/main.cpp:86:9: note: in instantiation of function template specialization 'FindSeeds2<FindSeedsConfig<12,
seqan::UngappedShape<12>, seqan::IndexQGram<seqan::UngappedShape<12>, seqan::Tag<seqan::Default_> > > >' requested here
FindSeeds2(querySeedHits, refSetIndex, idxAndRecord.second.Seq);
"""
Suggestions?
Sincerely,
Brett
- Follow-Ups:
- Re: [Seqan-dev] Trouble Hashing Kmers into Qgram Index
- From: Rahn, René <rene.maerker@fu-berlin.de>
- Re: [Seqan-dev] Trouble Hashing Kmers into Qgram Index
-
seqan-dev - November 2014 - Archives indexes sorted by:
[ thread ] [ subject ] [ author ] [ date ] - Complete archive of the seqan-dev mailing list
- More info on this list...