1 #ifndef DYNAMITEcdparserHEADERFILE 2 #define DYNAMITEcdparserHEADERFILE 3 #ifdef _cplusplus 4 extern "C" { 5 #endif 6 #include "wisebase.h" 7 #include "probability.h" 8 9 10 enum cDNAParserTrans { 11 PCD_INSERT_2_BASE = 0, 12 PCD_INSERT_1_BASE, 13 PCD_DELETE_2_BASE, 14 PCD_DELETE_1_BASE, 15 PCD_PARSER_TRANS_LEN }; 16 17 /* Object cDNAParser 18 * 19 * Descrip: This object holds the (very few) extra 20 * transition information needed for the 21 * estwise algorithm. It is sort of like 22 * the 'gene model' part of sequencing 23 * error (but very very simple) 24 * 25 * 26 * 27 */ 28 struct Wise2_cDNAParser { 29 int dynamite_hard_link; 30 #ifdef PTHREAD 31 pthread_mutex_t dynamite_mutex; 32 #endif 33 Probability trans[PCD_PARSER_TRANS_LEN]; 34 } ; 35 /* cDNAParser defined */ 36 #ifndef DYNAMITE_DEFINED_cDNAParser 37 typedef struct Wise2_cDNAParser Wise2_cDNAParser; 38 #define cDNAParser Wise2_cDNAParser 39 #define DYNAMITE_DEFINED_cDNAParser 40 #endif 41 42 43 /* Object cDNAParserScore 44 * 45 * Descrip: This object is the score counter 46 * point to cDNAParser (which is 47 * in probabilities). 48 * 49 * 50 */ 51 struct Wise2_cDNAParserScore { 52 int dynamite_hard_link; 53 #ifdef PTHREAD 54 pthread_mutex_t dynamite_mutex; 55 #endif 56 Score trans[PCD_PARSER_TRANS_LEN]; 57 } ; 58 /* cDNAParserScore defined */ 59 #ifndef DYNAMITE_DEFINED_cDNAParserScore 60 typedef struct Wise2_cDNAParserScore Wise2_cDNAParserScore; 61 #define cDNAParserScore Wise2_cDNAParserScore 62 #define DYNAMITE_DEFINED_cDNAParserScore 63 #endif 64 65 66 67 68 /***************************************************/ 69 /* Callable functions */ 70 /* These are the functions you are expected to use */ 71 /***************************************************/ 72 73 74 75 /* Function: removed_probability_from_cds_cdna(cdp) 76 * 77 * Descrip: Makes a convienient sum over all the transition 78 * probabilities 79 * 80 * 81 * Arg: cdp [UNKN ] Undocumented argument [cDNAParser *] 82 * 83 * Return [UNKN ] Undocumented return value [Probability] 84 * 85 */ 86 Probability Wise2_removed_probability_from_cds_cdna(cDNAParser * cdp); 87 #define removed_probability_from_cds_cdna Wise2_removed_probability_from_cds_cdna 88 89 90 /* Function: cDNAParserScore_from_cDNAParser(cdp) 91 * 92 * Descrip: Makes a new Score object from its probability 93 * counterpart 94 * 95 * 96 * Arg: cdp [UNKN ] Undocumented argument [cDNAParser *] 97 * 98 * Return [UNKN ] Undocumented return value [cDNAParserScore *] 99 * 100 */ 101 cDNAParserScore * Wise2_cDNAParserScore_from_cDNAParser(cDNAParser * cdp); 102 #define cDNAParserScore_from_cDNAParser Wise2_cDNAParserScore_from_cDNAParser 103 104 105 /* Function: flat_cDNAParser(p) 106 * 107 * Descrip: Makes a flat (ie, indels of 1 or 2 == p) 108 * cDNA parser. This means that insertions 109 * and deletions of both 1 or 2 bases are 110 * all parameterised at the same probability 111 * 112 * 113 * 114 * Arg: p [READ ] probability of an indel [Probability] 115 * 116 * Return [UNKN ] Undocumented return value [cDNAParser *] 117 * 118 */ 119 cDNAParser * Wise2_flat_cDNAParser(Probability p); 120 #define flat_cDNAParser Wise2_flat_cDNAParser 121 122 123 /* Function: hard_link_cDNAParser(obj) 124 * 125 * Descrip: Bumps up the reference count of the object 126 * Meaning that multiple pointers can 'own' it 127 * 128 * 129 * Arg: obj [UNKN ] Object to be hard linked [cDNAParser *] 130 * 131 * Return [UNKN ] Undocumented return value [cDNAParser *] 132 * 133 */ 134 cDNAParser * Wise2_hard_link_cDNAParser(cDNAParser * obj); 135 #define hard_link_cDNAParser Wise2_hard_link_cDNAParser 136 137 138 /* Function: cDNAParser_alloc(void) 139 * 140 * Descrip: Allocates structure: assigns defaults if given 141 * 142 * 143 * 144 * Return [UNKN ] Undocumented return value [cDNAParser *] 145 * 146 */ 147 cDNAParser * Wise2_cDNAParser_alloc(void); 148 #define cDNAParser_alloc Wise2_cDNAParser_alloc 149 150 151 /* Function: free_cDNAParser(obj) 152 * 153 * Descrip: Free Function: removes the memory held by obj 154 * Will chain up to owned members and clear all lists 155 * 156 * 157 * Arg: obj [UNKN ] Object that is free'd [cDNAParser *] 158 * 159 * Return [UNKN ] Undocumented return value [cDNAParser *] 160 * 161 */ 162 cDNAParser * Wise2_free_cDNAParser(cDNAParser * obj); 163 #define free_cDNAParser Wise2_free_cDNAParser 164 165 166 /* Function: hard_link_cDNAParserScore(obj) 167 * 168 * Descrip: Bumps up the reference count of the object 169 * Meaning that multiple pointers can 'own' it 170 * 171 * 172 * Arg: obj [UNKN ] Object to be hard linked [cDNAParserScore *] 173 * 174 * Return [UNKN ] Undocumented return value [cDNAParserScore *] 175 * 176 */ 177 cDNAParserScore * Wise2_hard_link_cDNAParserScore(cDNAParserScore * obj); 178 #define hard_link_cDNAParserScore Wise2_hard_link_cDNAParserScore 179 180 181 /* Function: cDNAParserScore_alloc(void) 182 * 183 * Descrip: Allocates structure: assigns defaults if given 184 * 185 * 186 * 187 * Return [UNKN ] Undocumented return value [cDNAParserScore *] 188 * 189 */ 190 cDNAParserScore * Wise2_cDNAParserScore_alloc(void); 191 #define cDNAParserScore_alloc Wise2_cDNAParserScore_alloc 192 193 194 /* Function: free_cDNAParserScore(obj) 195 * 196 * Descrip: Free Function: removes the memory held by obj 197 * Will chain up to owned members and clear all lists 198 * 199 * 200 * Arg: obj [UNKN ] Object that is free'd [cDNAParserScore *] 201 * 202 * Return [UNKN ] Undocumented return value [cDNAParserScore *] 203 * 204 */ 205 cDNAParserScore * Wise2_free_cDNAParserScore(cDNAParserScore * obj); 206 #define free_cDNAParserScore Wise2_free_cDNAParserScore 207 208 209 /* Unplaced functions */ 210 /* There has been no indication of the use of these functions */ 211 212 213 /***************************************************/ 214 /* Internal functions */ 215 /* you are not expected to have to call these */ 216 /***************************************************/ 217 218 #ifdef _cplusplus 219 } 220 #endif 221 222 #endif 223