Example Program
Global Alignments
Computing an optimal global alignment between two sequences.
A tutorial about global alignments.
1 | //#include <iostream>
|
2 |
|
3 | #include <seqan/basic.h>
|
4 | #include <seqan/file.h>
|
5 | #include <seqan/align.h>
|
6 |
|
7 | int main()
|
8 | {
|
9 | using namespace seqan;
|
10 | typedef Value<Gaps<Dna5String, ArrayGaps> >::Type TValue;
|
11 | using namespace seqan;
|
12 |
|
13 | typedef String<Dna> TSequence;
|
14 | TSequence seq1 = "atcgaatgcgga";
|
15 | TSequence seq2 = "actcgttgca";
|
16 | Score<int> scoringScheme(0, -1, -1, -2);
|
17 | Align<TSequence, ArrayGaps> align;
|
18 | resize(rows(align), 2);
|
19 | assignSource(row(align, 0), seq1);
|
20 | assignSource(row(align, 1), seq2);
|
21 |
|
22 | int score = globalAlignment(align, scoringScheme);
|
23 | std::cout << "Score = " << score << std::endl;
|
24 | std::cout << align << std::endl;
|
25 | score = globalAlignment(align, MyersHirschberg());
|
26 | std::cout << "Score = " << score << std::endl;
|
27 | std::cout << align << std::endl;
|
28 | typedef StringSet<TSequence, Dependent<> > TStringSet;
|
29 | typedef Graph<Alignment<TStringSet, void> > TAlignmentGraph;
|
30 |
|
31 | TStringSet string_set;
|
32 | appendValue(string_set, seq1);
|
33 | appendValue(string_set, seq2);
|
34 | TAlignmentGraph alignment_graph(string_set);
|
35 |
|
36 | score = globalAlignment(alignment_graph, scoringScheme, Gotoh());
|
37 | std::cout << "Score = " << score << std::endl;
|
38 | std::cout << alignment_graph << std::endl;
|
39 | return 0;
|
40 | }
|