1 /* 2 Copyright (c) 2003 by Stefan Kurtz and The Institute for 3 Genomic Research. This is OSI Certified Open Source Software. 4 Please see the file LICENSE for licensing information and 5 the file ACKNOWLEDGEMENTS for names of contributors to the 6 code base. 7 */ 8 9 //\IgnoreLatex{ 10 11 #ifndef MAXMATDEF_H 12 #define MAXMATDEF_H 13 #include <limits.h> 14 #include "chardef.h" 15 #include "multidef.h" 16 17 //} 18 19 /* 20 This file defines some constants and types for computing maximal 21 matches using suffix trees. 22 */ 23 24 /* 25 The following two characters replace wildcard 26 characters in a DNA sequences whenever the option \texttt{-n} 27 (for match only nucleotides) is used. One is for the 28 subject string and the other for the query string 29 */ 30 31 #define MMREPLACEMENTCHARSUBJECT (WILDCARD-2) 32 #define MMREPLACEMENTCHARQUERY (WILDCARD-3) 33 34 /* 35 The maximal number of query files. 36 */ 37 38 #define MAXNUMOFQUERYFILES 32 39 40 /* 41 The following type contains all information 42 derived from parsing the arguments of the program 43 */ 44 45 typedef struct 46 { 47 BOOL showstring, // show the matching string 48 reversecomplement, // compute matches on reverse strand 49 forward, // compute matches on forward strand 50 fourcolumn, // always use 4 column format 51 showreversepositions, // give reverse pos. rel. to orig. string 52 showsequencelengths, // show length of sequences on header line 53 matchnucleotidesonly, // match ONLY acgt's 54 cmaxmatch, // compute all maximal matches 55 cmumcand, // compute reference-unique maximal matches 56 cmum; // compute real matches unique in both sequences 57 Uint minmatchlength, // minimal length of a match to be reported 58 numofqueryfiles; // number of query files 59 char program[PATH_MAX+1], // the path of the program 60 subjectfile[PATH_MAX+1], // filename of the subject-sequence 61 queryfilelist[MAXNUMOFQUERYFILES][PATH_MAX+1]; 62 // filenames of the query-sequences 63 } MMcallinfo; // \Typedef{MMcallinfo} 64 65 /* 66 Functions processing a maximal match are of the following type. 67 */ 68 69 typedef Sint (*Processmatchfunction) 70 (void *,Uint,Uint,Uint,Uint); // \Typedef{Processmatchfunction} 71 72 //\IgnoreLatex{ 73 74 #endif 75 76 //} 77