1 /* @include embpatlist ******************************************************** 2 ** 3 ** Functions for patternlist handling. 4 ** 5 ** @author Copyright (C) 2004 Henrikki Almusa, Medicel Oy,Finland 6 ** @version $Revision: 1.6 $ 7 ** @modified $Date: 2011/10/18 14:24:25 $ by $Author: rice $ 8 ** @@ 9 ** 10 ** This library is free software; you can redistribute it and/or 11 ** modify it under the terms of the GNU Lesser General Public 12 ** License as published by the Free Software Foundation; either 13 ** version 2.1 of the License, or (at your option) any later version. 14 ** 15 ** This library is distributed in the hope that it will be useful, 16 ** but WITHOUT ANY WARRANTY; without even the implied warranty of 17 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 ** Lesser General Public License for more details. 19 ** 20 ** You should have received a copy of the GNU Lesser General Public 21 ** License along with this library; if not, write to the Free Software 22 ** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 23 ** MA 02110-1301, USA. 24 ** 25 ******************************************************************************/ 26 27 #ifndef EMBPATLIST_H 28 #define EMBPATLIST_H 29 30 /* ========================================================================= */ 31 /* ============================= include files ============================= */ 32 /* ========================================================================= */ 33 34 #include "ajdefine.h" 35 #include "ajpat.h" 36 #include "ajseqdata.h" 37 #include "ajfeat.h" 38 39 AJ_BEGIN_DECLS 40 41 42 43 44 /* ========================================================================= */ 45 /* =============================== constants =============================== */ 46 /* ========================================================================= */ 47 48 49 50 51 /* ========================================================================= */ 52 /* ============================== public data ============================== */ 53 /* ========================================================================= */ 54 55 56 57 58 /* ========================================================================= */ 59 /* =========================== public functions ============================ */ 60 /* ========================================================================= */ 61 62 63 64 /* 65 ** Prototype definitions 66 */ 67 68 void embPatlistSeqSearch(AjPFeattable ftable, const AjPSeq seq, 69 AjPPatlistSeq plist, AjBool reverse); 70 void embPatlistSeqSearchAll(AjPFeattable ftable, const AjPSeq seq, 71 AjPPatlistSeq plist, AjBool reverse); 72 void embPatlistRegexSearch(AjPFeattable ftable, const AjPSeq seq, 73 AjPPatlistRegex plist, AjBool reverse); 74 void embPatlistRegexSearchAll(AjPFeattable ftable, const AjPSeq seq, 75 AjPPatlistRegex plist, AjBool reverse); 76 void embPatternRegexSearch(AjPFeattable ftable, const AjPSeq seq, 77 const AjPPatternRegex pat, AjBool reverse); 78 void embPatternRegexSearchAll(AjPFeattable ftable, const AjPSeq seq, 79 const AjPPatternRegex pat, AjBool reverse); 80 void embPatternSeqSearch(AjPFeattable ftable, const AjPSeq seq, 81 const AjPPatternSeq pat, AjBool reverse); 82 void embPatternSeqSearchAll(AjPFeattable ftable, const AjPSeq seq, 83 const AjPPatternSeq pat, AjBool reverse); 84 AjBool embPatternSeqCompile(AjPPatternSeq pat); 85 86 void embPatlistExit(void); 87 88 /* 89 ** End of prototype definitions 90 */ 91 92 AJ_END_DECLS 93 94 #endif /* !EMBPATLIST_H */ 95 96