// -*- c++ -*- /*****************************************************************************/ // Copyright (c) Illumina 2008 // Author: Richard Shaw // // This software is covered by the "Illumina Genome Analyzer Software // License Agreement" and the "Illumina Source Code License Agreement", // and certain third party copyright/licenses, and any user of this // source file is bound by the terms therein (see accompanying files // Illumina_Genome_Analyzer_Software_License_Agreement.pdf and // Illumina_Source_Code_License_Agreement.pdf and third party // copyright/license notices). /*****************************************************************************/ #ifndef PAS_OPTIONS_H #define PAS_OPTIONS_H /*****************************************************************************/ #include #include #include "statistics/Align_Data_Factory.h" #include "common/CommandLine.hh" #include "common/File_Buffer.h" /*****************************************************************************/ namespace CommandLine = casava::common; class PAS_Options : public CommandLine::Options { public: PAS_Options(); ~PAS_Options(); std::string my_input_compr_name; File_Buffer::Compression_Type my_input_compr; typedef std::list Path_Str_List; typedef Path_Str_List::const_iterator Path_Str_List_CIter; Path_Str_List my_input_path_str_list; std::vector my_read_list; std::string my_output_dir_str; std::string my_output_qualifier_str; std::string my_tile_list_file_path_str; std::string my_stats_file_prefix; std::string my_sample_name; std::string my_barcode; size_t max_patterns_to_store; private: void add_read(const std::string &read); virtual int getOptions(int argc, char* const argv[]) throw (CommandLine::UnknownOptionException, CommandLine::MissingOptionException, CommandLine::InvalidArgumentException); virtual void processOptions() throw (CommandLine::InvalidArgumentException); virtual void getParameters(int argc, char* const argv[]) throw (CommandLine::InvalidArgumentException); virtual int usage(int argc, char* const argv[], const std::string& message = ""); }; /*****************************************************************************/ #endif // ! PAS_OPTIONS_H /*****************************************************************************/