1 #ifndef DYNAMITEgenestretch6HEADERFILE
2 #define DYNAMITEgenestretch6HEADERFILE
3 #ifdef _cplusplus
4 extern "C" {
5 #endif
6 #include "dyna.h"
7 #include "geneparser4.h"
8 #include "genewisemodel.h"
9 #include "genewisemodeldb.h"
10 #include "genestats.h"
11 
12 struct Wise2_GeneStretch6 {
13     int dynamite_hard_link;
14 #ifdef PTHREAD
15     pthread_mutex_t dynamite_mutex;
16 #endif
17     BaseMatrix * basematrix;
18     ShatterMatrix * shatter;
19     int leni;
20     int lenj;
21     GeneWiseScore* query;
22     ComplexSequence* target;
23     GeneParser4Score * gp;
24     GeneralGeneModelScore * general_model;
25     } ;
26 /* GeneStretch6 defined */
27 #ifndef DYNAMITE_DEFINED_GeneStretch6
28 typedef struct Wise2_GeneStretch6 Wise2_GeneStretch6;
29 #define GeneStretch6 Wise2_GeneStretch6
30 #define DYNAMITE_DEFINED_GeneStretch6
31 #endif
32 
33 
34 #ifdef PTHREAD
35 struct thread_pool_holder_GeneStretch6 {
36     GeneWiseScore* query;   /* Query object placeholder */
37     GeneWiseDB* querydb;/* Query database object */
38     boolean query_init;
39     ComplexSequence* target;/* Target object placeholder */
40     GenomicDB* targetdb;/* Target database object */
41     boolean target_init;
42     GeneParser4Score * gp;
43     GeneralGeneModelScore * general_model;
44     pthread_mutex_t input_lock;
45     pthread_mutex_t output_lock;
46     Hscore * out;
47     pthread_t * pool;
48     int number_of_threads;
49     boolean search_has_ended;
50     DBSearchImpl * dbsi;
51     } ;
52 #endif /* PTHREAD */
53 struct Wise2_GeneStretch6_access_func_holder {
54     int dynamite_hard_link;
55 #ifdef PTHREAD
56     pthread_mutex_t dynamite_mutex;
57 #endif
58     int (*access_main)(GeneStretch6*,int,int,int);
59     int (*access_special)(GeneStretch6*,int,int,int);
60     } ;
61 /* GeneStretch6_access_func_holder defined */
62 #ifndef DYNAMITE_DEFINED_GeneStretch6_access_func_holder
63 typedef struct Wise2_GeneStretch6_access_func_holder Wise2_GeneStretch6_access_func_holder;
64 #define GeneStretch6_access_func_holder Wise2_GeneStretch6_access_func_holder
65 #define DYNAMITE_DEFINED_GeneStretch6_access_func_holder
66 #endif
67 
68 
69 
70 
71     /***************************************************/
72     /* Callable functions                              */
73     /* These are the functions you are expected to use */
74     /***************************************************/
75 
76 
77 
78 /* Function:  PackAln_read_Shatter_GeneStretch6(mat)
79  *
80  * Descrip:    Reads off PackAln from shatter matrix structure
81  *
82  *
83  * Arg:        mat [UNKN ] Undocumented argument [GeneStretch6 *]
84  *
85  * Return [UNKN ]  Undocumented return value [PackAln *]
86  *
87  */
88 PackAln * Wise2_PackAln_read_Shatter_GeneStretch6(GeneStretch6 * mat);
89 #define PackAln_read_Shatter_GeneStretch6 Wise2_PackAln_read_Shatter_GeneStretch6
90 
91 
92 /* Function:  calculate_shatter_GeneStretch6(mat,dpenv)
93  *
94  * Descrip:    This function calculates the GeneStretch6 matrix when in shatter mode
95  *
96  *
97  * Arg:          mat [UNKN ] (null) [GeneStretch6 *]
98  * Arg:        dpenv [UNKN ] Undocumented argument [DPEnvelope *]
99  *
100  * Return [UNKN ]  Undocumented return value [boolean]
101  *
102  */
103 boolean Wise2_calculate_shatter_GeneStretch6(GeneStretch6 * mat,DPEnvelope * dpenv);
104 #define calculate_shatter_GeneStretch6 Wise2_calculate_shatter_GeneStretch6
105 
106 
107 /* Function:  search_GeneStretch6(dbsi,out,querydb,targetdb,gp,general_model)
108  *
109  * Descrip:    This function makes a database search of GeneStretch6
110  *             It uses the dbsi structure to choose which implementation
111  *             to use of the database searching. This way at run time you
112  *             can switch between single threaded/multi-threaded or hardware
113  *
114  *
115  * Arg:                 dbsi [UNKN ] Undocumented argument [DBSearchImpl *]
116  * Arg:                  out [UNKN ] Undocumented argument [Hscore *]
117  * Arg:              querydb [UNKN ] Undocumented argument [GeneWiseDB*]
118  * Arg:             targetdb [UNKN ] Undocumented argument [GenomicDB*]
119  * Arg:                   gp [UNKN ] Undocumented argument [GeneParser4Score *]
120  * Arg:        general_model [UNKN ] Undocumented argument [GeneralGeneModelScore *]
121  *
122  * Return [UNKN ]  Undocumented return value [Search_Return_Type]
123  *
124  */
125 Search_Return_Type Wise2_search_GeneStretch6(DBSearchImpl * dbsi,Hscore * out,GeneWiseDB* querydb,GenomicDB* targetdb ,GeneParser4Score * gp,GeneralGeneModelScore * general_model);
126 #define search_GeneStretch6 Wise2_search_GeneStretch6
127 
128 
129 /* Function:  serial_search_GeneStretch6(out,querydb,targetdb,gp,general_model)
130  *
131  * Descrip:    This function makes a database search of GeneStretch6
132  *             It is a single processor implementation
133  *
134  *
135  * Arg:                  out [UNKN ] Undocumented argument [Hscore *]
136  * Arg:              querydb [UNKN ] Undocumented argument [GeneWiseDB*]
137  * Arg:             targetdb [UNKN ] Undocumented argument [GenomicDB*]
138  * Arg:                   gp [UNKN ] Undocumented argument [GeneParser4Score *]
139  * Arg:        general_model [UNKN ] Undocumented argument [GeneralGeneModelScore *]
140  *
141  * Return [UNKN ]  Undocumented return value [Search_Return_Type]
142  *
143  */
144 Search_Return_Type Wise2_serial_search_GeneStretch6(Hscore * out,GeneWiseDB* querydb,GenomicDB* targetdb ,GeneParser4Score * gp,GeneralGeneModelScore * general_model);
145 #define serial_search_GeneStretch6 Wise2_serial_search_GeneStretch6
146 
147 
148 /* Function:  PackAln_bestmemory_GeneStretch6(query,target,gp,general_model,dpenv,dpri)
149  *
150  * Descrip:    This function chooses the best memory set-up for the alignment
151  *             using calls to basematrix, and then implements either a large
152  *             or small memory model.
153  *
154  *             It is the best function to use if you just want an alignment
155  *
156  *             If you want a label alignment, you will need
157  *             /convert_PackAln_to_AlnBlock_GeneStretch6
158  *
159  *
160  * Arg:                query [UNKN ] query data structure [GeneWiseScore*]
161  * Arg:               target [UNKN ] target data structure [ComplexSequence*]
162  * Arg:                   gp [UNKN ] Resource [GeneParser4Score *]
163  * Arg:        general_model [UNKN ] Resource [GeneralGeneModelScore *]
164  * Arg:                dpenv [UNKN ] Undocumented argument [DPEnvelope *]
165  * Arg:                 dpri [UNKN ] Undocumented argument [DPRunImpl *]
166  *
167  * Return [UNKN ]  Undocumented return value [PackAln *]
168  *
169  */
170 PackAln * Wise2_PackAln_bestmemory_GeneStretch6(GeneWiseScore* query,ComplexSequence* target ,GeneParser4Score * gp,GeneralGeneModelScore * general_model,DPEnvelope * dpenv,DPRunImpl * dpri);
171 #define PackAln_bestmemory_GeneStretch6 Wise2_PackAln_bestmemory_GeneStretch6
172 
173 
174 /* Function:  allocate_Expl_GeneStretch6(query,target,gp,general_model,dpri)
175  *
176  * Descrip:    This function allocates the GeneStretch6 structure
177  *             and the basematrix area for explicit memory implementations
178  *             It calls /allocate_GeneStretch6_only
179  *
180  *
181  * Arg:                query [UNKN ] query data structure [GeneWiseScore*]
182  * Arg:               target [UNKN ] target data structure [ComplexSequence*]
183  * Arg:                   gp [UNKN ] Resource [GeneParser4Score *]
184  * Arg:        general_model [UNKN ] Resource [GeneralGeneModelScore *]
185  * Arg:                 dpri [UNKN ] Undocumented argument [DPRunImpl *]
186  *
187  * Return [UNKN ]  Undocumented return value [GeneStretch6 *]
188  *
189  */
190 GeneStretch6 * Wise2_allocate_Expl_GeneStretch6(GeneWiseScore* query,ComplexSequence* target ,GeneParser4Score * gp,GeneralGeneModelScore * general_model,DPRunImpl * dpri);
191 #define allocate_Expl_GeneStretch6 Wise2_allocate_Expl_GeneStretch6
192 
193 
194 /* Function:  recalculate_PackAln_GeneStretch6(pal,mat)
195  *
196  * Descrip:    This function recalculates the PackAln structure produced by GeneStretch6
197  *             For example, in linear space methods this is used to score them
198  *
199  *
200  * Arg:        pal [UNKN ] Undocumented argument [PackAln *]
201  * Arg:        mat [UNKN ] Undocumented argument [GeneStretch6 *]
202  *
203  */
204 void Wise2_recalculate_PackAln_GeneStretch6(PackAln * pal,GeneStretch6 * mat);
205 #define recalculate_PackAln_GeneStretch6 Wise2_recalculate_PackAln_GeneStretch6
206 
207 
208 /* Function:  allocate_Small_GeneStretch6(query,target,gp,general_model)
209  *
210  * Descrip:    This function allocates the GeneStretch6 structure
211  *             and the basematrix area for a small memory implementations
212  *             It calls /allocate_GeneStretch6_only
213  *
214  *
215  * Arg:                query [UNKN ] query data structure [GeneWiseScore*]
216  * Arg:               target [UNKN ] target data structure [ComplexSequence*]
217  * Arg:                   gp [UNKN ] Resource [GeneParser4Score *]
218  * Arg:        general_model [UNKN ] Resource [GeneralGeneModelScore *]
219  *
220  * Return [UNKN ]  Undocumented return value [GeneStretch6 *]
221  *
222  */
223 GeneStretch6 * Wise2_allocate_Small_GeneStretch6(GeneWiseScore* query,ComplexSequence* target ,GeneParser4Score * gp,GeneralGeneModelScore * general_model);
224 #define allocate_Small_GeneStretch6 Wise2_allocate_Small_GeneStretch6
225 
226 
227 /* Function:  PackAln_calculate_Small_GeneStretch6(mat,dpenv)
228  *
229  * Descrip:    This function calculates an alignment for GeneStretch6 structure in linear space
230  *             If you want only the start/end points
231  *             use /AlnRangeSet_calculate_Small_GeneStretch6
232  *
233  *             The function basically
234  *               finds start/end points
235  *               foreach start/end point
236  *                 calls /full_dc_GeneStretch6
237  *
238  *
239  * Arg:          mat [UNKN ] Undocumented argument [GeneStretch6 *]
240  * Arg:        dpenv [UNKN ] Undocumented argument [DPEnvelope *]
241  *
242  * Return [UNKN ]  Undocumented return value [PackAln *]
243  *
244  */
245 PackAln * Wise2_PackAln_calculate_Small_GeneStretch6(GeneStretch6 * mat,DPEnvelope * dpenv);
246 #define PackAln_calculate_Small_GeneStretch6 Wise2_PackAln_calculate_Small_GeneStretch6
247 
248 
249 /* Function:  AlnRangeSet_calculate_Small_GeneStretch6(mat)
250  *
251  * Descrip:    This function calculates an alignment for GeneStretch6 structure in linear space
252  *             If you want the full alignment, use /PackAln_calculate_Small_GeneStretch6
253  *             If you have already got the full alignment, but want the range set, use /AlnRangeSet_from_PackAln_GeneStretch6
254  *             If you have got the small matrix but not the alignment, use /AlnRangeSet_from_GeneStretch6
255  *
256  *
257  * Arg:        mat [UNKN ] Undocumented argument [GeneStretch6 *]
258  *
259  * Return [UNKN ]  Undocumented return value [AlnRangeSet *]
260  *
261  */
262 AlnRangeSet * Wise2_AlnRangeSet_calculate_Small_GeneStretch6(GeneStretch6 * mat);
263 #define AlnRangeSet_calculate_Small_GeneStretch6 Wise2_AlnRangeSet_calculate_Small_GeneStretch6
264 
265 
266 /* Function:  AlnRangeSet_from_GeneStretch6(mat)
267  *
268  * Descrip:    This function reads off a start/end structure
269  *             for GeneStretch6 structure in linear space
270  *             If you want the full alignment use
271  *             /PackAln_calculate_Small_GeneStretch6
272  *             If you have not calculated the matrix use
273  *             /AlnRange_calculate_Small_GeneStretch6
274  *
275  *
276  * Arg:        mat [UNKN ] Undocumented argument [GeneStretch6 *]
277  *
278  * Return [UNKN ]  Undocumented return value [AlnRangeSet *]
279  *
280  */
281 AlnRangeSet * Wise2_AlnRangeSet_from_GeneStretch6(GeneStretch6 * mat);
282 #define AlnRangeSet_from_GeneStretch6 Wise2_AlnRangeSet_from_GeneStretch6
283 
284 
285 /* Function:  convert_PackAln_to_AlnBlock_GeneStretch6(pal)
286  *
287  * Descrip:    Converts a path alignment to a label alignment
288  *             The label alignment is probably much more useful than the path
289  *
290  *
291  * Arg:        pal [UNKN ] Undocumented argument [PackAln *]
292  *
293  * Return [UNKN ]  Undocumented return value [AlnBlock *]
294  *
295  */
296 AlnBlock * Wise2_convert_PackAln_to_AlnBlock_GeneStretch6(PackAln * pal);
297 #define convert_PackAln_to_AlnBlock_GeneStretch6 Wise2_convert_PackAln_to_AlnBlock_GeneStretch6
298 
299 
300 /* Function:  PackAln_read_Expl_GeneStretch6(mat)
301  *
302  * Descrip:    Reads off PackAln from explicit matrix structure
303  *
304  *
305  * Arg:        mat [UNKN ] Undocumented argument [GeneStretch6 *]
306  *
307  * Return [UNKN ]  Undocumented return value [PackAln *]
308  *
309  */
310 PackAln * Wise2_PackAln_read_Expl_GeneStretch6(GeneStretch6 * mat);
311 #define PackAln_read_Expl_GeneStretch6 Wise2_PackAln_read_Expl_GeneStretch6
312 
313 
314 /* Function:  PackAln_read_generic_GeneStretch6(mat,h)
315  *
316  * Descrip:    Reads off PackAln from explicit matrix structure
317  *
318  *
319  * Arg:        mat [UNKN ] Undocumented argument [GeneStretch6 *]
320  * Arg:          h [UNKN ] Undocumented argument [GeneStretch6_access_func_holder]
321  *
322  * Return [UNKN ]  Undocumented return value [PackAln *]
323  *
324  */
325 PackAln * Wise2_PackAln_read_generic_GeneStretch6(GeneStretch6 * mat,GeneStretch6_access_func_holder h);
326 #define PackAln_read_generic_GeneStretch6 Wise2_PackAln_read_generic_GeneStretch6
327 
328 
329 /* Function:  calculate_GeneStretch6(mat)
330  *
331  * Descrip:    This function calculates the GeneStretch6 matrix when in explicit mode
332  *             To allocate the matrix use /allocate_Expl_GeneStretch6
333  *
334  *
335  * Arg:        mat [UNKN ] GeneStretch6 which contains explicit basematrix memory [GeneStretch6 *]
336  *
337  * Return [UNKN ]  Undocumented return value [boolean]
338  *
339  */
340 boolean Wise2_calculate_GeneStretch6(GeneStretch6 * mat);
341 #define calculate_GeneStretch6 Wise2_calculate_GeneStretch6
342 
343 
344 /* Function:  calculate_dpenv_GeneStretch6(mat,dpenv)
345  *
346  * Descrip:    This function calculates the GeneStretch6 matrix when in explicit mode, subject to the envelope
347  *
348  *
349  * Arg:          mat [UNKN ] GeneStretch6 which contains explicit basematrix memory [GeneStretch6 *]
350  * Arg:        dpenv [UNKN ] Undocumented argument [DPEnvelope *]
351  *
352  * Return [UNKN ]  Undocumented return value [boolean]
353  *
354  */
355 boolean Wise2_calculate_dpenv_GeneStretch6(GeneStretch6 * mat,DPEnvelope * dpenv);
356 #define calculate_dpenv_GeneStretch6 Wise2_calculate_dpenv_GeneStretch6
357 
358 
359 /* Function:  GeneStretch6_alloc(void)
360  *
361  * Descrip:    Allocates structure: assigns defaults if given
362  *
363  *
364  *
365  * Return [UNKN ]  Undocumented return value [GeneStretch6 *]
366  *
367  */
368 GeneStretch6 * Wise2_GeneStretch6_alloc(void);
369 #define GeneStretch6_alloc Wise2_GeneStretch6_alloc
370 
371 
372 /* Function:  free_GeneStretch6(obj)
373  *
374  * Descrip:    Free Function: removes the memory held by obj
375  *             Will chain up to owned members and clear all lists
376  *
377  *
378  * Arg:        obj [UNKN ] Object that is free'd [GeneStretch6 *]
379  *
380  * Return [UNKN ]  Undocumented return value [GeneStretch6 *]
381  *
382  */
383 GeneStretch6 * Wise2_free_GeneStretch6(GeneStretch6 * obj);
384 #define free_GeneStretch6 Wise2_free_GeneStretch6
385 
386 
387   /* Unplaced functions */
388   /* There has been no indication of the use of these functions */
389 
390 
391     /***************************************************/
392     /* Internal functions                              */
393     /* you are not expected to have to call these      */
394     /***************************************************/
395 int Wise2_GeneStretch6_shatter_access_main(GeneStretch6 * mat,int i,int j,int state);
396 #define GeneStretch6_shatter_access_main Wise2_GeneStretch6_shatter_access_main
397 int Wise2_GeneStretch6_shatter_access_special(GeneStretch6 * mat,int i,int j,int state);
398 #define GeneStretch6_shatter_access_special Wise2_GeneStretch6_shatter_access_special
399 void * Wise2_thread_loop_GeneStretch6(void * ptr);
400 #define thread_loop_GeneStretch6 Wise2_thread_loop_GeneStretch6
401 int Wise2_score_only_GeneStretch6(GeneWiseScore* query,ComplexSequence* target ,GeneParser4Score * gp,GeneralGeneModelScore * general_model);
402 #define score_only_GeneStretch6 Wise2_score_only_GeneStretch6
403 GeneStretch6 * Wise2_allocate_GeneStretch6_only(GeneWiseScore* query,ComplexSequence* target ,GeneParser4Score * gp,GeneralGeneModelScore * general_model);
404 #define allocate_GeneStretch6_only Wise2_allocate_GeneStretch6_only
405 void Wise2_init_GeneStretch6(GeneStretch6 * mat);
406 #define init_GeneStretch6 Wise2_init_GeneStretch6
407 AlnRange * Wise2_AlnRange_build_GeneStretch6(GeneStretch6 * mat,int stopj,int stopspecstate,int * startj,int * startspecstate);
408 #define AlnRange_build_GeneStretch6 Wise2_AlnRange_build_GeneStretch6
409 boolean Wise2_read_hidden_GeneStretch6(GeneStretch6 * mat,int starti,int startj,int startstate,int stopi,int stopj,int stopstate,PackAln * out);
410 #define read_hidden_GeneStretch6 Wise2_read_hidden_GeneStretch6
411 int Wise2_max_hidden_GeneStretch6(GeneStretch6 * mat,int hiddenj,int i,int j,int state,boolean isspecial,int * reti,int * retj,int * retstate,boolean * retspecial,int * cellscore);
412 #define max_hidden_GeneStretch6 Wise2_max_hidden_GeneStretch6
413 boolean Wise2_read_special_strip_GeneStretch6(GeneStretch6 * mat,int stopi,int stopj,int stopstate,int * startj,int * startstate,PackAln * out);
414 #define read_special_strip_GeneStretch6 Wise2_read_special_strip_GeneStretch6
415 int Wise2_max_special_strip_GeneStretch6(GeneStretch6 * mat,int i,int j,int state,boolean isspecial,int * reti,int * retj,int * retstate,boolean * retspecial,int * cellscore);
416 #define max_special_strip_GeneStretch6 Wise2_max_special_strip_GeneStretch6
417 int Wise2_max_matrix_to_special_GeneStretch6(GeneStretch6 * mat,int i,int j,int state,int cscore,int * reti,int * retj,int * retstate,boolean * retspecial,int * cellscore);
418 #define max_matrix_to_special_GeneStretch6 Wise2_max_matrix_to_special_GeneStretch6
419 void Wise2_calculate_hidden_GeneStretch6(GeneStretch6 * mat,int starti,int startj,int startstate,int stopi,int stopj,int stopstate,DPEnvelope * dpenv);
420 #define calculate_hidden_GeneStretch6 Wise2_calculate_hidden_GeneStretch6
421 void Wise2_init_hidden_GeneStretch6(GeneStretch6 * mat,int starti,int startj,int stopi,int stopj);
422 #define init_hidden_GeneStretch6 Wise2_init_hidden_GeneStretch6
423 boolean Wise2_full_dc_GeneStretch6(GeneStretch6 * mat,int starti,int startj,int startstate,int stopi,int stopj,int stopstate,PackAln * out,int * donej,int totalj,DPEnvelope * dpenv);
424 #define full_dc_GeneStretch6 Wise2_full_dc_GeneStretch6
425 boolean Wise2_do_dc_single_pass_GeneStretch6(GeneStretch6 * mat,int starti,int startj,int startstate,int stopi,int stopj,int stopstate,DPEnvelope * dpenv,int perc_done);
426 #define do_dc_single_pass_GeneStretch6 Wise2_do_dc_single_pass_GeneStretch6
427 void Wise2_push_dc_at_merge_GeneStretch6(GeneStretch6 * mat,int starti,int stopi,int startj,int * stopj,DPEnvelope * dpenv);
428 #define push_dc_at_merge_GeneStretch6 Wise2_push_dc_at_merge_GeneStretch6
429 void Wise2_follow_on_dc_GeneStretch6(GeneStretch6 * mat,int starti,int stopi,int startj,int stopj,DPEnvelope * dpenv,int perc_done);
430 #define follow_on_dc_GeneStretch6 Wise2_follow_on_dc_GeneStretch6
431 void Wise2_run_up_dc_GeneStretch6(GeneStretch6 * mat,int starti,int stopi,int startj,int stopj,DPEnvelope * dpenv,int perc_done);
432 #define run_up_dc_GeneStretch6 Wise2_run_up_dc_GeneStretch6
433 void Wise2_init_dc_GeneStretch6(GeneStretch6 * mat);
434 #define init_dc_GeneStretch6 Wise2_init_dc_GeneStretch6
435 int Wise2_start_end_find_end_GeneStretch6(GeneStretch6 * mat,int * endj);
436 #define start_end_find_end_GeneStretch6 Wise2_start_end_find_end_GeneStretch6
437 boolean Wise2_dc_optimised_start_end_calc_GeneStretch6(GeneStretch6 *mat,DPEnvelope * dpenv);
438 #define dc_optimised_start_end_calc_GeneStretch6 Wise2_dc_optimised_start_end_calc_GeneStretch6
439 void Wise2_init_start_end_linear_GeneStretch6(GeneStretch6 * mat);
440 #define init_start_end_linear_GeneStretch6 Wise2_init_start_end_linear_GeneStretch6
441 AlnConvertSet * Wise2_AlnConvertSet_GeneStretch6(void);
442 #define AlnConvertSet_GeneStretch6 Wise2_AlnConvertSet_GeneStretch6
443 int Wise2_GeneStretch6_explicit_access_main(GeneStretch6 * mat,int i,int j,int state);
444 #define GeneStretch6_explicit_access_main Wise2_GeneStretch6_explicit_access_main
445 int Wise2_GeneStretch6_explicit_access_special(GeneStretch6 * mat,int i,int j,int state);
446 #define GeneStretch6_explicit_access_special Wise2_GeneStretch6_explicit_access_special
447 int Wise2_find_end_GeneStretch6(GeneStretch6 * mat,int * ri,int * rj,int * state,boolean * isspecial,GeneStretch6_access_func_holder h);
448 #define find_end_GeneStretch6 Wise2_find_end_GeneStretch6
449 void Wise2_GeneStretch6_debug_show_matrix(GeneStretch6 * mat,int starti,int stopi,int startj,int stopj,FILE * ofp);
450 #define GeneStretch6_debug_show_matrix Wise2_GeneStretch6_debug_show_matrix
451 int Wise2_max_calc_GeneStretch6(GeneStretch6 * mat,int i,int j,int state,boolean isspecial,int * reti,int * retj,int * retstate,boolean * retspecial,int * cellscore,GeneStretch6_access_func_holder h);
452 #define max_calc_GeneStretch6 Wise2_max_calc_GeneStretch6
453 int Wise2_max_calc_special_GeneStretch6(GeneStretch6 * mat,int i,int j,int state,boolean isspecial,int * reti,int * retj,int * retstate,boolean * retspecial,int * cellscore,GeneStretch6_access_func_holder h);
454 #define max_calc_special_GeneStretch6 Wise2_max_calc_special_GeneStretch6
455 
456 #ifdef _cplusplus
457 }
458 #endif
459 
460 #endif
461