File: matchtask.h

package info (click to toggle)
vmatch 2.3.1%2Bdfsg-9
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 17,108 kB
  • sloc: ansic: 70,897; sh: 7,139; perl: 4,152; makefile: 1,181; xml: 642; awk: 563; ruby: 306; haskell: 288; sed: 60
file content (93 lines) | stat: -rw-r--r-- 2,971 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93

//\Ignore{

#ifndef MATCHTASK_H
#define MATCHTASK_H

#include "maxfiles.h"
#include "markinfo.h"
#include "mparms.h"
#include "markinfo.h"
#include "vplugin-interface.h"
#include "vmotif-data.h"
#include "cpridx-data.h"
#include "chaincall.h"
#include "mcldef.h"
#include "vmcldef.h"
#include "fqfinfo.h"
#include "outinfo.h"

#include "pathmax.h"

#ifdef VMATCHDB
#include "vmdbparms.h"
#endif

//}

/*
  This file contains some definitions for types used when analyzing the
  user given parameters specifying the matching task.
*/

#define TASKONLINE         UintConst(1)        // match is performed online
#define TASKCOMPLETEMATCH  (UintConst(1) << 1) // require complete matches
#define TASKMUM            (UintConst(1) << 2) // require maximal unique matches
#define TASKMUMCANDIDATE   (UintConst(1) << 3) // require mum candidates
#define TASKSUPER          (UintConst(1) << 4) // require maximal unique matches
#define TASKTANDEM         (UintConst(1) << 5) // require maximal unique matches
#define TASKPREINFO        (UintConst(1) << 6) // require to only compute number of exact matches

#define ISTASKONLINE\
        ((matchcallinfo->matchtask & TASKONLINE) ? True: False)

#define DOMATCHBUFFERING(MCINFO)\
        (BOOL) (((MCINFO)->chaincallinfo.defined ||\
                (MCINFO)->matchclustercallinfo.defined))

/*
  The following type aggregates information parsed from the
  argument vector, as provided when calling the vmatch-program.
*/

typedef struct
{
  Uint numberofqueryfiles,// number of query files
       matchtask;      // a combination of the bits TASKONLINE .. TASKPREFINFO
  BOOL ownpostprocessing;             // vmatch does own postprocessing
  Maskmatch maskmatch;
  Nomatch nomatch;
  char progname[PATH_MAX+1],          // program name
       indexormatchfile[PATH_MAX+1],  // name of index or match file
       *mfargs,                       // args for the matchfile
       *queryfiles[MAXNUMBEROFFILES]; // table of query files
  BOOL withindexfile;                 // last argument is indexname
  FQFsubstringinfo fqfsubstringinfo;  // for the first file containing 
                                      // only one sequence
  Matchparam matchparam;              // user specified match parameters
  Outinfo outinfo;                    // information determining the output
  Clusterparms clusterparms;          // parameters required for clustering
  Showverbose showverbose;            // function to show status info
  Markinfo markinfo;                  // for marking matches
  Sequenceclusterinfo seqclinfo;      // sequence clustering
  Chaincallinfo chaincallinfo;
  Matchclustercallinfo matchclustercallinfo;
  Vpluginbundle vmotifbundle, 
                cpridxpatsearchbundle; 
  Vmotifdata vmotifdata;
  Cpridxpatsearchdata cpridxpatsearchdata;
//\Ignore{

#ifdef VMATCHDB
  Databaseparms databaseparms;
#endif

//}

} Matchcallinfo;                          // \Typedef{Matchcallinfo}

//\Ignore{

#endif

//}