trimalManager.h
Go to the documentation of this file.
1 /* *****************************************************************************
2 
3  trimAl v2.0: a tool for automated alignment trimming in large-scale
4  phylogenetics analyses.
5 
6  readAl v2.0: a tool for automated alignment conversion among different
7  formats.
8 
9  2009-2019
10  Fernandez-Rodriguez V. (victor.fernandez@bsc.es)
11  Capella-Gutierrez S. (salvador.capella@bsc.es)
12  Gabaldon, T. (tgabaldon@crg.es)
13 
14  This file is part of trimAl/readAl.
15 
16  trimAl/readAl are free software: you can redistribute it and/or modify
17  it under the terms of the GNU General Public License as published by
18  the Free Software Foundation, the last available version.
19 
20  trimAl/readAl are distributed in the hope that it will be useful,
21  but WITHOUT ANY WARRANTY; without even the implied warranty of
22  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23  GNU General Public License for more details.
24 
25  You should have received a copy of the GNU General Public License
26  along with trimAl/readAl. If not, see <http://www.gnu.org/licenses/>.
27 
28 ***************************************************************************** */
29 
30 #ifndef TRIMAL_TRIMALARGUMENTPARSER_H
31 #define TRIMAL_TRIMALARGUMENTPARSER_H
32 
33 
34 #include "FormatHandling/FormatManager.h"
35 #include "Alignment/Alignment.h"
36 
37 #include <stdlib.h>
38 #include <string.h>
39 #include <iostream>
40 #include <fstream>
41 #include <cstring>
42 #include <iosfwd>
43 #include <string>
44 #include <functional>
45 
46 //#include "../tests/catch.hpp";
47 
48 namespace Catch
49 {
50  struct SectionInfo;
51 }
52 
53 
54 // Forward declatarion
55 class similarityMatrix;
56 namespace statistics
57 {
58  class Consistency;
59  class similarityMatrix;
60 }
61 
63 {
64 public:
65 
66  friend struct Catch::SectionInfo;
67 
68  std::vector<std::string> * vcfs = nullptr;
69 
70  bool
71  appearErrors = false,
72 
75  columnNumbering = false,
76  nogaps = false,
77  noallgaps = false,
78  gappyout = false,
79  strict = false,
80  strictplus = false,
81  automated1 = false,
82  sgc = false,
83  sgt = false,
84  ssc = false,
85  sst = false,
86  sfc = false,
87  sft = false,
88  sident = false,
89  soverlap = false,
90  selectSeqs = false,
91  selectCols = false,
93  terminalOnly = false,
94  keepSeqs = false,
95  ignoreStopCodon = false,
96  ignoreFilter = false,
98 
99  float
109 
110  int
111  i = 1,
112  stats = 0,
114  gapWindow = -1,
117  blockSize = -1,
118  clusters = -1
119  ,
123 
124  *delColumns = nullptr,
125  *delSequences = nullptr,
126  *sequencesLengths = nullptr;
127 
128  size_t
129  argumentLength = size_t(-1);
130 
131  std::string
132  *sequencesNames = nullptr;
133 
134 
135  /* Others variables */
136  std::ifstream compare;
138 
139  Alignment
140  *origAlig = nullptr,
141  *singleAlig = nullptr,
142  *tempAlig = nullptr,
145 
146  char
147  c,
148  *forceFile = nullptr,
149 
150  *infile = nullptr,
151 
152  *backtransFile = nullptr,
153 
154  *outfile = nullptr,
155  *htmlOutFile = nullptr,
156  *svgOutFile = nullptr,
157  *svgStatsOutFile = nullptr,
158 
159  *compareset = nullptr,
160 
161 
162  *matrixFile = nullptr,
163 
164  **filesToCompare = nullptr,
165  line[256];
166 
167  std::vector<std::string> oformats;
168 
169  /// Consistency Manager.
170  /// We have to save the reference,
171  /// while it is still not part of an alignment
172  statistics::Consistency *CS = nullptr;
173 
174 public:
175  trimAlManager();
176  ~trimAlManager();
177  int parseArguments(int argc, char **argv);
178 
182  Errored = 2,
183  Final = 3
184  };
185 
186 private: // Parse Arguments Methods
187  void verbosity_argument (const int* argc, char* argv[]);
188 
189  argumentReport help_arguments(const int *argc, char **argv, int *currentArg);
190 
191  argumentReport in_argument (const int* argc, char* argv[], int* currentArg);
192  argumentReport vcf_argument (const int* argc, char* argv[], int* currentArg);
193  argumentReport out_argument (const int* argc, char* argv[], int* currentArg);
194  argumentReport html_out_argument (const int* argc, char* argv[], int* currentArg);
195  argumentReport timetracker_out_argument (const int* argc, char* argv[], int* currentArg);
196  argumentReport svg_out_argument (const int* argc, char* argv[], int* currentArg);
197  argumentReport svg_stats_argument (const int* argc, char* argv[], int* currentArg);
198  argumentReport out_format_arguments (const int* argc, char* argv[], int* currentArg);
199  argumentReport matrix_argument (const int* argc, char* argv[], int* currentArg);
200  argumentReport compareset_argument (const int* argc, char* argv[], int* currentArg);
201  argumentReport force_select_argument (const int* argc, char* argv[], int* currentArg);
202  argumentReport back_trans_argument (const int* argc, char* argv[], int* currentArg);
203  argumentReport gap_threshold_argument (const int* argc, char* argv[], int* currentArg);
204  argumentReport similarity_threshold_argument (const int* argc, char* argv[], int* currentArg);
205  argumentReport consistency_threshold_argument (const int* argc, char* argv[], int* currentArg);
206  argumentReport conservation_threshold_argument(const int* argc, char* argv[], int* currentArg);
207  argumentReport select_cols_argument (const int* argc, char* argv[], int* currentArg);
208  argumentReport no_gaps_argument (const int* argc, char* argv[], int* currentArg);
209  argumentReport no_all_gaps_argument (const int* argc, char* argv[], int* currentArg);
210  argumentReport keep_seqs_argument (const int* argc, char* argv[], int* currentArg);
211  argumentReport keep_header_argument (const int* argc, char* argv[], int* currentArg);
212  argumentReport gappy_out_argument (const int* argc, char* argv[], int* currentArg);
213  argumentReport strict_argument (const int* argc, char* argv[], int* currentArg);
214  argumentReport strict_plus_argument (const int* argc, char* argv[], int* currentArg);
215  argumentReport automated1_argument (const int* argc, char* argv[], int* currentArg);
216  argumentReport residue_overlap_argument (const int* argc, char* argv[], int* currentArg);
217  argumentReport sequence_overlap_argument (const int* argc, char* argv[], int* currentArg);
218  argumentReport seqs_select_argument (const int* argc, char* argv[], int* currentArg);
219  argumentReport max_identity_argument (const int* argc, char* argv[], int* currentArg);
220  argumentReport clusters_argument (const int* argc, char* argv[], int* currentArg);
221  argumentReport terminal_only_argument (const int* argc, char* argv[], int* currentArg);
222  argumentReport window_argument (const int* argc, char* argv[], int* currentArg);
223  argumentReport gap_window_argument (const int* argc, char* argv[], int* currentArg);
224  argumentReport similarity_window_argument (const int* argc, char* argv[], int* currentArg);
225  argumentReport consistency_window_argument (const int* argc, char* argv[], int* currentArg);
226  argumentReport block_argument (const int* argc, char* argv[], int* currentArg);
227  argumentReport stats_arguments (const int* argc, char* argv[], int* currentArg);
228  argumentReport complementary_argument (const int* argc, char* argv[], int* currentArg);
229  argumentReport col_numbering_argument (const int* argc, char* argv[], int* currentArg);
230  argumentReport split_by_stop_codon_argument (const int* argc, char* argv[], int* currentArg);
231  argumentReport ignore_stop_codon_argument (const int* argc, char* argv[], int* currentArg);
232  argumentReport ignore_filter_argument (const int* argc, char* argv[], int* currentArg);
233  argumentReport min_quality_argument (const int* argc, char* argv[], int* currentArg);
234  argumentReport min_coverage_argument (const int* argc, char* argv[], int* currentArg);
235  argumentReport remove_duplicates_argument (const int* argc, char* argv[], int* currentArg);
236 
237 public:
238  bool processArguments(char* argv[]);
239 private: // Process Arguments Methods
253 
254  bool check_arguments_needs(char* argv[]);
255 
257 
258  bool check_force_selection();
260  bool check_file_aligned();
263  bool check_col_numbering();
265  bool check_output_relevance();
267  bool check_block_size();
268  bool check_backtranslations();
273  void check_output_format();
275 
276 public:
277  int perform();
278  void delete_variables();
279 
280 private: // General, private, methods
281  int innerPerform();
282  bool performCompareset();
283 
284  void output_reports();
285  void save_alignment();
286 
287  void svg_stats_out();
288  void print_statistics();
290  void clean_alignment();
291  void postprocess_alignment();
292 
293  void set_window_size();
294 
295  // NON COMPLEX OPTIONS
296  void menu();
297  void examples();
298 
299 
300  void CleanSequences();
301  void CleanResiduesAuto();
302  void CleanResiduesNonAuto();
303 
304 
305 private:
307 public:
309 
310 
311 public:
312 
313  // Used for testing to allow exposing private methods and variables
314  // Each implementation of access_by contains different methods and variables.
315  // This structs can access all private methods of trimAlManager
316  //
317  // Original implementation: https://softwareengineering.stackexchange.com/a/257721
318  template <uint T> struct access_by;
319  template <uint T> friend struct access_by;
320 
321 // Defines to simplify the creation and usage of access_by structs
322 
323 // Takes one argument, a const char * that will be used as UUID
324 // This const char * is converted to a hash using a hasher (hasher.h) in compile time
325 // Then, the struct must be defined. In the method definitions of the struct,
326 // we can access the private methods and variables of trimAlManager
327 #define trimAlManagerPrivateExposerCreator(TOKEN) template <> struct trimAlManager::access_by< TOKEN""_hash>
328 
329 // Allows the easy access to access_by structs.
330 // This structs can access all private methods of trimAlManager
331 // It allows to create an instance of the struct: trimAlManagerPrivateExposerCaller(X)().call()
332 // It also allows to access the struct statically: trimAlManagerPrivateExposerCaller(X)::call()
333 #define trimAlManagerPrivateExposerCaller(TOKEN) trimAlManager::access_by<TOKEN""_hash>
334 
335 };
336 
337 
338 
339 
340 #endif //TRIMAL_TRIMALARGUMENTPARSER_H
float conservationThreshold
Similarity Threshold to use while trimming.
bool check_stats_incompatibilities()
Method to check statistics incompatibilities.
argumentReport html_out_argument(const int *argc, char *argv[], int *currentArg)
Method to parse the html output file.
argumentReport split_by_stop_codon_argument(const int *argc, char *argv[], int *currentArg)
Method to parse split by stop codon argument.
argumentReport max_identity_argument(const int *argc, char *argv[], int *currentArg)
Method to parse the max identity argument.
bool check_residue_and_sequence_overlap()
Method to check if both of them (residue overlap and sequence overlap) have been defined by the user ...
argumentReport select_cols_argument(const int *argc, char *argv[], int *currentArg)
Method to parse the select columns argument.
bool terminalOnly
Flag to use the Terminal Only option.
Definition: trimalManager.h:93
bool selectSeqs
Flag to select sequences manually from the alignment.
Definition: trimalManager.h:90
Class to handle Format Handlers . It serves as a proxy to the handlers, so the code outside the Form...
Definition: FormatManager.h:64
bool check_and_prepare_coding_sequence()
Method to check and prepare the coding sequence.
float gapThreshold
Gap Threshold to use while trimming.
argumentReport ignore_filter_argument(const int *argc, char *argv[], int *currentArg)
char * compareset
Pointer to the argument that contains the compareset file.
bool check_arguments_incompatibilities()
Method to check argument incompatibilities. Take in mind that an incompatibility is between two argum...
bool check_file_aligned()
Method to check if an alignment needs to be aligned depending on the methods that have been asked to ...
argumentReport strict_plus_argument(const int *argc, char *argv[], int *currentArg)
Method to parse the strictplus argument.
void postprocess_alignment()
int automatedMethodCount
Integer counter of the automatic methods. If the counter is bigger than 0, we are using an automati...
void verbosity_argument(const int *argc, char *argv[])
Method to parse the verbosity argument. This check is done before any other check. This is due to trimAl not performing any action if any help argument has been provided. .
argumentReport keep_seqs_argument(const int *argc, char *argv[], int *currentArg)
Method to parse the keepSeqs argument.
float similarityThreshold
Similarity Threshold to use while trimming.
void delete_variables()
Method to delete all variables that need to be deallocated.
argumentReport out_format_arguments(const int *argc, char *argv[], int *currentArg)
Method to parse the output formats as -fasta -clustal or -formats [...].
void set_window_size()
Method to set correct window sizes depending on values for them given by the user.
argumentReport similarity_threshold_argument(const int *argc, char *argv[], int *currentArg)
Method to parse the similarity threshold argument.
argumentReport window_argument(const int *argc, char *argv[], int *currentArg)
Method to parse the Window argument.
bool processArguments(char *argv[])
Method to process the information obtained by trimAlManager::parseArguments It checks for argument in...
bool splitByStopCodon
Flag to use the SplitByCodonStop option.
Definition: trimalManager.h:92
bool check_inFile_incompatibilities()
Method to check the inFile argument incompatibilities.
bool strict
Flag to use the strict trimming method.
Definition: trimalManager.h:79
argumentReport automated1_argument(const int *argc, char *argv[], int *currentArg)
Method to parse the automated1 argument.
std::string * sequencesNames
Temporal variable to use in backtranslation option to compare with infile.
Class to calculate the consistency between several MSA containing the same sequences, differently aligned. Using this statistics, the class is able to select the most consistent alignment between all alignments provided. It is possible to forcefully select an alignment, but to calculate the statistics for latter use. After selecting an alignment (most consistent or manually selected), it is possible to use this statistic to trim the alignment, removing columns that are not consistent enough with the other alignments.
Definition: Consistency.h:58
char * backtransFile
File to load the alignment containing the backtranslation information.
argumentReport remove_duplicates_argument(const int *argc, char *argv[], int *currentArg)
bool check_output_relevance()
Method to check if, being asked to give an HTML report, it makes logic, depending on the functionalit...
bool check_outputs_coincidence()
Method to check if both output patterns (alignment output and html report output) are the same...
argumentReport back_trans_argument(const int *argc, char *argv[], int *currentArg)
Method to parse the backtranslation argument.
std::ifstream compare
Temporal variable to open files in trimAlManager::check_multiple_files_comparison function...
bool sgt
Flag to show the Accumulated Gaps Scores.
Definition: trimalManager.h:83
bool sft
Flag to show the Accumulated Sum of Pairs.
Definition: trimalManager.h:87
float residuesOverlap
Residues Overlap to use while trimming.
char * outfile
File to output the trimmed alignment. This can contain tags which will be traduced to some variables:...
int perform()
Method to perform the analysis if all checks have passed.
argumentReport col_numbering_argument(const int *argc, char *argv[], int *currentArg)
Method to parse the column numbering argument.
int blockSize
Block Size to use while trimming.
argumentReport help_arguments(const int *argc, char **argv, int *currentArg)
Method to parse information arguments as help and menu.
argumentReport seqs_select_argument(const int *argc, char *argv[], int *currentArg)
Method to parse que select sequences argument.
bool automated1
Flag to use the automated1 trimming method.
Definition: trimalManager.h:81
bool getComplementary
Flag to return the complementary alignment.
Definition: trimalManager.h:73
bool check_backtranslations()
Method to check backtranslation needs.
Namespace that encapsulates all logic referent to Load, Save and Recognize Multiple Sequence Alignm...
Definition: FormatManager.h:52
bool check_automated_manual_incompatibilities()
Check if only one method, either automatic or manual has been asked.
argumentReport no_all_gaps_argument(const int *argc, char *argv[], int *currentArg)
Method to parse the noallgaps argument.
argumentReport consistency_window_argument(const int *argc, char *argv[], int *currentArg)
Method to parse the Consistency Window argument.
argumentReport compareset_argument(const int *argc, char *argv[], int *currentArg)
Method to parse the comparset argument.
int similarityWindow
Similarity Window to use while trimming.
int * delSequences
Vector that contains the sequence indexes the user specified to be removed.
Class containing an alignment This class stores the alignment sequences with it&#39;s names...
Definition: Alignment.h:49
argumentReport matrix_argument(const int *argc, char *argv[], int *currentArg)
Method to parse the custom matrix argument.
argumentReport residue_overlap_argument(const int *argc, char *argv[], int *currentArg)
Method to parse the residue overlap argument.
bool noallgaps
Flag to use the noallgaps option.
Definition: trimalManager.h:77
argumentReport ignore_stop_codon_argument(const int *argc, char *argv[], int *currentArg)
Method to parse ignore by stop codon argument.
argumentReport gap_window_argument(const int *argc, char *argv[], int *currentArg)
Method to parse the Gap Window argument.
bool getComplementarySeq
Definition: trimalManager.h:74
Class that contains information of similarity matrices. These are used to calculate the similarity be...
bool check_vcf_incompatibility()
argumentReport svg_out_argument(const int *argc, char *argv[], int *currentArg)
Method to parse the svg output file.
argumentReport similarity_window_argument(const int *argc, char *argv[], int *currentArg)
Method to parse the Similarity Window argument.
argumentReport sequence_overlap_argument(const int *argc, char *argv[], int *currentArg)
Method to parse the sequence overlap argument.
void print_statistics()
Method to print statistics requested.
argumentReport in_argument(const int *argc, char *argv[], int *currentArg)
Method to parse the input file argument.
bool appearErrors
Flag to trace errors.
Definition: trimalManager.h:71
bool check_force_selection()
Method to check dependency of force select argument.
argumentReport complementary_argument(const int *argc, char *argv[], int *currentArg)
Method to parse the complementary argument.
void CleanResiduesNonAuto()
Method to trim the alignment using non automatic methods:
bool check_codon_behaviour_incompatibility()
Method to check incompatibilities related to how the algorithm should treat stop codons.
char line[256]
Temporal variable to read lines from a file.
int alternative_matrix
Int that represents which alternative matrix to use, where &#39;-1&#39; means no alternative matrix...
int gapAbsoluteThreshold
bool soverlap
Flag to show overlap scores in the alignment.
Definition: trimalManager.h:89
std::vector< std::string > oformats
Formats names we are going to output our trimmed alignment.
Alignment * singleAlig
Alignment obtained by making modifications to singleAlig or backtranslationAlig.
Namespace containing all classes related to statistics handling.
Definition: Similarity.h:44
argumentReport terminal_only_argument(const int *argc, char *argv[], int *currentArg)
Method to parse the terminal only argument.
argumentReport vcf_argument(const int *argc, char *argv[], int *currentArg)
Method to parse vcf argument.
argumentReport min_quality_argument(const int *argc, char *argv[], int *currentArg)
argumentReport out_argument(const int *argc, char *argv[], int *currentArg)
Method to parse the output file pattern.
void clean_alignment()
Core Method of the program. This is where almost all cleaning methods are called from.
int windowSize
Window Size to use while trimming.
FormatHandling::FormatManager & getFormatManager()
bool check_arguments_needs(char *argv[])
Method that checks dependencies between arguments. Take in mind that dependencies may be between mult...
bool keepSeqs
Flag to keep sequences in the alignment.
Definition: trimalManager.h:94
bool check_thresholds_incompatibilities()
Method to check incompatibilities with manual thresholds.
statistics::Consistency * CS
float sequenceOverlap
Sequence Overlap to use while trimming.
void check_output_format()
Method to check if an output format has been given. If no output format has been given, it will use the inFile format.
bool check_windows_incompatibilities()
Method to check windows incompatibilities.
argumentReport timetracker_out_argument(const int *argc, char *argv[], int *currentArg)
Method to parse InternalBenchmarker output argument. Need to be checked before any other argument...
int consistencyWindow
Consistency Window to use while trimming.
char * htmlOutFile
File to output the html report.
Alignment * tempAlig
Temporal alignment that allows us to make some changes to trimAlManager::singleAlig, destroy it and set trimAlManager::singleAlig to this.
void menu()
Method to show the menu of the program.
bool sgc
Flag to show the Gaps Scores per column.
Definition: trimalManager.h:82
std::vector< std::string > * vcfs
Definition: trimalManager.h:68
friend struct access_by
char * svgStatsOutFile
File to output the svg graph showing the stats along the alignment.
void examples()
Method to show the examples information about the program.
FormatHandling::FormatManager formatManager
Read Write Machine that allows to manage formats easily.
int clusters
Number of most representative sequences we are going to use.
statistics::similarityMatrix * similMatrix
Temporal Similarity Matrix.
argumentReport gap_threshold_argument(const int *argc, char *argv[], int *currentArg)
Method to parse the gap threshold argument.
bool check_coding_sequences_type()
Method to check the type of sequences present in the backtranslationAlig.
int * sequencesLengths
Vector that contains the sequences lengths of each sequence in the backtranslation option...
bool check_backtranslation_infile_names_correspondence()
Method to check if the origAlig and backtranslationAlig are compatible in names to make the backtrans...
argumentReport clusters_argument(const int *argc, char *argv[], int *currentArg)
Method to parse the clusters argument.
bool gappyout
Flag to use the gappyout trimming method.
Definition: trimalManager.h:78
char * forceFile
Forcefile to use in combination with multiple files comparison, to compare them against this...
argumentReport consistency_threshold_argument(const int *argc, char *argv[], int *currentArg)
Method to parse the consistency threshold argument.
int gapWindow
Gap Window Size to use while trimming.
bool check_absolute_gap_theshold()
bool sfc
Flag to show the Sum of Pairs scores per column.
Definition: trimalManager.h:86
bool check_clusters_incompatibilities()
Method to check clusters incompatibilities.
bool nogaps
Flag to use the nogaps option.
Definition: trimalManager.h:76
argumentReport gappy_out_argument(const int *argc, char *argv[], int *currentArg)
Method to parse the gappyout argument.
size_t argumentLength
Temp variable to use when there is a need to copy an argument to a char array.
int stats
Stats Flag to use in reporting. For each stat requested, this flag is decreased by one...
char c
Temporal char variable.
void check_compareset_window_argument()
Method to check and warn if windowsize and compareset has been given.
bool columnNumbering
Flag to return column numbering in report.
Definition: trimalManager.h:75
void CleanResiduesAuto()
Method to trim the alignment using automatic or semi-automatic methods:
argumentReport stats_arguments(const int *argc, char *argv[], int *currentArg)
Method to parse stats arguments.
argumentReport svg_stats_argument(const int *argc, char *argv[], int *currentArg)
Method to parse the svg stats output file.
void CleanSequences()
Method to trim or reduce the number of sequences in an alignment. It performs one or none of the foll...
bool check_input_file_with_coding_sequences_argument()
Method to check dependency between custom coding sequence file and infile arguments.
char * matrixFile
File that contains a user defined similarity matrix.
bool performCompareset()
Method to check if multiple files comparison has been set correctly. It also perform some calculation...
bool check_similarity_matrix()
Method to check if given a similarity matrix, there is a need to use it.
argumentReport keep_header_argument(const int *argc, char *argv[], int *currentArg)
Method to parse the keepHeader argument.
bool sident
Flag to show identity scores in the alignment.
Definition: trimalManager.h:88
Alignment * backtranslationAlig
Alignment used on the backtranslation functionality.
bool check_col_numbering()
Method to check if column numbering makes sense based on the functionality asked. ...
bool check_combinations_among_thresholds_incompatibility()
As some thresholds are incompatible between them, we check their incompatibilities.
Alignment * origAlig
Main alignment used/loaded on trimAl in combination with singleAlig.
argumentReport force_select_argument(const int *argc, char *argv[], int *currentArg)
Method to parse the force select argument.
int i
Argument Iterator Variable.
bool check_output_file_with_statistics()
Method to check if there is an output file to allow statistics to be given on terminal.
argumentReport strict_argument(const int *argc, char *argv[], int *currentArg)
Method to parse the strict argument.
bool check_select_cols_and_seqs_incompatibilities()
Method to check incompatibilities with select cols and select seqs arguments.
bool selectCols
Flag to select columns manually from the alignment.
Definition: trimalManager.h:91
argumentReport block_argument(const int *argc, char *argv[], int *currentArg)
Method to parse the Block Size argument.
float consistencyThreshold
Consistency Threshold to use while trimming.
bool check_max_identity_incompatibilities()
Method to check max identity incompatibilities.
argumentReport no_gaps_argument(const int *argc, char *argv[], int *currentArg)
Method to parse the nogaps argument.
char ** filesToCompare
Vector containing the files to compare in trimAlManager::check_multiple_files_comparison function...
bool removeDuplicates
Definition: trimalManager.h:97
bool ignoreStopCodon
Flag to use the Ignore Stop Codon option.
Definition: trimalManager.h:95
bool ssc
Flag to show the Similarity Scores per column.
Definition: trimalManager.h:84
argumentReport conservation_threshold_argument(const int *argc, char *argv[], int *currentArg)
Method to parse the similarity threshold argument.
argumentReport min_coverage_argument(const int *argc, char *argv[], int *currentArg)
char * svgOutFile
File to output the svg report.
float maxIdentity
Max Identity to use while trimming.
bool check_automated_methods_incompatibilities()
Method to check incompatibilities related to automated trimming methods.
void check_thresholds_dependencies()
Main class of trimAl. It is strutured to work with 3 calls:
Definition: trimalManager.h:62
int * delColumns
Vector that contains the column indexes the user specified to be removed.
char * infile
File to load the alignment when only one alignment has trimming interest.
int parseArguments(int argc, char **argv)
Method to parse arguments into usable structure in trimal.
Alignment ** compareAlignmentsArray
Alignment Vector used on trimAlManager::check_multiple_files_comparison to compare them...
bool sst
Flag to show the Accumulated Similarity Scores.
Definition: trimalManager.h:85
bool strictplus
Flag to use the strictplus trimming method.
Definition: trimalManager.h:80
bool create_or_use_similarity_matrix()
Method to create, load and use a similarity matrix, depending on alignment residue nature...
bool check_block_size()
Method to check if the block size is bigger than allowed depending on size of alignment.