1 /** @file RNAalifold_cmdl.h
2 * @brief The header file for the command line option parser
3 * generated by GNU Gengetopt version 2.22.5
4 * http://www.gnu.org/software/gengetopt.
5 * DO NOT modify this file, since it can be overwritten
6 * @author GNU Gengetopt by Lorenzo Bettini */
8 #ifndef RNAALIFOLD_CMDL_H
9 #define RNAALIFOLD_CMDL_H
11 /* If we use autoconf. */
16 #include <stdio.h> /* for FILE */
20 #endif /* __cplusplus */
22 #ifndef RNAALIFOLD_CMDLINE_PARSER_PACKAGE
23 /** @brief the program name (used for printing errors) */
24 #define RNAALIFOLD_CMDLINE_PARSER_PACKAGE "RNAalifold"
27 #ifndef RNAALIFOLD_CMDLINE_PARSER_PACKAGE_NAME
28 /** @brief the complete program name (used for help and version) */
29 #define RNAALIFOLD_CMDLINE_PARSER_PACKAGE_NAME "RNAalifold"
32 #ifndef RNAALIFOLD_CMDLINE_PARSER_VERSION
33 /** @brief the program version */
34 #define RNAALIFOLD_CMDLINE_PARSER_VERSION VERSION
37 /** @brief Where the command line options are stored */
38 struct RNAalifold_args_info
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 constraint_flag; /**< @brief Calculate structures subject to constraints.
45 The constraining structure will be read from 'stdin', the alignment has to be given as a file name on the command line.
47 const char *constraint_help; /**< @brief Calculate structures subject to constraints.
48 The constraining structure will be read from 'stdin', the alignment has to be given as a file name on the command line.
50 int color_flag; /**< @brief Produce a colored version of the consensus strcture plot \"alirna.ps\" (default b&w only)
53 const char *color_help; /**< @brief Produce a colored version of the consensus strcture plot \"alirna.ps\" (default b&w only)
56 int aln_flag; /**< @brief Produce a colored and structure annotated alignment in PostScript format in the file \"aln.ps\" in the current directory.
59 const char *aln_help; /**< @brief Produce a colored and structure annotated alignment in PostScript format in the file \"aln.ps\" in the current directory.
62 int noPS_flag; /**< @brief Do not produce postscript output
65 const char *noPS_help; /**< @brief Do not produce postscript output
68 int partfunc_arg; /**< @brief Calculate the partition function and base pairing probability matrix in addition to the mfe structure. Default is calculation of mfe structure only.
70 char * partfunc_orig; /**< @brief Calculate the partition function and base pairing probability matrix in addition to the mfe structure. Default is calculation of mfe structure only.
71 original value given at command line. */
72 const char *partfunc_help; /**< @brief Calculate the partition function and base pairing probability matrix in addition to the mfe structure. Default is calculation of mfe structure only.
74 float MEA_arg; /**< @brief Calculate an MEA (maximum expected accuracy) structure.
76 char * MEA_orig; /**< @brief Calculate an MEA (maximum expected accuracy) structure.
77 original value given at command line. */
78 const char *MEA_help; /**< @brief Calculate an MEA (maximum expected accuracy) structure.
80 int mis_flag; /**< @brief Output \"most informative sequence\" instead of simple consensus: For each column of the alignment output the set of nucleotides with frequence greater than average in IUPAC notation.
83 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 frequence greater than average in IUPAC notation.
86 int stochBT_arg; /**< @brief Stochastic backtrack. Compute a certain number of random structures with a probability dependend on the partition function. See -p option in RNAsubopt.
89 char * stochBT_orig; /**< @brief Stochastic backtrack. Compute a certain number of random structures with a probability dependend on the partition function. See -p option in RNAsubopt.
91 original value given at command line. */
92 const char *stochBT_help; /**< @brief Stochastic backtrack. Compute a certain number of random structures with a probability dependend on the partition function. See -p option in RNAsubopt.
95 int stochBT_en_arg; /**< @brief same as \"-s\" but also print out the energies and probabilities of the backtraced structures.
98 char * stochBT_en_orig; /**< @brief same as \"-s\" but also print out the energies and probabilities of the backtraced structures.
100 original value given at command line. */
101 const char *stochBT_en_help; /**< @brief same as \"-s\" but also print out the energies and probabilities of the backtraced structures.
104 double pfScale_arg; /**< @brief In the calculation of the pf use scale*mfe as an estimate for the ensemble free energy (used to avoid overflows).
106 char * pfScale_orig; /**< @brief In the calculation of the pf use scale*mfe as an estimate for the ensemble free energy (used to avoid overflows).
107 original value given at command line. */
108 const char *pfScale_help; /**< @brief In the calculation of the pf use scale*mfe as an estimate for the ensemble free energy (used to avoid overflows).
110 int circ_flag; /**< @brief Assume a circular (instead of linear) RNA molecule.
113 const char *circ_help; /**< @brief Assume a circular (instead of linear) RNA molecule.
116 double bppmThreshold_arg; /**< @brief Set the threshold for base pair probabilities included in the postscript output
118 char * bppmThreshold_orig; /**< @brief Set the threshold for base pair probabilities included in the postscript output
119 original value given at command line. */
120 const char *bppmThreshold_help; /**< @brief Set the threshold for base pair probabilities included in the postscript output
122 int gquad_flag; /**< @brief Incoorporate G-Quadruplex formation into the structure prediction algorithm
124 const char *gquad_help; /**< @brief Incoorporate G-Quadruplex formation into the structure prediction algorithm
126 double temp_arg; /**< @brief Rescale energy parameters to a temperature of temp C. Default is 37C.
129 char * temp_orig; /**< @brief Rescale energy parameters to a temperature of temp C. Default is 37C.
131 original value given at command line. */
132 const char *temp_help; /**< @brief Rescale energy parameters to a temperature of temp C. Default is 37C.
135 int noTetra_flag; /**< @brief Do not include special tabulated stabilizing energies for tri-, tetra- and hexaloop hairpins. Mostly for testing.
138 const char *noTetra_help; /**< @brief Do not include special tabulated stabilizing energies for tri-, tetra- and hexaloop hairpins. Mostly for testing.
141 int dangles_arg; /**< @brief How to treat \"dangling end\" energies for bases adjacent to helices in free ends and multi-loops
143 char * dangles_orig; /**< @brief How to treat \"dangling end\" energies for bases adjacent to helices in free ends and multi-loops
144 original value given at command line. */
145 const char *dangles_help; /**< @brief How to treat \"dangling end\" energies for bases adjacent to helices in free ends and multi-loops
147 int noLP_flag; /**< @brief Produce structures without lonely pairs (helices of length 1).
149 const char *noLP_help; /**< @brief Produce structures without lonely pairs (helices of length 1).
151 int noGU_flag; /**< @brief Do not allow GU pairs
154 const char *noGU_help; /**< @brief Do not allow GU pairs
157 int noClosingGU_flag; /**< @brief Do not allow GU pairs at the end of helices
160 const char *noClosingGU_help; /**< @brief Do not allow GU pairs at the end of helices
163 double cfactor_arg; /**< @brief Set the weight of the covariance term in the energy function
166 char * cfactor_orig; /**< @brief Set the weight of the covariance term in the energy function
168 original value given at command line. */
169 const char *cfactor_help; /**< @brief Set the weight of the covariance term in the energy function
172 double nfactor_arg; /**< @brief Set the penalty for non-compatible sequences in the covariance term of the energy function
175 char * nfactor_orig; /**< @brief Set the penalty for non-compatible sequences in the covariance term of the energy function
177 original value given at command line. */
178 const char *nfactor_help; /**< @brief Set the penalty for non-compatible sequences in the covariance term of the energy function
181 int endgaps_flag; /**< @brief Score pairs with endgaps same as gap-gap pairs.
184 const char *endgaps_help; /**< @brief Score pairs with endgaps same as gap-gap pairs.
187 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.
190 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.
192 original value given at command line. */
193 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.
196 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.
199 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.
202 int old_flag; /**< @brief use old energy evaluation, treating gaps as characters.
205 const char *old_help; /**< @brief use old energy evaluation, treating gaps as characters.
208 char * paramFile_arg; /**< @brief Read energy parameters from paramfile, instead of using the default parameter set.
210 char * paramFile_orig; /**< @brief Read energy parameters from paramfile, instead of using the default parameter set.
211 original value given at command line. */
212 const char *paramFile_help; /**< @brief Read energy parameters from paramfile, instead of using the default parameter set.
214 char * nsp_arg; /**< @brief Allow other pairs in addition to the usual AU,GC,and GU pairs.
216 char * nsp_orig; /**< @brief Allow other pairs in addition to the usual AU,GC,and GU pairs.
217 original value given at command line. */
218 const char *nsp_help; /**< @brief Allow other pairs in addition to the usual AU,GC,and GU pairs.
220 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.
223 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.
225 original value given at command line. */
226 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.
229 double betaScale_arg; /**< @brief Set the scaling of the Boltzmann factors
231 char * betaScale_orig; /**< @brief Set the scaling of the Boltzmann factors
232 original value given at command line. */
233 const char *betaScale_help; /**< @brief Set the scaling of the Boltzmann factors
236 unsigned int help_given ; /**< @brief Whether help was given. */
237 unsigned int detailed_help_given ; /**< @brief Whether detailed-help was given. */
238 unsigned int full_help_given ; /**< @brief Whether full-help was given. */
239 unsigned int version_given ; /**< @brief Whether version was given. */
240 unsigned int constraint_given ; /**< @brief Whether constraint was given. */
241 unsigned int color_given ; /**< @brief Whether color was given. */
242 unsigned int aln_given ; /**< @brief Whether aln was given. */
243 unsigned int noPS_given ; /**< @brief Whether noPS was given. */
244 unsigned int partfunc_given ; /**< @brief Whether partfunc was given. */
245 unsigned int MEA_given ; /**< @brief Whether MEA was given. */
246 unsigned int mis_given ; /**< @brief Whether mis was given. */
247 unsigned int stochBT_given ; /**< @brief Whether stochBT was given. */
248 unsigned int stochBT_en_given ; /**< @brief Whether stochBT_en was given. */
249 unsigned int pfScale_given ; /**< @brief Whether pfScale was given. */
250 unsigned int circ_given ; /**< @brief Whether circ was given. */
251 unsigned int bppmThreshold_given ; /**< @brief Whether bppmThreshold was given. */
252 unsigned int gquad_given ; /**< @brief Whether gquad was given. */
253 unsigned int temp_given ; /**< @brief Whether temp was given. */
254 unsigned int noTetra_given ; /**< @brief Whether noTetra was given. */
255 unsigned int dangles_given ; /**< @brief Whether dangles was given. */
256 unsigned int noLP_given ; /**< @brief Whether noLP was given. */
257 unsigned int noGU_given ; /**< @brief Whether noGU was given. */
258 unsigned int noClosingGU_given ; /**< @brief Whether noClosingGU was given. */
259 unsigned int cfactor_given ; /**< @brief Whether cfactor was given. */
260 unsigned int nfactor_given ; /**< @brief Whether nfactor was given. */
261 unsigned int endgaps_given ; /**< @brief Whether endgaps was given. */
262 unsigned int ribosum_file_given ; /**< @brief Whether ribosum_file was given. */
263 unsigned int ribosum_scoring_given ; /**< @brief Whether ribosum_scoring was given. */
264 unsigned int old_given ; /**< @brief Whether old was given. */
265 unsigned int paramFile_given ; /**< @brief Whether paramFile was given. */
266 unsigned int nsp_given ; /**< @brief Whether nsp was given. */
267 unsigned int energyModel_given ; /**< @brief Whether energyModel was given. */
268 unsigned int betaScale_given ; /**< @brief Whether betaScale was given. */
270 char **inputs ; /**< @brief unamed options (options without names) */
271 unsigned inputs_num ; /**< @brief unamed options number */
274 /** @brief The additional parameters to pass to parser functions */
275 struct RNAalifold_cmdline_parser_params
277 int override; /**< @brief whether to override possibly already present options (default 0) */
278 int initialize; /**< @brief whether to initialize the option structure RNAalifold_args_info (default 1) */
279 int check_required; /**< @brief whether to check that all required options were provided (default 1) */
280 int check_ambiguity; /**< @brief whether to check for options already specified in the option structure RNAalifold_args_info (default 0) */
281 int print_errors; /**< @brief whether getopt_long should print an error message for a bad option (default 1) */
284 /** @brief the purpose string of the program */
285 extern const char *RNAalifold_args_info_purpose;
286 /** @brief the usage string of the program */
287 extern const char *RNAalifold_args_info_usage;
288 /** @brief all the lines making the help output */
289 extern const char *RNAalifold_args_info_help[];
290 /** @brief all the lines making the full help output (including hidden options) */
291 extern const char *RNAalifold_args_info_full_help[];
292 /** @brief all the lines making the detailed help output (including hidden options and details) */
293 extern const char *RNAalifold_args_info_detailed_help[];
296 * The command line parser
297 * @param argc the number of command line options
298 * @param argv the command line options
299 * @param args_info the structure where option information will be stored
300 * @return 0 if everything went fine, NON 0 if an error took place
302 int RNAalifold_cmdline_parser (int argc, char **argv,
303 struct RNAalifold_args_info *args_info);
306 * The command line parser (version with additional parameters - deprecated)
307 * @param argc the number of command line options
308 * @param argv the command line options
309 * @param args_info the structure where option information will be stored
310 * @param override whether to override possibly already present options
311 * @param initialize whether to initialize the option structure my_args_info
312 * @param check_required whether to check that all required options were provided
313 * @return 0 if everything went fine, NON 0 if an error took place
314 * @deprecated use RNAalifold_cmdline_parser_ext() instead
316 int RNAalifold_cmdline_parser2 (int argc, char **argv,
317 struct RNAalifold_args_info *args_info,
318 int override, int initialize, int check_required);
321 * The command line parser (version with additional parameters)
322 * @param argc the number of command line options
323 * @param argv the command line options
324 * @param args_info the structure where option information will be stored
325 * @param params additional parameters for the parser
326 * @return 0 if everything went fine, NON 0 if an error took place
328 int RNAalifold_cmdline_parser_ext (int argc, char **argv,
329 struct RNAalifold_args_info *args_info,
330 struct RNAalifold_cmdline_parser_params *params);
333 * Save the contents of the option struct into an already open FILE stream.
334 * @param outfile the stream where to dump options
335 * @param args_info the option struct to dump
336 * @return 0 if everything went fine, NON 0 if an error took place
338 int RNAalifold_cmdline_parser_dump(FILE *outfile,
339 struct RNAalifold_args_info *args_info);
342 * Save the contents of the option struct into a (text) file.
343 * This file can be read by the config file parser (if generated by gengetopt)
344 * @param filename the file where to save
345 * @param args_info the option struct to save
346 * @return 0 if everything went fine, NON 0 if an error took place
348 int RNAalifold_cmdline_parser_file_save(const char *filename,
349 struct RNAalifold_args_info *args_info);
354 void RNAalifold_cmdline_parser_print_help(void);
356 * Print the full help (including hidden options)
358 void RNAalifold_cmdline_parser_print_full_help(void);
360 * Print the detailed help (including hidden options and details)
362 void RNAalifold_cmdline_parser_print_detailed_help(void);
366 void RNAalifold_cmdline_parser_print_version(void);
369 * Initializes all the fields a RNAalifold_cmdline_parser_params structure
370 * to their default values
371 * @param params the structure to initialize
373 void RNAalifold_cmdline_parser_params_init(struct RNAalifold_cmdline_parser_params *params);
376 * Allocates dynamically a RNAalifold_cmdline_parser_params structure and initializes
377 * all its fields to their default values
378 * @return the created and initialized RNAalifold_cmdline_parser_params structure
380 struct RNAalifold_cmdline_parser_params *RNAalifold_cmdline_parser_params_create(void);
383 * Initializes the passed RNAalifold_args_info structure's fields
384 * (also set default values for options that have a default)
385 * @param args_info the structure to initialize
387 void RNAalifold_cmdline_parser_init (struct RNAalifold_args_info *args_info);
389 * Deallocates the string fields of the RNAalifold_args_info structure
390 * (but does not deallocate the structure itself)
391 * @param args_info the structure to deallocate
393 void RNAalifold_cmdline_parser_free (struct RNAalifold_args_info *args_info);
396 * Checks that all the required options were specified
397 * @param args_info the structure to check
398 * @param prog_name the name of the program that will be used to print
402 int RNAalifold_cmdline_parser_required (struct RNAalifold_args_info *args_info,
403 const char *prog_name);
408 #endif /* __cplusplus */
409 #endif /* RNAALIFOLD_CMDL_H */