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

Re: [Seqan-dev] Lokales Banded-Alignment

<-- thread -->
<-- date -->
  • From: "Rausch, Tobias" <Tobias.Rausch@fu-berlin.de>
  • To: 'Hannes Hauswedell' <hauswedell@mi.fu-berlin.de>
  • Date: Tue, 18 Aug 2009 17:37:14 +0200
  • Acceptlanguage: en-US, de-DE
  • Cc: 'David, "'seqan-dev@lists.fu-berlin.de'" <seqan-dev@lists.fu-berlin.de>, Weese' <weese@inf.fu-berlin.de>
  • Subject: Re: [Seqan-dev] Lokales Banded-Alignment

Hallo Hannes,

> Da kann ich auch andere gapOpen, als gapExtend-Kosten angeben?

Ja.

> Obwohl ein lokales Banded ja auch nicht so sinnvoll ist, wie 
> ein (semi-)globales Banded....

Also wenn du den kompletten Read in einem Ausschnitt vom Genom finden willst (semi-global),
dann geht das mit dem AlignConfig. Setze das genom als 1. string und
den read als 2. und nehme AlignConfig<true, false, false, true>.

> David meinte 
> die Fragmente seien die exakten Stücke des Alignments, so 
> dass ich vor dem ersten Fragment und nach dem letzten 
> "abschneiden" kann.

Die Fragmente sind im Sinne der DP-Matrix alle Diagonalen, also Matches UND Mismatches.
Aufgrund des tracebacks kommen die Fragmente im 
String<Fragment<> > alle rückwärts.
Ein einzelnes Fragment hat 5 members, die id des 1. strings, die begin position
im 1. string, die id des 2. strings, die begin position im 2. string
und die laenge des matches. Demnach ist


> Query: 0   AGCCATTAGAGGCCACCACACCAGACG 27
>             |||||||||||||||||||||||   
> Sbjct: 214 GGCCATTAGAGGCCACCACACCAG--- 238
> 
> Die Fragmentinformationen:
> FRAGMENT 0:             read begin: 26  geno begin: 237 length: 1
> FRAGMENT 1:             read begin: 0   geno begin: 214 length: 23

obiges Alignment zwar ein Alignment vom gleichen Score, der traceback ging aber so:

> Query: 0   AGCCATTAGAGGCCACCACACCAGACG 27
>             ||||||||||||||||||||||   |
> Sbjct: 214 GGCCATTAGAGGCCACCACACCA---G 238

Bei mehreren gleich guten Alignments wird zufaellig ein traceback genommen.
Mit AlignConfig<true, false, false, true> sollte dein oberes Alignment rauskommen.

Grüße,
Tobias




> -----Ursprüngliche Nachricht-----
> Von: seqan-dev-bounces@lists.fu-berlin.de 
> [mailto:seqan-dev-bounces@lists.fu-berlin.de] Im Auftrag von 
> Hannes Hauswedell
> Gesendet: Tuesday, August 18, 2009 5:06 PM
> An: Rausch, Tobias
> Cc: 'seqan-dev@lists.fu-berlin.de'; 'David Weese'
> Betreff: Re: [Seqan-dev] Lokales Banded-Alignment
> 
> Hallo Tobias,
> 
> danke für die schnelle Antwort!
> 
> Am Dienstag, 18. August 2009 09:46:41 schrieb Rausch, Tobias:
> > Hallo Hannes,
> >
> > > Käme ich im Nachhinein noch an den Score an der Stelle x,y in der 
> > > DP-Matrix dran?
> >
> > Leider nein, Gotoh, BandedGotoh & Co. speichern alle immer nur eine 
> > Spalte bei der Berechnung um Memory zu sparen.
> 
> Hm, macht Sinn.
> 
> > > localAlignment() kann ich dafür nicht verwenden, weil das 
> kein Gotoh 
> > > und erst Recht kein BandedGotoh unterstützt.
> >
> > Der SmithWaterman hinter dem localAlignment() verwendet lineare 
> > Gapkosten ist also ein "Gotoh-Style" Algorithmus.
> 
> Da kann ich auch andere gapOpen, als gapExtend-Kosten angeben?
> 
> > Was in der Tat noch
> > fehlt in SeqAn ist ein BandedSmithWaterman.
> >
> > > Das Problem hierbei ist, das auch mit dieser AlignConfig, das Max 
> > > nur in letzter Zeile und Spalte, nicht aber "mittendrin"
> > > gesucht wird (die Funktion ist schließlich "globalAlignment").
> >
> > Ja stimmt, was du vermutlich brauchst ist der 
> BandedSmithWaterman und 
> > den gibt es leider noch nicht, sorry.
> 
> Obwohl ein lokales Banded ja auch nicht so sinnvoll ist, wie 
> ein (semi-)globales Banded, da bei einem wirklich lokalen 
> Alignment die Wahrscheinlichtkeit ja auch nicht höher ist im 
> Band / in Entfernung k um die Hauptdiagonale zu sein, als 
> irgendwo anders. Insofern ist das Problem vielleicht viel 
> tiefer und die Frage ob wir wirklich on lokales Alignment 
> wollen, und wenn ja, dass wir es dann anders realisieren müssen.
> Aber da kann mir nur David weiterhelfen, denke ich.
> 
> Bezüglich dem globalAlignment und der Rückgabe von Fragmenten 
> habe ich aber noch einige Verständnissprobleme. David meinte 
> die Fragmente seien die exakten Stücke des Alignments, so 
> dass ich vor dem ersten Fragment und nach dem letzten 
> "abschneiden" kann um "lokaler" zu werden. In der Realität 
> bekomme ich aber ganz andere "unlokale" Ergebnisse, z.B:
> 
> Query: 0   AGCCATTAGAGGCCACCACACCAGACG 27
>             |||||||||||||||||||||||   
> Sbjct: 214 GGCCATTAGAGGCCACCACACCAG--- 238
> 
> Die Fragmentinformationen:
> FRAGMENT 0:             read begin: 26  geno begin: 237 length: 1
> FRAGMENT 1:             read begin: 0   geno begin: 214 length: 23
> 
> Woher kommt da das 0te Fragment, und wieso beginnt das erste 
> mit einem Mismatch? (Hier ist der Read vollständig also 
> semiglobal aliniert)
> 
> Ein anderer Hit ist wiederum tatsächlicher lokaler, endet 
> jedoch auch mit einem MisMatch:
> 
> Query: 6   CCATTAGAGGCCACCACACCG 27
>            ||||||||||||||||||||
> Sbjct: 216 CCATTAGAGGCCACCACACCA 237
> 
> Unabhängig von den Fragmenten, bezieht sich der Score auch 
> auf das echte globale Alignment, weicht also von dem hier 
> gezeigten stark ab.
> 
> Das wäre ein weiterer Grund warum das Verfahren ungeeignet 
> ist, wobei ich natürlich Alignments die den Read nicht 
> vollständig enthalten ein zweites Mal scoren könnte (was im 
> Endeffekt - wie erwähnt - dann aber wahrscheinlich den 
> Geschwindigkeitsvorteil vom Banded kaputt macht).
> 
> Danke für die Hilfe,
> Gruß,
> Hannes
> 
> >
> > > -----Ursprüngliche Nachricht-----
> > > Von: seqan-dev-bounces@lists.fu-berlin.de
> > > [mailto:seqan-dev-bounces@lists.fu-berlin.de] Im Auftrag 
> von Hannes 
> > > Hauswedell
> > > Gesendet: Tuesday, August 18, 2009 1:09 AM
> > > An: David Weese
> > > Cc: seqan-dev@lists.fu-berlin.de
> > > Betreff: [Seqan-dev] Lokales Banded-Alignment
> > >
> > > Hallo David und andere,
> > >
> > > ich versuche bei mir ein lokales Banded-Alignment mit Gotoh zu 
> > > machen.
> > > Dafür benutzte ich bis jetzt:
> > >
> > > TScoreValue myScore = globalAlignment(result_frags, pairSet,
> > >                                       options.blastScoring,
> > >
> > > AlignConfig<true,true,true,true>(),
> > >                                       diagLow, diagHigh,
> > >                                       BandedGotoh() );
> > >
> > > Das Problem hierbei ist, das auch mit dieser AlignConfig, das Max 
> > > nur in letzter Zeile und Spalte, nicht aber "mittendrin"
> > > gesucht wird (die Funktion ist schließlich "globalAlignment").
> > > Ich könnte natürlich von Beginn des ersten Fragments bis zum Ende 
> > > des letzten nochmal global scoren, aber das ist ein extra Aufruf, 
> > > der das Gesamte noch weiter bremst (dieser 
> Funktionsaufruf ist jetzt 
> > > schon der Bottleneck).
> > >
> > > localAlignment() kann ich dafür nicht verwenden, weil das 
> kein Gotoh 
> > > und erst Recht kein BandedGotoh unterstützt.
> > >
> > > Was kann man da tun? Käme ich im Nachhinein noch an den 
> Score an der 
> > > Stelle x,y in der DP-Matrix dran? x,y wäre hierbei das Ende des 
> > > letzten Fragments (bzw. wegen reverser Orientierung, des ersten).
> > >
> > > Vielen Dank,
> > > Hannes
> > >
> > > _______________________________________________
> > > seqan-dev mailing list
> > > seqan-dev@lists.fu-berlin.de
> > > https://lists.fu-berlin.de/listinfo/seqan-dev
> 
> --
> Solidarische Grüße
> Hannes
> 
> _______________________________________________
> seqan-dev mailing list
> seqan-dev@lists.fu-berlin.de
> https://lists.fu-berlin.de/listinfo/seqan-dev
> 


<-- thread -->
<-- date -->
  • References:
    • [Seqan-dev] Lokales Banded-Alignment
      • From: Hannes Hauswedell <hauswedell@mi.fu-berlin.de>
    • Re: [Seqan-dev] Lokales Banded-Alignment
      • From: "Rausch, Tobias" <Tobias.Rausch@fu-berlin.de>
    • Re: [Seqan-dev] Lokales Banded-Alignment
      • From: Hannes Hauswedell <hauswedell@mi.fu-berlin.de>
  • seqan-dev - August 2009 - 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