/* Last edited: Mar 3 13:16 1997 (birney) */ %{ #include "wisebase.h" #include "probability.h" #include "geneparser21.h" enum GeneParser4Type { GP4_INTRON2CDS = 0, GP4_INTRON2INTRON, GP4_DELETE_1_BASE, GP4_DELETE_2_BASE, GP4_INSERT_1_BASE, GP4_INSERT_2_BASE, GP4_LOOP2LOOP, GP4_LOOP2MODEL, GP4_TRANSITION_LEN }; %} struct GeneParser4 Probability transition[GP4_TRANSITION_LEN] Probability intron[5] struct GeneParser4Score Score transition[GP4_TRANSITION_LEN] Score intron[5] %{ #include "geneparser4.h" GeneParser4Score * GeneParser4Score_from_GeneParser21Score(GeneParser21Score * gp21s) { int i; GeneParser4Score * out; out = GeneParser4Score_alloc(); out->transition[GP4_INTRON2CDS] = gp21s->transition[GP21_CENTRAL2PY] + gp21s->transition[GP21_PY2SPACER] + gp21s->transition[GP21_SPACER2CDS]; out->transition[GP4_INTRON2INTRON] = gp21s->transition[GP21_CENTRAL2CENTRAL]; out->transition[GP4_DELETE_1_BASE] = gp21s->transition[GP21_DELETE_1_BASE]; out->transition[GP4_DELETE_2_BASE] = gp21s->transition[GP21_DELETE_2_BASE]; out->transition[GP4_INSERT_1_BASE] = gp21s->transition[GP21_INSERT_1_BASE]; out->transition[GP4_INSERT_2_BASE] = gp21s->transition[GP21_INSERT_2_BASE]; out->transition[GP4_LOOP2MODEL] = gp21s->transition[GP21_RND2MODEL]; /* out->transition[GP4_LOOP2LOOP] = gp21s->transition[GP21_RND2RND]; */ out->transition[GP4_LOOP2LOOP] = 0; /* fprintf(stderr,"Loop score is %d\n",out->transition[GP4_LOOP2LOOP]); */ for(i=0;i<5;i++) out->intron[i] = gp21s->central[i]; return out; } GeneParser4Score * GeneParser4Score_from_GeneParser4(GeneParser4 * gp4) { GeneParser4Score * out; out = GeneParser4Score_alloc(); Probability2Score_move(gp4->transition,out->transition,GP4_TRANSITION_LEN); Probability2Score_move(gp4->intron,out->intron,5); return out; } %}