1
2%{
3#include "aligngenemodel.h"
4
5
6
7%}
8
9
10struct AlignGeneModelFrame
11int len
12
13matrix AlignWise
14query  type="AlignGeneModelFrame*" name="model" field:len="len"
15target type="AlignGeneModelScore*" name="align" field:len="len"
16resource type="Score" name="intronopen"
17resource type="Score" name="geneopen"
18state  CODON offi="0"
19  source CODON offj="3"
20    calc="align->forward_coding[j]"
21    endsource
22  source INTERGENIC offj="3"
23    calc="align->forward_coding[j]"
24    endsource
25  source INTRON_0 offj="6"
26    calc="align->splice3_forward[j-3] + align->forward_coding[j]"
27    target_label 3SS_PHASE_0
28    endsource
29  source INTRON_1 offj="5"
30    calc="align->splice3_forward[j-2]"
31    target_label 3SS_PHASE_1
32    endsource
33  source INTRON_2 offj="4"
34    calc="align->splice3_forward[j-1]"
35    target_label 3SS_PHASE_2
36    endsource
37  query_label EXON_STATE
38  target_label CODON
39endstate
40state INTRON_0 offi="0" offj="1"
41  source CODON offj="8"
42    calc="align->splice5_forward[j-7]+intronopen"
43    target_label 5SS_PHASE_0
44    endsource
45  source INTRON_0 offj="1"
46    calc="0"
47    endsource
48  query_label INTRON_STATE
49  target_label INTRON
50endstate
51state INTRON_1 offi="0" offj="1"
52   source CODON offj="9"
53    calc="align->splice5_forward[j-7]+intronopen"
54    target_label 5SS_PHASE_1
55    endsource
56  source INTRON_1 offj="1"
57    calc="0"
58    endsource
59  query_label INTRON_STATE
60  target_label INTRON
61endstate
62state INTRON_2 offi="0" offj="1"
63   source CODON offj="10"
64    calc="align->splice5_forward[j-7]+intronopen"
65    target_label 5SS_PHASE_2
66    endsource
67  source INTRON_2 offj="1"
68    calc="0"
69    endsource
70  query_label INTRON_STATE
71  target_label INTRON
72endstate
73state  REVERSE_CODON offi="0"
74  source REVERSE_CODON offj="3"
75    calc="align->reverse_coding[j]"
76    endsource
77  source INTERGENIC offj="3"
78    calc="align->reverse_coding[j]"
79    endsource
80  source REVERSE_INTRON_0 offj="6"
81    calc="align->splice5_reverse[j-3]"
82    target_label REV_5SS_PHASE_0
83    endsource
84  source REVERSE_INTRON_1 offj="5"
85    calc="align->splice5_reverse[j-2]"
86    target_label REV_5SS_PHASE_1
87    endsource
88  source REVERSE_INTRON_2 offj="4"
89    calc="align->splice5_reverse[j-1]"
90    target_label REV_5SS_PHASE_2
91    endsource
92  query_label REV_EXON_STATE
93  target_label REV_CODON
94endstate
95state REVERSE_INTRON_0 offi="0" offj="1"
96  source REVERSE_CODON offj="8"
97    calc="align->splice3_reverse[j-7]+intronopen"
98    target_label REV_3SS_PHASE_0
99    endsource
100  source REVERSE_INTRON_0 offj="1"
101    calc="0"
102    endsource
103  query_label REV_INTRON_STATE
104  target_label REV_INTRON
105endstate
106state REVERSE_INTRON_1 offi="0" offj="1"
107   source REVERSE_CODON offj="9"
108    calc="align->splice3_reverse[j-7]+intronopen"
109    target_label REV_3SS_PHASE_1
110    endsource
111  source REVERSE_INTRON_1 offj="1"
112    calc="0"
113    endsource
114  query_label REV_INTRON_STATE
115  target_label REV_INTRON
116endstate
117state REVERSE_INTRON_2 offi="0" offj="1"
118   source REVERSE_CODON offj="10"
119    calc="align->splice3_reverse[j-7]+intronopen"
120    target_label REV_3SS_PHASE_2
121    endsource
122  source REVERSE_INTRON_2 offj="1"
123    calc="0"
124    endsource
125  query_label REV_INTRON_STATE
126  target_label REV_INTRON
127endstate
128state START !special !start
129endstate
130state INTERGENIC !special
131  source START offj="1"
132    calc="0"
133    endsource
134  source INTERGENIC offj="1"
135    calc="0"
136    endsource
137  source CODON
138    calc="geneopen"
139    target_label STOP
140    endsource
141  source REVERSE_CODON
142    calc="geneopen"
143    target_label REV_CODON
144    endsource
145  target_label SEQUENCE
146  query_label  INTERGENIC
147endstate
148state END !special !end
149  source INTERGENIC offj="1"
150    calc="0"
151    endsource
152  query_label END
153  target_label END
154endstate
155collapse INTRON_STATE INTRON
156collapse REV_INTRON_STATE REV_INTRON
157collapse INTERGENIC SEQUENCE
158endmatrix
159
160
161%{
162#include "alignwisedp.h"
163
164
165
166%}
167