[Seqan-dev] File into pattern matching


Hey,
I am trying to search a bunch of patterns (e.g. 'chr9\t30594839\t') in a 40 GB samtools pileup file.
(one record each line, containing position and mapping data)

Unfortunately the samtools flag -r for partial pileup seems to be broken, so I am left searching in the huge complete file.
Is there a way to directly pass a file stream as a haystack to Finder?

Something like this?
Finder<std::fstream> finder(inStream);


Using a recordreader to read file line by line takes forever:

std::fstream inStream(argv[1], std::ios::binary | std::ios::in);
seqan::RecordReader<std::fstream, seqan::SinglePass<> > reader(inStream);
String<CharString> needles;
Pattern<String<CharString>, MultiBfam> pattern(needles);
while (!atEnd(reader)) {
   int res = readLine(line, reader);
   Finder<CharString> finder(line);
}


Best Regards,
Jakob

Btw: http://trac.seqan.de/wiki/BuildManual/IntegrationWithYourOwnBuildSystem
is totally awesome, it took me a flash to get it running with Makefiles.
However, I just noticed that the link to "Use your own build system" under http://trac.seqan.de/ --> Howtos seems to be broken.