int main() { int evalcost; char *align = "R7I2R2D1R3I1R3"; char *seq1 = "acgtagatatatagat"; char *seq2 = "agaaagaggtaagaggga"; alignment alg = alignment_new(seq1, seq2, align); alignment_show(alg); evalcost = alignment_evalcost(alg); printf("\tCosts: %d\n\n", evalcost); printf("\tadding one deletion...\n"); alignment_add_operation(&alg, 1, 'D'); alignment_show(alg); printf("\tadding one insertion...\n"); alignment_add_operation(&alg, 1, 'I'); alignment_show(alg); printf("\tadding one replacement...\n"); alignment_add_operation(&alg, 1, 'R'); alignment_show(alg); evalcost = alignment_evalcost(alg); printf("\tCosts: %d\n\n", evalcost); return(EXIT_SUCCESS); }
int main(int argc, char * ARGV[]) { if (argc < 5 || argc%2 == 0) { printf("FEHLER: falsche Anzahl Argumente!\n"); return 1; } char * s1 = ARGV[1]; int len1 = strlen(s1); char * s2 = ARGV[2]; int len2 = strlen(s2); int ops = 0; int i; alignment *al = alignment_new (s1, len1, s2, len2); for (i = 3; i < argc; i+=2) { ops |= alignment_add_operations (al, ARGV[i][0], atoi(ARGV[i+1])); } if (ops) { printf ("Fehler beim Einfuegen einer Operation (Ueberlauf)!\n"); } int show = alignment_show (al); if (show) { printf ("Fehler beim Ausgeben des Alignments (Alignment inkonsistent)!\n"); } printf ("Länge des Alignments (Länge der Multiedit-Liste): %d (%d)\n", \ al->length, al->editlength); int costs = alignment_evalcost (al, unit_cost); printf ("Kosten des Alignments: %d\n", costs); alignment_delete (al); al = NULL; return 0; }