1 #ifndef DYNAMITEcomplexevalsetHEADERFILE
2 #define DYNAMITEcomplexevalsetHEADERFILE
3 #ifdef _cplusplus
4 extern "C" {
5 #endif
6 #include "complexsequence.h"
7 #include "genomic.h"
8 
9 
10 
11 /*** ok, some types to works with ***/
12 
13 #define AMINOACID CSEQ_PROTEIN_AMINOACID
14 #define CSEQ_PROTEIN_AMINOACID(cseq,index) (cseq->data[index])
15 
16 
17 /*** for genomic ***/
18 
19 #define CSEQ_G_LEN 6
20 
21 #define CSEQ_GENOMIC_BASE(cseq,index)      (cseq->data[(index)*CSEQ_G_LEN])
22 #define CSEQ_GENOMIC_CODON(cseq,index)     (cseq->data[(index)*CSEQ_G_LEN +1])
23 #define CSEQ_GENOMIC_5SS(cseq,index)       (cseq->data[(index)*CSEQ_G_LEN +2])
24 #define CSEQ_GENOMIC_3SS(cseq,index)       (cseq->data[(index)*CSEQ_G_LEN +3])
25 #define CSEQ_GENOMIC_REPEAT(cseq,index)    (cseq->data[(index)*CSEQ_G_LEN +4])
26 #define CSEQ_GENOMIC_CDSPOT(cseq,index)    (cseq->data[(index)*CSEQ_G_LEN +5])
27 
28 
29 /*** for cDNA  ***/
30 
31 #define CSEQ_C_LEN 2
32 
33 #define CSEQ_CDNA_BASE(cseq,index) (cseq->data[index*CSEQ_C_LEN])
34 #define CSEQ_CDNA_CODON(cseq,index) (cseq->data[index*CSEQ_C_LEN +1])
35 
36 #define CSEQ_D_LEN 1
37 
38 #define CSEQ_DNA_BASE(cseq,index) (cseq->data[index])
39 
40 
41 
42     /***************************************************/
43     /* Callable functions                              */
44     /* These are the functions you are expected to use */
45     /***************************************************/
46 
47 
48 
49 /* Function:  evaluate_ComplexSequence_Genomic(gen,cses,score_for_repeat,score_for_cds_in_repeat)
50  *
51  * Descrip:    makes a new ComplexSequence from a Genomic
52  *             sequence, using the repeat information to
53  *             structure the positives and negatives.
54  *
55  *
56  * Arg:                            gen [UNKN ] Undocumented argument [Genomic *]
57  * Arg:                           cses [UNKN ] Undocumented argument [ComplexSequenceEvalSet *]
58  * Arg:               score_for_repeat [UNKN ] Undocumented argument [int]
59  * Arg:        score_for_cds_in_repeat [UNKN ] Undocumented argument [int]
60  *
61  * Return [UNKN ]  Undocumented return value [ComplexSequence *]
62  *
63  */
64 ComplexSequence * Wise2_evaluate_ComplexSequence_Genomic(Genomic * gen,ComplexSequenceEvalSet * cses,int score_for_repeat,int score_for_cds_in_repeat);
65 #define evaluate_ComplexSequence_Genomic Wise2_evaluate_ComplexSequence_Genomic
66 
67 
68 /* Function:  default_genomic_ComplexSequenceEvalSet(void)
69  *
70  * Descrip:    Makes a reasonably sensible genomic sequence
71  *             eval set. Has base and codon numbers (what
72  *             every good genomic sequence should do) and then
73  *             /stupid_5SS and /stupid_3SS. Finally the repeat/EST
74  *             regions modelled with the /flat_zero
75  *
76  *
77  *
78  * Return [UNKN ]  Undocumented return value [ComplexSequenceEvalSet *]
79  *
80  */
81 ComplexSequenceEvalSet * Wise2_default_genomic_ComplexSequenceEvalSet(void);
82 #define default_genomic_ComplexSequenceEvalSet Wise2_default_genomic_ComplexSequenceEvalSet
83 
84 
85 /* Function:  flat_negi(void)
86  *
87  * Descrip:    Makes a ComplexSequenceEval that puts NEGI everywhere
88  *
89  *
90  *
91  * Return [UNKN ]  Undocumented return value [ComplexSequenceEval *]
92  *
93  */
94 ComplexSequenceEval * Wise2_flat_negi(void);
95 #define flat_negi Wise2_flat_negi
96 
97 
98 /* Function:  flat_zero(void)
99  *
100  * Descrip:    Makes a ComplexSequenceEval that puts 0 everywhere
101  *
102  *
103  *
104  * Return [UNKN ]  Undocumented return value [ComplexSequenceEval *]
105  *
106  */
107 ComplexSequenceEval * Wise2_flat_zero(void);
108 #define flat_zero Wise2_flat_zero
109 
110 
111 /* Function:  stupid_5SS(void)
112  *
113  * Descrip:    Reasonably stupid 5'SS, of 0 at GT's
114  *             and NEGI elsewhere. Pretends to have a longer
115  *             footprint than it needs to satisify the lookbacks
116  *             of more proper genomic models
117  *
118  *
119  *
120  * Return [UNKN ]  Undocumented return value [ComplexSequenceEval *]
121  *
122  */
123 ComplexSequenceEval * Wise2_stupid_5SS(void);
124 #define stupid_5SS Wise2_stupid_5SS
125 
126 
127 /* Function:  stupid_3SS(void)
128  *
129  * Descrip:    Reasonably stupid 3'SS, of 0 at AG's
130  *             and NEGI elsewhere. Pretends to have a longer
131  *             footprint than it needs to satisify the lookbacks
132  *             of more proper genomic models
133  *
134  *
135  *
136  * Return [UNKN ]  Undocumented return value [ComplexSequenceEval *]
137  *
138  */
139 ComplexSequenceEval * Wise2_stupid_3SS(void);
140 #define stupid_3SS Wise2_stupid_3SS
141 
142 
143 /* Function:  default_DNA_ComplexSequenceEvalSet(void)
144  *
145  * Descrip:    Makes a very sensible DNA sequence
146  *             eval set. You shouldn't need your own
147  *
148  *
149  *
150  * Return [UNKN ]  Undocumented return value [ComplexSequenceEvalSet *]
151  *
152  */
153 ComplexSequenceEvalSet * Wise2_default_DNA_ComplexSequenceEvalSet(void);
154 #define default_DNA_ComplexSequenceEvalSet Wise2_default_DNA_ComplexSequenceEvalSet
155 
156 
157 /* Function:  default_cDNA_ComplexSequenceEvalSet(void)
158  *
159  * Descrip:    Makes a very sensible cDNA sequence
160  *             eval set. You shouldn't need your own
161  *
162  *
163  *
164  * Return [UNKN ]  Undocumented return value [ComplexSequenceEvalSet *]
165  *
166  */
167 ComplexSequenceEvalSet * Wise2_default_cDNA_ComplexSequenceEvalSet(void);
168 #define default_cDNA_ComplexSequenceEvalSet Wise2_default_cDNA_ComplexSequenceEvalSet
169 
170 
171 /* Function:  codon_number_ComplexSequenceEval(void)
172  *
173  * Descrip:    ComplexSequenceEval that puts a codon
174  *             number in there (0-125 inc, 125 = impossible codon).
175  *
176  *
177  *
178  * Return [UNKN ]  Undocumented return value [ComplexSequenceEval *]
179  *
180  */
181 ComplexSequenceEval * Wise2_codon_number_ComplexSequenceEval(void);
182 #define codon_number_ComplexSequenceEval Wise2_codon_number_ComplexSequenceEval
183 
184 
185 /* Function:  codon64_number_ComplexSequenceEval(void)
186  *
187  * Descrip:    Function which puts a 64 base codon...
188  *
189  *
190  *
191  * Return [UNKN ]  Undocumented return value [ComplexSequenceEval *]
192  *
193  */
194 ComplexSequenceEval * Wise2_codon64_number_ComplexSequenceEval(void);
195 #define codon64_number_ComplexSequenceEval Wise2_codon64_number_ComplexSequenceEval
196 
197 
198 /* Function:  base_number_ComplexSequenceEval(void)
199  *
200  * Descrip:    ComplexSequenceEval that puts a base
201  *             number (0-5 inc)
202  *
203  *
204  *
205  * Return [UNKN ]  Undocumented return value [ComplexSequenceEval *]
206  *
207  */
208 ComplexSequenceEval * Wise2_base_number_ComplexSequenceEval(void);
209 #define base_number_ComplexSequenceEval Wise2_base_number_ComplexSequenceEval
210 
211 
212 /* Function:  default_aminoacid_ComplexSequenceEvalSet(void)
213  *
214  * Descrip:    Makes a very sensible protein sequence
215  *             eval set. You shouldn't need your own
216  *
217  *
218  *
219  * Return [UNKN ]  Undocumented return value [ComplexSequenceEvalSet *]
220  *
221  */
222 ComplexSequenceEvalSet * Wise2_default_aminoacid_ComplexSequenceEvalSet(void);
223 #define default_aminoacid_ComplexSequenceEvalSet Wise2_default_aminoacid_ComplexSequenceEvalSet
224 
225 
226 /* Function:  aminoacid_number_ComplexSequenceEval(void)
227  *
228  * Descrip:    ComplexSequenceEval that puts a amino acid
229  *             number in there (0-26)
230  *
231  *
232  *
233  * Return [UNKN ]  Undocumented return value [ComplexSequenceEval *]
234  *
235  */
236 ComplexSequenceEval * Wise2_aminoacid_number_ComplexSequenceEval(void);
237 #define aminoacid_number_ComplexSequenceEval Wise2_aminoacid_number_ComplexSequenceEval
238 
239 
240 /* Function:  default_dna_ComplexSequenceEvalSet(void)
241  *
242  * Descrip:    Makes a very sensible dna sequence
243  *             eval set. You shouldn't need your own
244  *
245  *
246  *
247  * Return [UNKN ]  Undocumented return value [ComplexSequenceEvalSet *]
248  *
249  */
250 ComplexSequenceEvalSet * Wise2_default_dna_ComplexSequenceEvalSet(void);
251 #define default_dna_ComplexSequenceEvalSet Wise2_default_dna_ComplexSequenceEvalSet
252 
253 
254   /* Unplaced functions */
255   /* There has been no indication of the use of these functions */
256 
257 
258     /***************************************************/
259     /* Internal functions                              */
260     /* you are not expected to have to call these      */
261     /***************************************************/
262 int Wise2_flat_negi_eval(int type,void *data,char * seq);
263 #define flat_negi_eval Wise2_flat_negi_eval
264 int Wise2_flat_zero_eval(int type,void *data,char * seq);
265 #define flat_zero_eval Wise2_flat_zero_eval
266 int Wise2_stupid_5SS_eval(int type,void *data,char * seq);
267 #define stupid_5SS_eval Wise2_stupid_5SS_eval
268 int Wise2_stupid_3SS_eval(int type,void *data,char * seq);
269 #define stupid_3SS_eval Wise2_stupid_3SS_eval
270 int Wise2_codon_number_func(int type,void * data,char * seq);
271 #define codon_number_func Wise2_codon_number_func
272 int Wise2_codon64_number_func(int type,void * data,char * seq);
273 #define codon64_number_func Wise2_codon64_number_func
274 int Wise2_base_number_func(int type,void * data,char * seq);
275 #define base_number_func Wise2_base_number_func
276 int Wise2_aminoacid_number_func(int type,void * data,char * seq);
277 #define aminoacid_number_func Wise2_aminoacid_number_func
278 
279 #ifdef _cplusplus
280 }
281 #endif
282 
283 #endif
284