1 #ifndef ARGS_H 2 #define ARGS_H 3 #include <stdio.h> 4 #include <getopt.h> 5 #include "pear.h" 6 7 /** @file args.h 8 @brief Header file for command-line arguments 9 10 Header file containing the data structure that is used for storing the 11 user-defined command-line arguments */ 12 13 /** @brief User-defined arguments data structure 14 * 15 * Contains all values of optional and mandatory arguments entered 16 * by the user when executing PAIR. It also contains default values 17 * for the parameters that were not specified. 18 */ 19 struct user_args 20 { 21 char * fastq_left; /**< @brief Forward pairend FASTQ filename */ 22 char * fastq_right; /**< @brief Reverse pairend FASTQ filename */ 23 int min_asm_len; /**< @brief Minimum assembly length threshold */ 24 int max_asm_len; /**< @brief Maximum assembly length threshold */ 25 int qual_thres; /**< @brief Quality score threshold */ 26 int score_method; /**< @brief Scoring method to use */ 27 int min_overlap; /**< @brief Minimum overlap threshold */ 28 int phred_base; /**< @brief Base Phred quality score, i.e. 33 or 64 */ 29 double max_uncalled; /**< @brief Maximum proportion of uncalled bases (N) */ 30 int emp_freqs; /**< @brief Flag whether to compute/use empirical base frequencies */ 31 double p_value; /**< @brief P-value to use */ 32 double geom_mean; /**< @brief Geometric mean */ 33 int test; /**< @brief Test method */ 34 char * outfile; /**< @brief Output filename to use */ 35 int min_trim_len; /**< @brief Minimum trim length */ 36 size_t memory; /**< @brief Amount of memory to be used */ 37 int threads; /**< @brief Number of threads to use */ 38 int cap; /**< @brief Quality score cap value */ 39 int nbase; /**< @brief When merging, use N if one of the two bases is degenerate */ 40 }; 41 42 void usage (void); 43 int decode_switches (int argc, char * argv[], struct user_args * sw); 44 #endif 45