1 /* $Id: resulthr.h 218147 2019-01-16 21:28:41Z twu $ */
2 #ifndef RESULTHR_INCLUDED
3 #define RESULTHR_INCLUDED
4 
5 typedef struct Result_T *Result_T;
6 
7 #include "bool.h"
8 #include "samflags.h" 		/* for SAM_split_output_type */
9 
10 /* PAIRED_UNSPECIFIED assigned only by Stage1hr_paired_read */
11 typedef enum {CONCORDANT, PAIRED_UNSPECIFIED, PAIRED_INVERSION, PAIRED_SCRAMBLE, PAIRED_TOOLONG,
12 	      CONCORDANT_TRANSLOCATIONS, UNPAIRED, UNSPECIFIED} Pairtype_T;
13 
14 typedef enum {SINGLEEND_NOMAPPING, PAIREDEND_NOMAPPING,
15 	      SINGLEEND_UNIQ, SINGLEEND_TRANSLOC, SINGLEEND_MULT,
16 	      PAIRED_UNIQ, PAIRED_MULT,
17 	      CONCORDANT_UNIQ, CONCORDANT_TRANSLOC, CONCORDANT_MULT,
18 	      HALFMAPPING_UNIQ, HALFMAPPING_TRANSLOC, HALFMAPPING_MULT,
19 	      UNPAIRED_UNIQ, UNPAIRED_TRANSLOC, UNPAIRED_MULT} Resulttype_T;
20 
21 
22 #define T Result_T
23 
24 extern char *
25 Pairtype_string (Pairtype_T pairtype);
26 extern Resulttype_T
27 Result_resulttype (T this);
28 extern char *
29 Resulttype_string (Resulttype_T resulttype);
30 extern int
31 Result_id (T this);
32 extern int
33 Result_worker_id (T this);
34 extern void **
35 Result_array (int *npaths_primary, int *npaths_altloc, int *first_absmq, int *second_absmq, T this);
36 extern void **
37 Result_array2 (int *npaths_primary, int *npaths_altloc, int *first_absmq, int *second_absmq, T this);
38 extern T
39 Result_single_read_new (int id, void **resultarray, int npaths_primary, int npaths_altloc,
40 			int first_absmq, int second_absmq);
41 extern T
42 Result_paired_read_new (int id, void **resultarray, int npaths_primary, int npaths_altloc,
43 			int first_absmq, int second_absmq,
44 			Pairtype_T final_pairtype);
45 extern T
46 Result_paired_as_singles_new (int id, void **hits5, int npaths5_primary, int npaths5_altloc,
47 			      int first_absmq5, int second_absmq5,
48 			      void **hits3, int npaths3_primary, int npaths3_altloc,
49 			      int first_absmq3, int second_absmq3);
50 extern void
51 Result_free (T *old);
52 
53 #undef T
54 #endif
55 
56