1 #ifndef DYNAMITEcodonmatrixHEADERFILE 2 #define DYNAMITEcodonmatrixHEADERFILE 3 #ifdef _cplusplus 4 extern "C" { 5 #endif 6 #include "dyna.h" 7 8 9 struct Wise2_CodonMatrix { 10 int dynamite_hard_link; 11 #ifdef PTHREAD 12 pthread_mutex_t dynamite_mutex; 13 #endif 14 Probability prob[125][125]; 15 } ; 16 /* CodonMatrix defined */ 17 #ifndef DYNAMITE_DEFINED_CodonMatrix 18 typedef struct Wise2_CodonMatrix Wise2_CodonMatrix; 19 #define CodonMatrix Wise2_CodonMatrix 20 #define DYNAMITE_DEFINED_CodonMatrix 21 #endif 22 23 24 struct Wise2_CodonMatrixScore { 25 int dynamite_hard_link; 26 #ifdef PTHREAD 27 pthread_mutex_t dynamite_mutex; 28 #endif 29 Score score[125][125]; 30 } ; 31 /* CodonMatrixScore defined */ 32 #ifndef DYNAMITE_DEFINED_CodonMatrixScore 33 typedef struct Wise2_CodonMatrixScore Wise2_CodonMatrixScore; 34 #define CodonMatrixScore Wise2_CodonMatrixScore 35 #define DYNAMITE_DEFINED_CodonMatrixScore 36 #endif 37 38 39 40 41 /***************************************************/ 42 /* Callable functions */ 43 /* These are the functions you are expected to use */ 44 /***************************************************/ 45 46 47 48 /* Function: naive_CodonMatrixScore_from_prob(ct,cm) 49 * 50 * Descrip: Combines CodonMatrixScore_from_CodonMatrix and naive_CodonMatrix 51 * 52 * 53 * Arg: ct [UNKN ] Undocumented argument [CodonTable *] 54 * Arg: cm [UNKN ] Undocumented argument [CompProb *] 55 * 56 * Return [UNKN ] Undocumented return value [CodonMatrixScore *] 57 * 58 */ 59 CodonMatrixScore * Wise2_naive_CodonMatrixScore_from_prob(CodonTable * ct,CompProb * cm); 60 #define naive_CodonMatrixScore_from_prob Wise2_naive_CodonMatrixScore_from_prob 61 62 63 /* Function: CodonMatrixScore_from_CodonMatrix(cm) 64 * 65 * Descrip: Makes a CodonMatrixScore from a CodonMatrix 66 * 67 * 68 * Arg: cm [UNKN ] Undocumented argument [CodonMatrix *] 69 * 70 * Return [UNKN ] Undocumented return value [CodonMatrixScore *] 71 * 72 */ 73 CodonMatrixScore * Wise2_CodonMatrixScore_from_CodonMatrix(CodonMatrix * cm); 74 #define CodonMatrixScore_from_CodonMatrix Wise2_CodonMatrixScore_from_CodonMatrix 75 76 77 /* Function: naive_CodonMatrix(ct,comp) 78 * 79 * Descrip: Builds a probability matrix 80 * No codon bias 81 * No errors 82 * N codons score 1.0, stop codons probability 0.00001 83 * 84 * 85 * Arg: ct [UNKN ] Undocumented argument [CodonTable *] 86 * Arg: comp [UNKN ] Undocumented argument [CompProb *] 87 * 88 * Return [UNKN ] Undocumented return value [CodonMatrix *] 89 * 90 */ 91 CodonMatrix * Wise2_naive_CodonMatrix(CodonTable * ct,CompProb * comp); 92 #define naive_CodonMatrix Wise2_naive_CodonMatrix 93 94 95 /* Function: naive_CodonMatrixScore(ct,comp) 96 * 97 * Descrip: Builds a codon matrix from CompMat which assummes: 98 * No codon Bias 99 * No errors 100 * N codons score 0, stop codons score ?? 101 * 102 * 103 * Arg: ct [UNKN ] CodonTable for codon->aa mapping [CodonTable *] 104 * Arg: comp [UNKN ] Comparison matrix for the score of the individual access [CompMat *] 105 * 106 * Return [UNKN ] Undocumented return value [CodonMatrixScore *] 107 * 108 */ 109 CodonMatrixScore * Wise2_naive_CodonMatrixScore(CodonTable * ct,CompMat * comp); 110 #define naive_CodonMatrixScore Wise2_naive_CodonMatrixScore 111 112 113 /* Function: show_CodonMatrixScore(cms,ct,ofp) 114 * 115 * Descrip: Shows a codonmatrix 116 * 117 * 118 * Arg: cms [UNKN ] Undocumented argument [CodonMatrixScore *] 119 * Arg: ct [UNKN ] Undocumented argument [CodonTable *] 120 * Arg: ofp [UNKN ] Undocumented argument [FILE *] 121 * 122 */ 123 void Wise2_show_CodonMatrixScore(CodonMatrixScore * cms,CodonTable * ct,FILE * ofp); 124 #define show_CodonMatrixScore Wise2_show_CodonMatrixScore 125 126 127 /* Function: hard_link_CodonMatrix(obj) 128 * 129 * Descrip: Bumps up the reference count of the object 130 * Meaning that multiple pointers can 'own' it 131 * 132 * 133 * Arg: obj [UNKN ] Object to be hard linked [CodonMatrix *] 134 * 135 * Return [UNKN ] Undocumented return value [CodonMatrix *] 136 * 137 */ 138 CodonMatrix * Wise2_hard_link_CodonMatrix(CodonMatrix * obj); 139 #define hard_link_CodonMatrix Wise2_hard_link_CodonMatrix 140 141 142 /* Function: CodonMatrix_alloc(void) 143 * 144 * Descrip: Allocates structure: assigns defaults if given 145 * 146 * 147 * 148 * Return [UNKN ] Undocumented return value [CodonMatrix *] 149 * 150 */ 151 CodonMatrix * Wise2_CodonMatrix_alloc(void); 152 #define CodonMatrix_alloc Wise2_CodonMatrix_alloc 153 154 155 /* Function: free_CodonMatrix(obj) 156 * 157 * Descrip: Free Function: removes the memory held by obj 158 * Will chain up to owned members and clear all lists 159 * 160 * 161 * Arg: obj [UNKN ] Object that is free'd [CodonMatrix *] 162 * 163 * Return [UNKN ] Undocumented return value [CodonMatrix *] 164 * 165 */ 166 CodonMatrix * Wise2_free_CodonMatrix(CodonMatrix * obj); 167 #define free_CodonMatrix Wise2_free_CodonMatrix 168 169 170 /* Function: hard_link_CodonMatrixScore(obj) 171 * 172 * Descrip: Bumps up the reference count of the object 173 * Meaning that multiple pointers can 'own' it 174 * 175 * 176 * Arg: obj [UNKN ] Object to be hard linked [CodonMatrixScore *] 177 * 178 * Return [UNKN ] Undocumented return value [CodonMatrixScore *] 179 * 180 */ 181 CodonMatrixScore * Wise2_hard_link_CodonMatrixScore(CodonMatrixScore * obj); 182 #define hard_link_CodonMatrixScore Wise2_hard_link_CodonMatrixScore 183 184 185 /* Function: CodonMatrixScore_alloc(void) 186 * 187 * Descrip: Allocates structure: assigns defaults if given 188 * 189 * 190 * 191 * Return [UNKN ] Undocumented return value [CodonMatrixScore *] 192 * 193 */ 194 CodonMatrixScore * Wise2_CodonMatrixScore_alloc(void); 195 #define CodonMatrixScore_alloc Wise2_CodonMatrixScore_alloc 196 197 198 /* Function: free_CodonMatrixScore(obj) 199 * 200 * Descrip: Free Function: removes the memory held by obj 201 * Will chain up to owned members and clear all lists 202 * 203 * 204 * Arg: obj [UNKN ] Object that is free'd [CodonMatrixScore *] 205 * 206 * Return [UNKN ] Undocumented return value [CodonMatrixScore *] 207 * 208 */ 209 CodonMatrixScore * Wise2_free_CodonMatrixScore(CodonMatrixScore * obj); 210 #define free_CodonMatrixScore Wise2_free_CodonMatrixScore 211 212 213 /* Unplaced functions */ 214 /* There has been no indication of the use of these functions */ 215 216 217 /***************************************************/ 218 /* Internal functions */ 219 /* you are not expected to have to call these */ 220 /***************************************************/ 221 222 #ifdef _cplusplus 223 } 224 #endif 225 226 #endif 227