1 /* This file is part of Conauto. 2 3 Conauto is free software: you can redistribute it and/or modify 4 it under the terms of the GNU General Public License as published by 5 the Free Software Foundation, either version 3 of the License, or 6 (at your option) any later version. 7 8 Conauto is distributed in the hope that it will be useful, 9 but WITHOUT ANY WARRANTY; without even the implied warranty of 10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 GNU General Public License for more details. 12 13 You should have received a copy of the GNU General Public License 14 along with Conauto. If not, see <http://www.gnu.org/licenses/>. 15 */ 16 17 /* mismatch structure and functions for manage them */ 18 19 #ifndef _MISMATCH_H_ 20 #define _MISMATCH_H_ 21 22 #include <stdlib.h> 23 #include <inttypes.h> 24 25 uint16_t mismatch_found_hash; 26 27 typedef struct { 28 uint16_t *mismatch_hash; 29 uint16_t *counters; 30 uint16_t nom; /* number of mismatches */ 31 } MismatchCollection; 32 33 #include "seqpart.h" 34 #include "orbits.h" 35 36 void mark_new_mismatch ( Partition *p, uint8_t *mm_marked, Info_Vertex *info_vert, uint16_t mmv ); 37 38 void mark_old_mismatch ( Partition *p, uint8_t *mm_marked, Info_Vertex *info_vert, uint16_t mmv ); 39 40 uint16_t get_most_repeated_mismatch_vertex ( MismatchCollection *mmc ); 41 42 void compute_mismatches ( MismatchCollection *mmc ); 43 44 uint8_t mismatch_in_collection ( MismatchCollection *mmc, uint16_t *counters, uint16_t orbit_size ); 45 46 #endif 47 48