Mercurial > repos > chrisd > testshed
comparison snp_caller/src/args.h @ 0:0fd352f62446 draft default tip
planemo upload for repository https://github.com/ChrisD11/Duplicon commit 3ee0594c692faac542ffa58f4339d79b9b8aefbd-dirty
| author | chrisd |
|---|---|
| date | Sun, 21 Feb 2016 06:05:24 -0500 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:0fd352f62446 |
|---|---|
| 1 #ifndef ARGS_H | |
| 2 #define ARGS_H | |
| 3 | |
| 4 #include <string> | |
| 5 #include <vector> | |
| 6 | |
| 7 void static usage() { | |
| 8 fprintf(stderr, "\n"); | |
| 9 fprintf(stderr, "Program: SNP Finder \n"); | |
| 10 fprintf(stderr, "Contact: Chris Dean <cdean11@rams.colostate.edu>\n\n"); | |
| 11 fprintf(stderr, "Usage: snp [options] <fasta_file> <sam_file> <best> <output_file>\n\n"); | |
| 12 fprintf(stderr, "Options:\n\n"); | |
| 13 fprintf(stderr, " -amr_fp STRING amr database\n"); | |
| 14 fprintf(stderr, " -samse STRING single-end alignments\n"); | |
| 15 fprintf(stderr, " -sampe STRING paired-end alignments\n"); | |
| 16 fprintf(stderr, " -b BOOLEAN filter on unique alignments\n"); | |
| 17 fprintf(stderr, " -out_fp STRING output path or(file)\n\n"); | |
| 18 } | |
| 19 | |
| 20 struct cmd_args { | |
| 21 std::string amr_fp; | |
| 22 std::string sam_fp; | |
| 23 std::string out_fp; | |
| 24 | |
| 25 bool best = false; | |
| 26 bool samse = false; | |
| 27 bool sampe = false; | |
| 28 }; | |
| 29 | |
| 30 static inline cmd_args | |
| 31 parse_command_line(int argc, const char *argv[]) { | |
| 32 std::vector<std::string> args(argv, argv+argc); | |
| 33 | |
| 34 cmd_args arg; | |
| 35 | |
| 36 for(int i = 1; i < argc; i++) { | |
| 37 if(args[i] == "-amr_fp") { | |
| 38 arg.amr_fp = args[++i]; | |
| 39 } | |
| 40 else if(args[i] == "-samse") { | |
| 41 arg.sam_fp = argv[++i]; | |
| 42 arg.samse = true; | |
| 43 } | |
| 44 else if(args[i] == "-sampe") { | |
| 45 arg.sam_fp = argv[++i]; | |
| 46 arg.sampe = true; | |
| 47 } | |
| 48 else if(args[i] == "-out_fp") { | |
| 49 arg.out_fp = argv[++i]; | |
| 50 } | |
| 51 else if(args[i] == "-b") { | |
| 52 arg.best = true; | |
| 53 } | |
| 54 else { | |
| 55 usage(); | |
| 56 exit(EXIT_FAILURE); | |
| 57 } | |
| 58 } | |
| 59 return arg; | |
| 60 } | |
| 61 | |
| 62 #endif //ARGS_H |
