| 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 | }
|
|