FU Logo
  • Startseite
  • Kontakt
  • Impressum
  • Home
  • Listenauswahl
  • Anleitungen

[Seqan-dev] SearchIndex based on external StringSet

<-- thread -->
<-- date -->
  • From: Tilo Eißler <eissler@in.tum.de>
  • To: Seqan developer list <seqan-dev@lists.fu-berlin.de>
  • Date: Wed, 20 Oct 2010 11:58:43 +0200
  • Reply-to: SeqAn Development <seqan-dev@lists.fu-berlin.de>
  • Subject: [Seqan-dev] SearchIndex based on external StringSet

Hello,

as the subject denotes I'm currently trying to build a SearchIndex based
on an external StringSet using the actual trunk version of seqan.

I started with the "Index Finder StringSet" example program. Then I've
altered the String type to the external specialisation which results in
the following term for the StringSet:

StringSet < String<String<char>, External<> > > mySet;

Afterwards I've resized the set and appended values to each entry of the
set using the append function.

Building the index and a finder at least compiles as well, but trying to
search the finder using a pattern does not work, or more precisely, the
compilation fails. I've attached my sourcecode.
I'm getting confused with the compiler error message, so I'm asking if
someone is kind and takes a look at it to help me :-)
Is there a major flaw in my thought process? Or is it possible to do
what I'm trying?

Another (related) topic:

To my knowledge the default index type is the enhanced suffix array.
I've read that the build process can use external memory. Is this done
by default or do I need to provide an extra specialisation to achieve this?
The resulting suffix array lies in main memory, right?

Thank you very much for your help and best regards,

Tilo
#include <iostream>

#include <seqan/index.h>

using namespace seqan;

int main() {
    
    StringSet < String<String<char>, External<> > > mySet;
    resize(mySet, 3);
    append(mySet[0], "aggtttccggNNNtagcgcttaa");
    append(mySet[1], "attgctgcNaatgtgctaa");
    append(mySet[2], "atggctgcNaccatgtgctatta");
    
    Index< StringSet < String<String<char>, External<> > > > myIndex(mySet); 
    Finder< Index< StringSet < String<String<char>, External<> > > > > myFinder(myIndex);

    Pattern< String<String<char>, External<> > > pat = "agg";
    // or can I simply use the following as usual?
    // Pattern< String<char> > pat = "agg";

    std::cout << "hit at ";
    while (find(myFinder, pat)) 
        std::cout << position(myFinder) << "  ";
    std::cout << ::std::endl;


    return 0;
}
<-- thread -->
<-- date -->
  • Follow-Ups:
    • Re: [Seqan-dev] SearchIndex based on external StringSet
      • From: "Holtgrewe, Manuel" <manuel.holtgrewe@fu-berlin.de>
  • seqan-dev - October 2010 - Archives indexes sorted by:
    [ thread ] [ subject ] [ author ] [ date ]
  • Complete archive of the seqan-dev mailing list
  • More info on this list...

Hilfe

  • FAQ
  • Dienstbeschreibung
  • ZEDAT Beratung
  • postmaster@lists.fu-berlin.de

Service-Navigation

  • Startseite
  • Listenauswahl

Einrichtung Mailingliste

  • ZEDAT-Portal
  • Mailinglisten Portal