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);
}
Exemple #2
0
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;
}