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