RNAlib-2.0.5
H/edit_cost.h
Go to the documentation of this file.
00001 
00006 #define PRIVATE static
00007 
00008 PRIVATE char   sep    = ':';
00009 PRIVATE char  *coding = "Null:U:P:H:B:I:M:S:E:R";
00010 
00011 #define  INF 10000  /* infinity */
00012 
00013 typedef int CostMatrix[10][10];
00014 
00015 PRIVATE CostMatrix *EditCost;  /* will point to UsualCost or ShapiroCost */
00016 
00017 PRIVATE CostMatrix  UsualCost =
00018 {
00019 
00020 /*  Null,   U,   P,   H,   B,   I,   M,   S,   E,   R     */
00021 
00022    {   0,   1,   2,   2,   2,   2,   2,   1,  1,  INF},   /* Null replaced */
00023    {   1,   0,   1, INF, INF, INF, INF, INF, INF, INF},   /* U    replaced */
00024    {   2,   1,   0, INF, INF, INF, INF, INF, INF, INF},   /* P    replaced */
00025    {   2, INF, INF,   0,   2,   2,   2, INF, INF, INF},   /* H    replaced */
00026    {   2, INF, INF,   2,   0,   1,   2, INF, INF, INF},   /* B    replaced */
00027    {   2, INF, INF,   2,   1,   0,   2, INF, INF, INF},   /* I    replaced */
00028    {   2, INF, INF,   2,   2,   2,   0, INF, INF, INF},   /* M    replaced */
00029    {   1, INF, INF, INF, INF, INF, INF,   0, INF, INF},   /* S    replaced */
00030    {   1, INF, INF, INF, INF, INF, INF, INF,   0, INF},   /* E    replaced */
00031    { INF, INF, INF, INF, INF, INF, INF, INF, INF,   0},   /* R    replaced */
00032 
00033 };
00034 
00035 
00036 PRIVATE CostMatrix ShapiroCost =
00037 {
00038 
00039 /*  Null,   U,   P,   H,   B,   I,   M,   S,   E,  R     */
00040 
00041    {   0,   1,   2, 100,   5,   5,  75,   5,   5, INF},   /* Null replaced */
00042    {   1,   0,   1, INF, INF, INF, INF, INF, INF, INF},   /* U    replaced */
00043    {   2,   1,   0, INF, INF, INF, INF, INF, INF, INF},   /* P    replaced */
00044    { 100, INF, INF,   0,   8,   8,   8, INF, INF, INF},   /* H    replaced */
00045    {   5, INF, INF,   8,   0,   3,   8, INF, INF, INF},   /* B    replaced */
00046    {   5, INF, INF,   8,   3,   0,   8, INF, INF, INF},   /* I    replaced */
00047    {  75, INF, INF,   8,   8,   8,   0, INF, INF, INF},   /* M    replaced */
00048    {   5, INF, INF, INF, INF, INF, INF,   0, INF, INF},   /* S    replaced */
00049    {   5, INF, INF, INF, INF, INF, INF, INF,   0, INF},   /* E    replaced */
00050    { INF, INF, INF, INF, INF, INF, INF, INF, INF,   0},   /* R    replaced */
00051 
00052 };
00053