1 |
#include "GBase.h" |
2 |
#include "GArgs.h" |
3 |
#include "GStr.h" |
4 |
|
5 |
#define USAGE "Usage:\n\ |
6 |
gtest [-g|--genomic-fasta <genomic_seqs_fasta>] [-c|COV=<cov%>] \n\ |
7 |
[-s|--seq <seq_info.fsize>] [-o|--out <outfile.gff>] [--disable-flag] [-t|--test <string>]\n\ |
8 |
[-p|PID=<pid%>] file1 [file2 file3 ..]\n\ |
9 |
" |
10 |
enum { |
11 |
OPT_HELP=1, |
12 |
OPT_GENOMIC, |
13 |
OPT_COV, |
14 |
OPT_SEQ, |
15 |
OPT_OUTFILE, |
16 |
OPT_DISABLE_FLAG, |
17 |
OPT_TEST, |
18 |
OPT_PID, |
19 |
}; |
20 |
|
21 |
GArgsDef opts[] = { |
22 |
{"help", 'h', 0, OPT_HELP}, |
23 |
{"genomic-fasta", 'g', 1, OPT_GENOMIC}, |
24 |
{"COV", 'c', 1, OPT_COV}, |
25 |
{"seq", 's', 1, OPT_SEQ}, |
26 |
{"out", 'o', 1, OPT_OUTFILE}, |
27 |
{"disable-flag", 0, 0, OPT_DISABLE_FLAG}, |
28 |
{"test", 't', 1, OPT_TEST}, |
29 |
{"PID", 'p', 1, OPT_PID}, |
30 |
{0,0,0,0} |
31 |
}; |
32 |
|
33 |
int main(int argc, char * const argv[]) { |
34 |
//GArgs args(argc, argv, "hg:c:s:t:o:p:help;genomic-fasta=COV=PID=seq=out=disable-flag;test="); |
35 |
GArgs args(argc, argv, opts); |
36 |
fprintf(stderr, "Command line was:\n"); |
37 |
args.printCmdLine(stderr); |
38 |
args.printError(USAGE, true); |
39 |
//if (args.getOpt('h') || args.getOpt("help")) |
40 |
if (args.getOpt(OPT_HELP)) |
41 |
{ |
42 |
GMessage("%s\n", USAGE); |
43 |
exit(1); |
44 |
} |
45 |
int numopts=args.startOpt(); |
46 |
if (numopts) |
47 |
GMessage("#### Recognized %d option arguments:\n", numopts); |
48 |
int optcode=0; |
49 |
while ((optcode=args.nextCode())) { |
50 |
char* r=args.getOpt(optcode); |
51 |
GMessage("%14s\t= %s\n", args.getOptName(optcode), (r[0]==0)?"True":r); |
52 |
} |
53 |
int numargs=args.startNonOpt(); |
54 |
if (numargs>0) { |
55 |
GMessage("\n#### Found %d non-option arguments given:\n", numargs); |
56 |
char* a=NULL; |
57 |
while ((a=args.nextNonOpt())) { |
58 |
GMessage("%s\n",a); |
59 |
} |
60 |
} |
61 |
} |