Add missing binaty and statis library
[jabaws.git] / binaries / src / ViennaRNA / Progs / RNAalifold_cmdl.h
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 */
7
8 #ifndef RNAALIFOLD_CMDL_H
9 #define RNAALIFOLD_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 RNAALIFOLD_CMDLINE_PARSER_PACKAGE
23 /** @brief the program name (used for printing errors) */
24 #define RNAALIFOLD_CMDLINE_PARSER_PACKAGE "RNAalifold"
25 #endif
26
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"
30 #endif
31
32 #ifndef RNAALIFOLD_CMDLINE_PARSER_VERSION
33 /** @brief the program version */
34 #define RNAALIFOLD_CMDLINE_PARSER_VERSION VERSION
35 #endif
36
37 /** @brief Where the command line options are stored */
38 struct RNAalifold_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 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.
46  (default=off).  */
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.
49  help description.  */
50   int color_flag;       /**< @brief Produce a colored version of the consensus strcture plot \"alirna.ps\" (default b&w only)
51   
52  (default=off).  */
53   const char *color_help; /**< @brief Produce a colored version of the consensus strcture plot \"alirna.ps\" (default b&w only)
54   
55  help description.  */
56   int aln_flag; /**< @brief Produce a colored and structure annotated alignment in PostScript format in the file \"aln.ps\" in the current directory.
57   
58  (default=off).  */
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.
60   
61  help description.  */
62   int noPS_flag;        /**< @brief Do not produce postscript output
63   
64  (default=off).  */
65   const char *noPS_help; /**< @brief Do not produce postscript output
66   
67  help description.  */
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.
69  (default='1').  */
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.
73  help description.  */
74   float MEA_arg;        /**< @brief Calculate an MEA (maximum expected accuracy) structure.
75  (default='1.').  */
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.
79  help description.  */
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.
81   
82  (default=off).  */
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.
84   
85  help description.  */
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.
87   
88 .  */
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.
90   
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.
93   
94  help description.  */
95   int stochBT_en_arg;   /**< @brief same as \"-s\" but also print out the energies and probabilities of the backtraced structures.
96   
97 .  */
98   char * stochBT_en_orig;       /**< @brief same as \"-s\" but also print out the energies and probabilities of the backtraced structures.
99   
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.
102   
103  help description.  */
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).
105 .  */
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).
109  help description.  */
110   int circ_flag;        /**< @brief Assume a circular (instead of linear) RNA molecule.
111   
112  (default=off).  */
113   const char *circ_help; /**< @brief Assume a circular (instead of linear) RNA molecule.
114   
115  help description.  */
116   double bppmThreshold_arg;     /**< @brief Set the threshold for base pair probabilities included in the postscript output
117  (default='1e-6').  */
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
121  help description.  */
122   int gquad_flag;       /**< @brief Incoorporate G-Quadruplex formation into the structure prediction algorithm
123  (default=off).  */
124   const char *gquad_help; /**< @brief Incoorporate G-Quadruplex formation into the structure prediction algorithm
125  help description.  */
126   double temp_arg;      /**< @brief Rescale energy parameters to a temperature of temp C. Default is 37C.
127   
128 .  */
129   char * temp_orig;     /**< @brief Rescale energy parameters to a temperature of temp C. Default is 37C.
130   
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.
133   
134  help description.  */
135   int noTetra_flag;     /**< @brief Do not include special tabulated stabilizing energies for tri-, tetra- and hexaloop hairpins. Mostly for testing.
136   
137  (default=off).  */
138   const char *noTetra_help; /**< @brief Do not include special tabulated stabilizing energies for tri-, tetra- and hexaloop hairpins. Mostly for testing.
139   
140  help description.  */
141   int dangles_arg;      /**< @brief How to treat \"dangling end\" energies for bases adjacent to helices in free ends and multi-loops
142  (default='2').  */
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
146  help description.  */
147   int noLP_flag;        /**< @brief Produce structures without lonely pairs (helices of length 1).
148  (default=off).  */
149   const char *noLP_help; /**< @brief Produce structures without lonely pairs (helices of length 1).
150  help description.  */
151   int noGU_flag;        /**< @brief Do not allow GU pairs
152   
153  (default=off).  */
154   const char *noGU_help; /**< @brief Do not allow GU pairs
155   
156  help description.  */
157   int noClosingGU_flag; /**< @brief Do not allow GU pairs at the end of helices
158   
159  (default=off).  */
160   const char *noClosingGU_help; /**< @brief Do not allow GU pairs at the end of helices
161   
162  help description.  */
163   double cfactor_arg;   /**< @brief Set the weight of the covariance term in the energy function
164   
165  (default='1.0').  */
166   char * cfactor_orig;  /**< @brief Set the weight of the covariance term in the energy function
167   
168  original value given at command line.  */
169   const char *cfactor_help; /**< @brief Set the weight of the covariance term in the energy function
170   
171  help description.  */
172   double nfactor_arg;   /**< @brief Set the penalty for non-compatible sequences in the covariance term of the energy function
173   
174  (default='1.0').  */
175   char * nfactor_orig;  /**< @brief Set the penalty for non-compatible sequences in the covariance term of the energy function
176   
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
179   
180  help description.  */
181   int endgaps_flag;     /**< @brief Score pairs with endgaps same as gap-gap pairs.
182   
183  (default=off).  */
184   const char *endgaps_help; /**< @brief Score pairs with endgaps same as gap-gap pairs.
185   
186  help description.  */
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.
188   
189 .  */
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.
191   
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.
194   
195  help description.  */
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.
197   
198  (default=off).  */
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.
200   
201  help description.  */
202   int old_flag; /**< @brief use old energy evaluation, treating gaps as characters.
203   
204  (default=off).  */
205   const char *old_help; /**< @brief use old energy evaluation, treating gaps as characters.
206   
207  help description.  */
208   char * paramFile_arg; /**< @brief Read energy parameters from paramfile, instead of using the default parameter set.
209 .  */
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.
213  help description.  */
214   char * nsp_arg;       /**< @brief Allow other pairs in addition to the usual AU,GC,and GU pairs.
215 .  */
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.
219  help description.  */
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.
221   
222 .  */
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.
224   
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.
227   
228  help description.  */
229   double betaScale_arg; /**< @brief Set the scaling of the Boltzmann factors
230  (default='1.').  */
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
234  help description.  */
235   
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.  */
269
270   char **inputs ; /**< @brief unamed options (options without names) */
271   unsigned inputs_num ; /**< @brief unamed options number */
272 } ;
273
274 /** @brief The additional parameters to pass to parser functions */
275 struct RNAalifold_cmdline_parser_params
276 {
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) */
282 } ;
283
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[];
294
295 /**
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
301  */
302 int RNAalifold_cmdline_parser (int argc, char **argv,
303   struct RNAalifold_args_info *args_info);
304
305 /**
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
315  */
316 int RNAalifold_cmdline_parser2 (int argc, char **argv,
317   struct RNAalifold_args_info *args_info,
318   int override, int initialize, int check_required);
319
320 /**
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
327  */
328 int RNAalifold_cmdline_parser_ext (int argc, char **argv,
329   struct RNAalifold_args_info *args_info,
330   struct RNAalifold_cmdline_parser_params *params);
331
332 /**
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
337  */
338 int RNAalifold_cmdline_parser_dump(FILE *outfile,
339   struct RNAalifold_args_info *args_info);
340
341 /**
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
347  */
348 int RNAalifold_cmdline_parser_file_save(const char *filename,
349   struct RNAalifold_args_info *args_info);
350
351 /**
352  * Print the help
353  */
354 void RNAalifold_cmdline_parser_print_help(void);
355 /**
356  * Print the full help (including hidden options)
357  */
358 void RNAalifold_cmdline_parser_print_full_help(void);
359 /**
360  * Print the detailed help (including hidden options and details)
361  */
362 void RNAalifold_cmdline_parser_print_detailed_help(void);
363 /**
364  * Print the version
365  */
366 void RNAalifold_cmdline_parser_print_version(void);
367
368 /**
369  * Initializes all the fields a RNAalifold_cmdline_parser_params structure 
370  * to their default values
371  * @param params the structure to initialize
372  */
373 void RNAalifold_cmdline_parser_params_init(struct RNAalifold_cmdline_parser_params *params);
374
375 /**
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
379  */
380 struct RNAalifold_cmdline_parser_params *RNAalifold_cmdline_parser_params_create(void);
381
382 /**
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
386  */
387 void RNAalifold_cmdline_parser_init (struct RNAalifold_args_info *args_info);
388 /**
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
392  */
393 void RNAalifold_cmdline_parser_free (struct RNAalifold_args_info *args_info);
394
395 /**
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
399  *   possible errors
400  * @return
401  */
402 int RNAalifold_cmdline_parser_required (struct RNAalifold_args_info *args_info,
403   const char *prog_name);
404
405
406 #ifdef __cplusplus
407 }
408 #endif /* __cplusplus */
409 #endif /* RNAALIFOLD_CMDL_H */