Mercurial > repos > chrisd > testshed
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/snp_caller/src/args.h Sun Feb 21 06:05:24 2016 -0500 @@ -0,0 +1,62 @@ +#ifndef ARGS_H +#define ARGS_H + +#include <string> +#include <vector> + +void static usage() { + fprintf(stderr, "\n"); + fprintf(stderr, "Program: SNP Finder \n"); + fprintf(stderr, "Contact: Chris Dean <cdean11@rams.colostate.edu>\n\n"); + fprintf(stderr, "Usage: snp [options] <fasta_file> <sam_file> <best> <output_file>\n\n"); + fprintf(stderr, "Options:\n\n"); + fprintf(stderr, " -amr_fp STRING amr database\n"); + fprintf(stderr, " -samse STRING single-end alignments\n"); + fprintf(stderr, " -sampe STRING paired-end alignments\n"); + fprintf(stderr, " -b BOOLEAN filter on unique alignments\n"); + fprintf(stderr, " -out_fp STRING output path or(file)\n\n"); +} + +struct cmd_args { + std::string amr_fp; + std::string sam_fp; + std::string out_fp; + + bool best = false; + bool samse = false; + bool sampe = false; +}; + +static inline cmd_args +parse_command_line(int argc, const char *argv[]) { + std::vector<std::string> args(argv, argv+argc); + + cmd_args arg; + + for(int i = 1; i < argc; i++) { + if(args[i] == "-amr_fp") { + arg.amr_fp = args[++i]; + } + else if(args[i] == "-samse") { + arg.sam_fp = argv[++i]; + arg.samse = true; + } + else if(args[i] == "-sampe") { + arg.sam_fp = argv[++i]; + arg.sampe = true; + } + else if(args[i] == "-out_fp") { + arg.out_fp = argv[++i]; + } + else if(args[i] == "-b") { + arg.best = true; + } + else { + usage(); + exit(EXIT_FAILURE); + } + } + return arg; +} + +#endif //ARGS_H