SLAGAN

Input: two genomic dna sequences in FASTA file(s)

Generation of local alignments (Svenja)

SLAGAN uses the CHAOS aligner for this phase:

Implementation: Chaos is part of lagan so this is somewhere implemented in SeqAn. But we will probably need to adjust it for our needs. Probably this step has to be run twice: sequence 1 vs sequence2 and sequence1 vs reverse complement of sequence2.

REINERT: have a look at lagan.cpp in the SeqAn demo folder. You will also find the call to chaos. Alternatively, Birte Kehr can provide you with her new local aligner.

Output: local alignments as six-tuples (start1,end1,start2,end2,score,strand) REINERT: Ask Birte for the standard output of her aligner. That format can also be read in again for the next step.

Building the 1-monotonic conservation map (Felix)

Implementation: As this is the core feature of the algorithm, we will try to reimplement it.

Output: chain consisting of consistent subchains (how to store this?)

Aligning consistent subsegments (Svenja)

Implementation: SLAGAN uses LAGAN for this task. This is already implemented in SeqAn somewhere so we can use this. But we will have either to formate our input in a way that the LAGAN implementation can deal with it or adjust the implementation so it can deal with our input

Output: glocal alignment

Implementation Detail

Types of Gaps

The type of gap between two matches L1 and L2 is denoted by three bits (linearInSeq2, IPositive, JPositive)

Implemented a class that can store this three bits in one char. Realized afterward that there is a Bitset class in the STL…

Chaining

gap penalties:

Problems and Milestones

Next steps