1 /** @file RNALalifold_cmdl.h 2 * @brief The header file for the command line option parser 3 * generated by GNU Gengetopt version 2.23 4 * http://www.gnu.org/software/gengetopt. 5 * DO NOT modify this file, since it can be overwritten 6 * @author GNU Gengetopt */ 7 8 #ifndef RNALALIFOLD_CMDL_H 9 #define RNALALIFOLD_CMDL_H 10 11 /* If we use autoconf. */ 12 #ifdef HAVE_CONFIG_H 13 #include "config.h" 14 #endif 15 16 #include <stdio.h> /* for FILE */ 17 18 #ifdef __cplusplus 19 extern "C" { 20 #endif /* __cplusplus */ 21 22 #ifndef RNALALIFOLD_CMDLINE_PARSER_PACKAGE 23 /** @brief the program name (used for printing errors) */ 24 #define RNALALIFOLD_CMDLINE_PARSER_PACKAGE "RNALalifold" 25 #endif 26 27 #ifndef RNALALIFOLD_CMDLINE_PARSER_PACKAGE_NAME 28 /** @brief the complete program name (used for help and version) */ 29 #define RNALALIFOLD_CMDLINE_PARSER_PACKAGE_NAME "RNALalifold" 30 #endif 31 32 #ifndef RNALALIFOLD_CMDLINE_PARSER_VERSION 33 /** @brief the program version */ 34 #define RNALALIFOLD_CMDLINE_PARSER_VERSION VERSION 35 #endif 36 37 /** @brief Where the command line options are stored */ 38 struct RNALalifold_args_info 39 { 40 const char *help_help; /**< @brief Print help and exit help description. */ 41 const char *detailed_help_help; /**< @brief Print help, including all details and hidden options, and exit help description. */ 42 const char *full_help_help; /**< @brief Print help, including hidden options, and exit help description. */ 43 const char *version_help; /**< @brief Print version and exit help description. */ 44 int verbose_flag; /**< @brief Be verbose. 45 46 (default=off). */ 47 const char *verbose_help; /**< @brief Be verbose. 48 49 help description. */ 50 int quiet_flag; /**< @brief Be quiet. 51 (default=off). */ 52 const char *quiet_help; /**< @brief Be quiet. 53 help description. */ 54 int noconv_flag; /**< @brief Do not automatically substitute nucleotide \"T\" with \"U\" 55 56 (default=off). */ 57 const char *noconv_help; /**< @brief Do not automatically substitute nucleotide \"T\" with \"U\" 58 59 help description. */ 60 char * input_format_arg; /**< @brief File format of the input multiple sequence alignment (MSA). 61 . */ 62 char * input_format_orig; /**< @brief File format of the input multiple sequence alignment (MSA). 63 original value given at command line. */ 64 const char *input_format_help; /**< @brief File format of the input multiple sequence alignment (MSA). 65 help description. */ 66 int csv_flag; /**< @brief Create comma separated output (csv) 67 68 (default=off). */ 69 const char *csv_help; /**< @brief Create comma separated output (csv) 70 71 help description. */ 72 char * aln_arg; /**< @brief Produce output alignments and secondary structure plots for each hit found. 73 . */ 74 char * aln_orig; /**< @brief Produce output alignments and secondary structure plots for each hit found. 75 original value given at command line. */ 76 const char *aln_help; /**< @brief Produce output alignments and secondary structure plots for each hit found. 77 help description. */ 78 char * aln_EPS_arg; /**< @brief Produce colored and structure annotated subalignment for each hit 79 . */ 80 char * aln_EPS_orig; /**< @brief Produce colored and structure annotated subalignment for each hit 81 original value given at command line. */ 82 const char *aln_EPS_help; /**< @brief Produce colored and structure annotated subalignment for each hit 83 help description. */ 84 int aln_EPS_cols_arg; /**< @brief Number of columns in colored EPS alignment output. 85 (default='60'). */ 86 char * aln_EPS_cols_orig; /**< @brief Number of columns in colored EPS alignment output. 87 original value given at command line. */ 88 const char *aln_EPS_cols_help; /**< @brief Number of columns in colored EPS alignment output. 89 help description. */ 90 char * aln_EPS_ss_arg; /**< @brief Produce colored consensus secondary structure plots in PostScript format 91 . */ 92 char * aln_EPS_ss_orig; /**< @brief Produce colored consensus secondary structure plots in PostScript format 93 original value given at command line. */ 94 const char *aln_EPS_ss_help; /**< @brief Produce colored consensus secondary structure plots in PostScript format 95 help description. */ 96 char * aln_stk_arg; /**< @brief Add hits to a multi-Stockholm formatted output file. 97 (default='RNALalifold_results'). */ 98 char * aln_stk_orig; /**< @brief Add hits to a multi-Stockholm formatted output file. 99 original value given at command line. */ 100 const char *aln_stk_help; /**< @brief Add hits to a multi-Stockholm formatted output file. 101 help description. */ 102 int auto_id_flag; /**< @brief Automatically generate an ID for each alignment. 103 (default=off). */ 104 const char *auto_id_help; /**< @brief Automatically generate an ID for each alignment. 105 help description. */ 106 char * id_prefix_arg; /**< @brief Prefix for automatically generated IDs (as used in output file names) 107 108 (default='alignment'). */ 109 char * id_prefix_orig; /**< @brief Prefix for automatically generated IDs (as used in output file names) 110 111 original value given at command line. */ 112 const char *id_prefix_help; /**< @brief Prefix for automatically generated IDs (as used in output file names) 113 114 help description. */ 115 char * id_delim_arg; /**< @brief Change the delimiter between prefix and increasing number for automatically generated IDs (as used in output file names) 116 117 (default='_'). */ 118 char * id_delim_orig; /**< @brief Change the delimiter between prefix and increasing number for automatically generated IDs (as used in output file names) 119 120 original value given at command line. */ 121 const char *id_delim_help; /**< @brief Change the delimiter between prefix and increasing number for automatically generated IDs (as used in output file names) 122 123 help description. */ 124 int id_digits_arg; /**< @brief Specify the number of digits of the counter in automatically generated alignment IDs. 125 (default='4'). */ 126 char * id_digits_orig; /**< @brief Specify the number of digits of the counter in automatically generated alignment IDs. 127 original value given at command line. */ 128 const char *id_digits_help; /**< @brief Specify the number of digits of the counter in automatically generated alignment IDs. 129 help description. */ 130 long id_start_arg; /**< @brief Specify the first number in automatically generated alignment IDs. 131 (default='1'). */ 132 char * id_start_orig; /**< @brief Specify the first number in automatically generated alignment IDs. 133 original value given at command line. */ 134 const char *id_start_help; /**< @brief Specify the first number in automatically generated alignment IDs. 135 help description. */ 136 char * filename_delim_arg; /**< @brief Change the delimiting character that is used for sanitized filenames 137 138 (default='ID-delimiter'). */ 139 char * filename_delim_orig; /**< @brief Change the delimiting character that is used for sanitized filenames 140 141 original value given at command line. */ 142 const char *filename_delim_help; /**< @brief Change the delimiting character that is used for sanitized filenames 143 144 help description. */ 145 int split_contributions_flag; /**< @brief Split the free energy contributions into separate parts 146 (default=off). */ 147 const char *split_contributions_help; /**< @brief Split the free energy contributions into separate parts 148 help description. */ 149 char ** shape_arg; /**< @brief Use SHAPE reactivity data to guide structure predictions 150 . */ 151 char ** shape_orig; /**< @brief Use SHAPE reactivity data to guide structure predictions 152 original value given at command line. */ 153 unsigned int shape_min; /**< @brief Use SHAPE reactivity data to guide structure predictions 154 's minimum occurreces */ 155 unsigned int shape_max; /**< @brief Use SHAPE reactivity data to guide structure predictions 156 's maximum occurreces */ 157 const char *shape_help; /**< @brief Use SHAPE reactivity data to guide structure predictions 158 help description. */ 159 char * shapeMethod_arg; /**< @brief Specify the method how to convert SHAPE reactivity data to pseudo energy contributions 160 (default='D'). */ 161 char * shapeMethod_orig; /**< @brief Specify the method how to convert SHAPE reactivity data to pseudo energy contributions 162 original value given at command line. */ 163 const char *shapeMethod_help; /**< @brief Specify the method how to convert SHAPE reactivity data to pseudo energy contributions 164 help description. */ 165 int maxBPspan_arg; /**< @brief Set the maximum allowed separation of a base pair to span. I.e. no pairs (i,j) with j-i>span will be allowed. 166 167 (default='70'). */ 168 char * maxBPspan_orig; /**< @brief Set the maximum allowed separation of a base pair to span. I.e. no pairs (i,j) with j-i>span will be allowed. 169 170 original value given at command line. */ 171 const char *maxBPspan_help; /**< @brief Set the maximum allowed separation of a base pair to span. I.e. no pairs (i,j) with j-i>span will be allowed. 172 173 help description. */ 174 double threshold_arg; /**< @brief Energy threshold in kcal/mol per nucleotide above which secondary structure hits are omitted in the output. 175 176 (default='-0.1'). */ 177 char * threshold_orig; /**< @brief Energy threshold in kcal/mol per nucleotide above which secondary structure hits are omitted in the output. 178 179 original value given at command line. */ 180 const char *threshold_help; /**< @brief Energy threshold in kcal/mol per nucleotide above which secondary structure hits are omitted in the output. 181 182 help description. */ 183 int mis_flag; /**< @brief Output \"most informative sequence\" instead of simple consensus: For each column of the alignment output the set of nucleotides with frequency greater than average in IUPAC notation. 184 185 (default=off). */ 186 const char *mis_help; /**< @brief Output \"most informative sequence\" instead of simple consensus: For each column of the alignment output the set of nucleotides with frequency greater than average in IUPAC notation. 187 188 help description. */ 189 int gquad_flag; /**< @brief Incoorporate G-Quadruplex formation into the structure prediction algorithm 190 191 (default=off). */ 192 const char *gquad_help; /**< @brief Incoorporate G-Quadruplex formation into the structure prediction algorithm 193 194 help description. */ 195 double temp_arg; /**< @brief Rescale energy parameters to a temperature of temp C. Default is 37C. 196 197 . */ 198 char * temp_orig; /**< @brief Rescale energy parameters to a temperature of temp C. Default is 37C. 199 200 original value given at command line. */ 201 const char *temp_help; /**< @brief Rescale energy parameters to a temperature of temp C. Default is 37C. 202 203 help description. */ 204 int noTetra_flag; /**< @brief Do not include special tabulated stabilizing energies for tri-, tetra- and hexaloop hairpins. Mostly for testing. 205 206 (default=off). */ 207 const char *noTetra_help; /**< @brief Do not include special tabulated stabilizing energies for tri-, tetra- and hexaloop hairpins. Mostly for testing. 208 209 help description. */ 210 int dangles_arg; /**< @brief How to treat \"dangling end\" energies for bases adjacent to helices in free ends and multi-loops 211 (default='2'). */ 212 char * dangles_orig; /**< @brief How to treat \"dangling end\" energies for bases adjacent to helices in free ends and multi-loops 213 original value given at command line. */ 214 const char *dangles_help; /**< @brief How to treat \"dangling end\" energies for bases adjacent to helices in free ends and multi-loops 215 help description. */ 216 int noLP_flag; /**< @brief Produce structures without lonely pairs (helices of length 1). 217 (default=off). */ 218 const char *noLP_help; /**< @brief Produce structures without lonely pairs (helices of length 1). 219 help description. */ 220 int noGU_flag; /**< @brief Do not allow GU pairs 221 222 (default=off). */ 223 const char *noGU_help; /**< @brief Do not allow GU pairs 224 225 help description. */ 226 int noClosingGU_flag; /**< @brief Do not allow GU pairs at the end of helices 227 228 (default=off). */ 229 const char *noClosingGU_help; /**< @brief Do not allow GU pairs at the end of helices 230 231 help description. */ 232 char * paramFile_arg; /**< @brief Read energy parameters from paramfile, instead of using the default parameter set. 233 . */ 234 char * paramFile_orig; /**< @brief Read energy parameters from paramfile, instead of using the default parameter set. 235 original value given at command line. */ 236 const char *paramFile_help; /**< @brief Read energy parameters from paramfile, instead of using the default parameter set. 237 help description. */ 238 char * nsp_arg; /**< @brief Allow other pairs in addition to the usual AU,GC,and GU pairs. 239 . */ 240 char * nsp_orig; /**< @brief Allow other pairs in addition to the usual AU,GC,and GU pairs. 241 original value given at command line. */ 242 const char *nsp_help; /**< @brief Allow other pairs in addition to the usual AU,GC,and GU pairs. 243 help description. */ 244 int energyModel_arg; /**< @brief Rarely used option to fold sequences from the artificial ABCD... alphabet, where A pairs B, C-D etc. Use the energy parameters for GC (-e 1) or AU (-e 2) pairs. 245 246 . */ 247 char * energyModel_orig; /**< @brief Rarely used option to fold sequences from the artificial ABCD... alphabet, where A pairs B, C-D etc. Use the energy parameters for GC (-e 1) or AU (-e 2) pairs. 248 249 original value given at command line. */ 250 const char *energyModel_help; /**< @brief Rarely used option to fold sequences from the artificial ABCD... alphabet, where A pairs B, C-D etc. Use the energy parameters for GC (-e 1) or AU (-e 2) pairs. 251 252 help description. */ 253 double cfactor_arg; /**< @brief Set the weight of the covariance term in the energy function 254 255 (default='1.0'). */ 256 char * cfactor_orig; /**< @brief Set the weight of the covariance term in the energy function 257 258 original value given at command line. */ 259 const char *cfactor_help; /**< @brief Set the weight of the covariance term in the energy function 260 261 help description. */ 262 double nfactor_arg; /**< @brief Set the penalty for non-compatible sequences in the covariance term of the energy function 263 264 (default='1.0'). */ 265 char * nfactor_orig; /**< @brief Set the penalty for non-compatible sequences in the covariance term of the energy function 266 267 original value given at command line. */ 268 const char *nfactor_help; /**< @brief Set the penalty for non-compatible sequences in the covariance term of the energy function 269 270 help description. */ 271 char * ribosum_file_arg; /**< @brief use specified Ribosum Matrix instead of normal energy model. Matrixes to use should be 6x6 matrices, the order of the terms is AU, CG, GC, GU, UA, UG. 272 273 . */ 274 char * ribosum_file_orig; /**< @brief use specified Ribosum Matrix instead of normal energy model. Matrixes to use should be 6x6 matrices, the order of the terms is AU, CG, GC, GU, UA, UG. 275 276 original value given at command line. */ 277 const char *ribosum_file_help; /**< @brief use specified Ribosum Matrix instead of normal energy model. Matrixes to use should be 6x6 matrices, the order of the terms is AU, CG, GC, GU, UA, UG. 278 279 help description. */ 280 int ribosum_scoring_flag; /**< @brief use ribosum scoring matrix. The matrix is chosen according to the minimal and maximal pairwise identities of the sequences in the file. 281 282 (default=off). */ 283 const char *ribosum_scoring_help; /**< @brief use ribosum scoring matrix. The matrix is chosen according to the minimal and maximal pairwise identities of the sequences in the file. 284 285 help description. */ 286 287 unsigned int help_given ; /**< @brief Whether help was given. */ 288 unsigned int detailed_help_given ; /**< @brief Whether detailed-help was given. */ 289 unsigned int full_help_given ; /**< @brief Whether full-help was given. */ 290 unsigned int version_given ; /**< @brief Whether version was given. */ 291 unsigned int verbose_given ; /**< @brief Whether verbose was given. */ 292 unsigned int quiet_given ; /**< @brief Whether quiet was given. */ 293 unsigned int noconv_given ; /**< @brief Whether noconv was given. */ 294 unsigned int input_format_given ; /**< @brief Whether input-format was given. */ 295 unsigned int csv_given ; /**< @brief Whether csv was given. */ 296 unsigned int aln_given ; /**< @brief Whether aln was given. */ 297 unsigned int aln_EPS_given ; /**< @brief Whether aln-EPS was given. */ 298 unsigned int aln_EPS_cols_given ; /**< @brief Whether aln-EPS-cols was given. */ 299 unsigned int aln_EPS_ss_given ; /**< @brief Whether aln-EPS-ss was given. */ 300 unsigned int aln_stk_given ; /**< @brief Whether aln-stk was given. */ 301 unsigned int auto_id_given ; /**< @brief Whether auto-id was given. */ 302 unsigned int id_prefix_given ; /**< @brief Whether id-prefix was given. */ 303 unsigned int id_delim_given ; /**< @brief Whether id-delim was given. */ 304 unsigned int id_digits_given ; /**< @brief Whether id-digits was given. */ 305 unsigned int id_start_given ; /**< @brief Whether id-start was given. */ 306 unsigned int filename_delim_given ; /**< @brief Whether filename-delim was given. */ 307 unsigned int split_contributions_given ; /**< @brief Whether split-contributions was given. */ 308 unsigned int shape_given ; /**< @brief Whether shape was given. */ 309 unsigned int shapeMethod_given ; /**< @brief Whether shapeMethod was given. */ 310 unsigned int maxBPspan_given ; /**< @brief Whether maxBPspan was given. */ 311 unsigned int threshold_given ; /**< @brief Whether threshold was given. */ 312 unsigned int mis_given ; /**< @brief Whether mis was given. */ 313 unsigned int gquad_given ; /**< @brief Whether gquad was given. */ 314 unsigned int temp_given ; /**< @brief Whether temp was given. */ 315 unsigned int noTetra_given ; /**< @brief Whether noTetra was given. */ 316 unsigned int dangles_given ; /**< @brief Whether dangles was given. */ 317 unsigned int noLP_given ; /**< @brief Whether noLP was given. */ 318 unsigned int noGU_given ; /**< @brief Whether noGU was given. */ 319 unsigned int noClosingGU_given ; /**< @brief Whether noClosingGU was given. */ 320 unsigned int paramFile_given ; /**< @brief Whether paramFile was given. */ 321 unsigned int nsp_given ; /**< @brief Whether nsp was given. */ 322 unsigned int energyModel_given ; /**< @brief Whether energyModel was given. */ 323 unsigned int cfactor_given ; /**< @brief Whether cfactor was given. */ 324 unsigned int nfactor_given ; /**< @brief Whether nfactor was given. */ 325 unsigned int ribosum_file_given ; /**< @brief Whether ribosum_file was given. */ 326 unsigned int ribosum_scoring_given ; /**< @brief Whether ribosum_scoring was given. */ 327 328 char **inputs ; /**< @brief unnamed options (options without names) */ 329 unsigned inputs_num ; /**< @brief unnamed options number */ 330 } ; 331 332 /** @brief The additional parameters to pass to parser functions */ 333 struct RNALalifold_cmdline_parser_params 334 { 335 int override; /**< @brief whether to override possibly already present options (default 0) */ 336 int initialize; /**< @brief whether to initialize the option structure RNALalifold_args_info (default 1) */ 337 int check_required; /**< @brief whether to check that all required options were provided (default 1) */ 338 int check_ambiguity; /**< @brief whether to check for options already specified in the option structure RNALalifold_args_info (default 0) */ 339 int print_errors; /**< @brief whether getopt_long should print an error message for a bad option (default 1) */ 340 } ; 341 342 /** @brief the purpose string of the program */ 343 extern const char *RNALalifold_args_info_purpose; 344 /** @brief the usage string of the program */ 345 extern const char *RNALalifold_args_info_usage; 346 /** @brief the description string of the program */ 347 extern const char *RNALalifold_args_info_description; 348 /** @brief all the lines making the help output */ 349 extern const char *RNALalifold_args_info_help[]; 350 /** @brief all the lines making the full help output (including hidden options) */ 351 extern const char *RNALalifold_args_info_full_help[]; 352 /** @brief all the lines making the detailed help output (including hidden options and details) */ 353 extern const char *RNALalifold_args_info_detailed_help[]; 354 355 /** 356 * The command line parser 357 * @param argc the number of command line options 358 * @param argv the command line options 359 * @param args_info the structure where option information will be stored 360 * @return 0 if everything went fine, NON 0 if an error took place 361 */ 362 int RNALalifold_cmdline_parser (int argc, char **argv, 363 struct RNALalifold_args_info *args_info); 364 365 /** 366 * The command line parser (version with additional parameters - deprecated) 367 * @param argc the number of command line options 368 * @param argv the command line options 369 * @param args_info the structure where option information will be stored 370 * @param override whether to override possibly already present options 371 * @param initialize whether to initialize the option structure my_args_info 372 * @param check_required whether to check that all required options were provided 373 * @return 0 if everything went fine, NON 0 if an error took place 374 * @deprecated use RNALalifold_cmdline_parser_ext() instead 375 */ 376 int RNALalifold_cmdline_parser2 (int argc, char **argv, 377 struct RNALalifold_args_info *args_info, 378 int override, int initialize, int check_required); 379 380 /** 381 * The command line parser (version with additional parameters) 382 * @param argc the number of command line options 383 * @param argv the command line options 384 * @param args_info the structure where option information will be stored 385 * @param params additional parameters for the parser 386 * @return 0 if everything went fine, NON 0 if an error took place 387 */ 388 int RNALalifold_cmdline_parser_ext (int argc, char **argv, 389 struct RNALalifold_args_info *args_info, 390 struct RNALalifold_cmdline_parser_params *params); 391 392 /** 393 * Save the contents of the option struct into an already open FILE stream. 394 * @param outfile the stream where to dump options 395 * @param args_info the option struct to dump 396 * @return 0 if everything went fine, NON 0 if an error took place 397 */ 398 int RNALalifold_cmdline_parser_dump(FILE *outfile, 399 struct RNALalifold_args_info *args_info); 400 401 /** 402 * Save the contents of the option struct into a (text) file. 403 * This file can be read by the config file parser (if generated by gengetopt) 404 * @param filename the file where to save 405 * @param args_info the option struct to save 406 * @return 0 if everything went fine, NON 0 if an error took place 407 */ 408 int RNALalifold_cmdline_parser_file_save(const char *filename, 409 struct RNALalifold_args_info *args_info); 410 411 /** 412 * Print the help 413 */ 414 void RNALalifold_cmdline_parser_print_help(void); 415 /** 416 * Print the full help (including hidden options) 417 */ 418 void RNALalifold_cmdline_parser_print_full_help(void); 419 /** 420 * Print the detailed help (including hidden options and details) 421 */ 422 void RNALalifold_cmdline_parser_print_detailed_help(void); 423 /** 424 * Print the version 425 */ 426 void RNALalifold_cmdline_parser_print_version(void); 427 428 /** 429 * Initializes all the fields a RNALalifold_cmdline_parser_params structure 430 * to their default values 431 * @param params the structure to initialize 432 */ 433 void RNALalifold_cmdline_parser_params_init(struct RNALalifold_cmdline_parser_params *params); 434 435 /** 436 * Allocates dynamically a RNALalifold_cmdline_parser_params structure and initializes 437 * all its fields to their default values 438 * @return the created and initialized RNALalifold_cmdline_parser_params structure 439 */ 440 struct RNALalifold_cmdline_parser_params *RNALalifold_cmdline_parser_params_create(void); 441 442 /** 443 * Initializes the passed RNALalifold_args_info structure's fields 444 * (also set default values for options that have a default) 445 * @param args_info the structure to initialize 446 */ 447 void RNALalifold_cmdline_parser_init (struct RNALalifold_args_info *args_info); 448 /** 449 * Deallocates the string fields of the RNALalifold_args_info structure 450 * (but does not deallocate the structure itself) 451 * @param args_info the structure to deallocate 452 */ 453 void RNALalifold_cmdline_parser_free (struct RNALalifold_args_info *args_info); 454 455 /** 456 * Checks that all the required options were specified 457 * @param args_info the structure to check 458 * @param prog_name the name of the program that will be used to print 459 * possible errors 460 * @return 461 */ 462 int RNALalifold_cmdline_parser_required (struct RNALalifold_args_info *args_info, 463 const char *prog_name); 464 465 466 #ifdef __cplusplus 467 } 468 #endif /* __cplusplus */ 469 #endif /* RNALALIFOLD_CMDL_H */ 470