Hi,I have a very basic question and it relates to constructing suffix arrays. I know that i can construct and an SA by invoking : createSuffixArray(); function and if i want a specific algorithm i do this :
createSuffixArray(SA, seq, BwtWalk<BwtWalkFast>()); Now, when i want to compute LCP i saw this example: indexRequire(myIndex, EsaLcp());How do i specify that my SA in this case should be created with the same BWT algorithm as in the case above.
concrete example: : seqan::String<char, seqan::MMap<> > mmapString;if (!open(mmapString, toCString(options.inputFileName), seqan::OPEN_RDONLY))
return 1; // Could not open file. // Create RecordReader. seqan::RecordReader<seqan::String<char, seqan::MMap<> >,seqan::DoublePass<seqan::Mapped> > reader(mmapString);
// Read file in one pass. seqan::StringSet<seqan::CharString> ids; seqan::StringSet<seqan::CharString> seqs; if (read2(ids, seqs, reader, Fasta()) != 0) return 1; // Could not read file. typedef Index< StringSet<String<char> > > TMyIndex; TMyIndex myIndex(seqs); indexRequire(myIndex, EsaLcp()); : Thank you