1 /** @file RNAaliduplex_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 RNAALIDUPLEX_CMDL_H 9 #define RNAALIDUPLEX_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 RNAALIDUPLEX_CMDLINE_PARSER_PACKAGE 23 /** @brief the program name (used for printing errors) */ 24 #define RNAALIDUPLEX_CMDLINE_PARSER_PACKAGE "RNAaliduplex" 25 #endif 26 27 #ifndef RNAALIDUPLEX_CMDLINE_PARSER_PACKAGE_NAME 28 /** @brief the complete program name (used for help and version) */ 29 #define RNAALIDUPLEX_CMDLINE_PARSER_PACKAGE_NAME "RNAaliduplex" 30 #endif 31 32 #ifndef RNAALIDUPLEX_CMDLINE_PARSER_VERSION 33 /** @brief the program version */ 34 #define RNAALIDUPLEX_CMDLINE_PARSER_VERSION VERSION 35 #endif 36 37 /** @brief Where the command line options are stored */ 38 struct RNAaliduplex_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 *version_help; /**< @brief Print version and exit help description. */ 43 float deltaEnergy_arg; /**< @brief Compute suboptimal structures with energy in a certain range of the optimum (kcal/mol). Default is calculation of mfe structure only. 44 45 . */ 46 char * deltaEnergy_orig; /**< @brief Compute suboptimal structures with energy in a certain range of the optimum (kcal/mol). Default is calculation of mfe structure only. 47 48 original value given at command line. */ 49 const char *deltaEnergy_help; /**< @brief Compute suboptimal structures with energy in a certain range of the optimum (kcal/mol). Default is calculation of mfe structure only. 50 51 help description. */ 52 int sorted_flag; /**< @brief print output sorted by free energy 53 54 (default=off). */ 55 const char *sorted_help; /**< @brief print output sorted by free energy 56 57 help description. */ 58 double temp_arg; /**< @brief Rescale energy parameters to a temperature of temp C. Default is 37C. 59 60 . */ 61 char * temp_orig; /**< @brief Rescale energy parameters to a temperature of temp C. Default is 37C. 62 63 original value given at command line. */ 64 const char *temp_help; /**< @brief Rescale energy parameters to a temperature of temp C. Default is 37C. 65 66 help description. */ 67 int noTetra_flag; /**< @brief Do not include special tabulated stabilizing energies for tri-, tetra- and hexaloop hairpins. Mostly for testing. 68 69 (default=off). */ 70 const char *noTetra_help; /**< @brief Do not include special tabulated stabilizing energies for tri-, tetra- and hexaloop hairpins. Mostly for testing. 71 72 help description. */ 73 int dangles_arg; /**< @brief How to treat \"dangling end\" energies for bases adjacent to helices in free ends and multi-loops 74 (default='2'). */ 75 char * dangles_orig; /**< @brief How to treat \"dangling end\" energies for bases adjacent to helices in free ends and multi-loops 76 original value given at command line. */ 77 const char *dangles_help; /**< @brief How to treat \"dangling end\" energies for bases adjacent to helices in free ends and multi-loops 78 help description. */ 79 int noLP_flag; /**< @brief Produce structures without lonely pairs (helices of length 1). 80 (default=off). */ 81 const char *noLP_help; /**< @brief Produce structures without lonely pairs (helices of length 1). 82 help description. */ 83 int noGU_flag; /**< @brief Do not allow GU pairs 84 85 (default=off). */ 86 const char *noGU_help; /**< @brief Do not allow GU pairs 87 88 help description. */ 89 int noClosingGU_flag; /**< @brief Do not allow GU pairs at the end of helices 90 91 (default=off). */ 92 const char *noClosingGU_help; /**< @brief Do not allow GU pairs at the end of helices 93 94 help description. */ 95 char * nsp_arg; /**< @brief Allow other pairs in addition to the usual AU,GC,and GU pairs. 96 . */ 97 char * nsp_orig; /**< @brief Allow other pairs in addition to the usual AU,GC,and GU pairs. 98 original value given at command line. */ 99 const char *nsp_help; /**< @brief Allow other pairs in addition to the usual AU,GC,and GU pairs. 100 help description. */ 101 char * paramFile_arg; /**< @brief Read energy parameters from paramfile, instead of using the default parameter set. 102 . */ 103 char * paramFile_orig; /**< @brief Read energy parameters from paramfile, instead of using the default parameter set. 104 original value given at command line. */ 105 const char *paramFile_help; /**< @brief Read energy parameters from paramfile, instead of using the default parameter set. 106 help description. */ 107 108 unsigned int help_given ; /**< @brief Whether help was given. */ 109 unsigned int detailed_help_given ; /**< @brief Whether detailed-help was given. */ 110 unsigned int version_given ; /**< @brief Whether version was given. */ 111 unsigned int deltaEnergy_given ; /**< @brief Whether deltaEnergy was given. */ 112 unsigned int sorted_given ; /**< @brief Whether sorted was given. */ 113 unsigned int temp_given ; /**< @brief Whether temp was given. */ 114 unsigned int noTetra_given ; /**< @brief Whether noTetra was given. */ 115 unsigned int dangles_given ; /**< @brief Whether dangles was given. */ 116 unsigned int noLP_given ; /**< @brief Whether noLP was given. */ 117 unsigned int noGU_given ; /**< @brief Whether noGU was given. */ 118 unsigned int noClosingGU_given ; /**< @brief Whether noClosingGU was given. */ 119 unsigned int nsp_given ; /**< @brief Whether nsp was given. */ 120 unsigned int paramFile_given ; /**< @brief Whether paramFile was given. */ 121 122 char **inputs ; /**< @brief unnamed options (options without names) */ 123 unsigned inputs_num ; /**< @brief unnamed options number */ 124 } ; 125 126 /** @brief The additional parameters to pass to parser functions */ 127 struct RNAaliduplex_cmdline_parser_params 128 { 129 int override; /**< @brief whether to override possibly already present options (default 0) */ 130 int initialize; /**< @brief whether to initialize the option structure RNAaliduplex_args_info (default 1) */ 131 int check_required; /**< @brief whether to check that all required options were provided (default 1) */ 132 int check_ambiguity; /**< @brief whether to check for options already specified in the option structure RNAaliduplex_args_info (default 0) */ 133 int print_errors; /**< @brief whether getopt_long should print an error message for a bad option (default 1) */ 134 } ; 135 136 /** @brief the purpose string of the program */ 137 extern const char *RNAaliduplex_args_info_purpose; 138 /** @brief the usage string of the program */ 139 extern const char *RNAaliduplex_args_info_usage; 140 /** @brief the description string of the program */ 141 extern const char *RNAaliduplex_args_info_description; 142 /** @brief all the lines making the help output */ 143 extern const char *RNAaliduplex_args_info_help[]; 144 /** @brief all the lines making the detailed help output (including hidden options and details) */ 145 extern const char *RNAaliduplex_args_info_detailed_help[]; 146 147 /** 148 * The command line parser 149 * @param argc the number of command line options 150 * @param argv the command line options 151 * @param args_info the structure where option information will be stored 152 * @return 0 if everything went fine, NON 0 if an error took place 153 */ 154 int RNAaliduplex_cmdline_parser (int argc, char **argv, 155 struct RNAaliduplex_args_info *args_info); 156 157 /** 158 * The command line parser (version with additional parameters - deprecated) 159 * @param argc the number of command line options 160 * @param argv the command line options 161 * @param args_info the structure where option information will be stored 162 * @param override whether to override possibly already present options 163 * @param initialize whether to initialize the option structure my_args_info 164 * @param check_required whether to check that all required options were provided 165 * @return 0 if everything went fine, NON 0 if an error took place 166 * @deprecated use RNAaliduplex_cmdline_parser_ext() instead 167 */ 168 int RNAaliduplex_cmdline_parser2 (int argc, char **argv, 169 struct RNAaliduplex_args_info *args_info, 170 int override, int initialize, int check_required); 171 172 /** 173 * The command line parser (version with additional parameters) 174 * @param argc the number of command line options 175 * @param argv the command line options 176 * @param args_info the structure where option information will be stored 177 * @param params additional parameters for the parser 178 * @return 0 if everything went fine, NON 0 if an error took place 179 */ 180 int RNAaliduplex_cmdline_parser_ext (int argc, char **argv, 181 struct RNAaliduplex_args_info *args_info, 182 struct RNAaliduplex_cmdline_parser_params *params); 183 184 /** 185 * Save the contents of the option struct into an already open FILE stream. 186 * @param outfile the stream where to dump options 187 * @param args_info the option struct to dump 188 * @return 0 if everything went fine, NON 0 if an error took place 189 */ 190 int RNAaliduplex_cmdline_parser_dump(FILE *outfile, 191 struct RNAaliduplex_args_info *args_info); 192 193 /** 194 * Save the contents of the option struct into a (text) file. 195 * This file can be read by the config file parser (if generated by gengetopt) 196 * @param filename the file where to save 197 * @param args_info the option struct to save 198 * @return 0 if everything went fine, NON 0 if an error took place 199 */ 200 int RNAaliduplex_cmdline_parser_file_save(const char *filename, 201 struct RNAaliduplex_args_info *args_info); 202 203 /** 204 * Print the help 205 */ 206 void RNAaliduplex_cmdline_parser_print_help(void); 207 /** 208 * Print the detailed help (including hidden options and details) 209 */ 210 void RNAaliduplex_cmdline_parser_print_detailed_help(void); 211 /** 212 * Print the version 213 */ 214 void RNAaliduplex_cmdline_parser_print_version(void); 215 216 /** 217 * Initializes all the fields a RNAaliduplex_cmdline_parser_params structure 218 * to their default values 219 * @param params the structure to initialize 220 */ 221 void RNAaliduplex_cmdline_parser_params_init(struct RNAaliduplex_cmdline_parser_params *params); 222 223 /** 224 * Allocates dynamically a RNAaliduplex_cmdline_parser_params structure and initializes 225 * all its fields to their default values 226 * @return the created and initialized RNAaliduplex_cmdline_parser_params structure 227 */ 228 struct RNAaliduplex_cmdline_parser_params *RNAaliduplex_cmdline_parser_params_create(void); 229 230 /** 231 * Initializes the passed RNAaliduplex_args_info structure's fields 232 * (also set default values for options that have a default) 233 * @param args_info the structure to initialize 234 */ 235 void RNAaliduplex_cmdline_parser_init (struct RNAaliduplex_args_info *args_info); 236 /** 237 * Deallocates the string fields of the RNAaliduplex_args_info structure 238 * (but does not deallocate the structure itself) 239 * @param args_info the structure to deallocate 240 */ 241 void RNAaliduplex_cmdline_parser_free (struct RNAaliduplex_args_info *args_info); 242 243 /** 244 * Checks that all the required options were specified 245 * @param args_info the structure to check 246 * @param prog_name the name of the program that will be used to print 247 * possible errors 248 * @return 249 */ 250 int RNAaliduplex_cmdline_parser_required (struct RNAaliduplex_args_info *args_info, 251 const char *prog_name); 252 253 254 #ifdef __cplusplus 255 } 256 #endif /* __cplusplus */ 257 #endif /* RNAALIDUPLEX_CMDL_H */ 258