From 686a4ee183a8b52739fb5a3b3392a6c5302d4f13 Mon Sep 17 00:00:00 2001 From: edolzhenko Date: Thu, 25 Jan 2018 14:12:34 -0800 Subject: [PATCH] release-2.5.4: Exit normally on help/version request --- .clang-format | 1 + common/parameters.cc | 8 ++++---- common/parameters.h | 16 ++++++++++------ src/expansion_hunter.cc | 30 +++++++++++++++--------------- 4 files changed, 30 insertions(+), 25 deletions(-) create mode 100644 .clang-format diff --git a/.clang-format b/.clang-format new file mode 100644 index 0000000..f6cb8ad --- /dev/null +++ b/.clang-format @@ -0,0 +1 @@ +BasedOnStyle: Google diff --git a/common/parameters.cc b/common/parameters.cc index 0634a86..8e580ed 100644 --- a/common/parameters.cc +++ b/common/parameters.cc @@ -36,12 +36,12 @@ #include #include -using boost::lexical_cast; -using boost::format; using boost::assign::list_of; -using std::string; +using boost::format; +using boost::lexical_cast; using std::cerr; using std::endl; +using std::string; using std::vector; namespace po = boost::program_options; @@ -119,7 +119,7 @@ bool Parameters::Load(int argc, char **argv) { if (argc == 1) { std::cerr << usage << std::endl; - return false; + throw std::invalid_argument(""); } po::variables_map arg_map; diff --git a/common/parameters.h b/common/parameters.h index ac4f4b6..3484693 100644 --- a/common/parameters.h +++ b/common/parameters.h @@ -31,25 +31,29 @@ #include "genotyping/short_repeat_genotyper.h" class Outputs { -public: + public: Outputs(const std::string vcf_path, const std::string json_path, const std::string log_path); std::ostream &vcf() { return vcf_; } std::ostream &json() { return json_; } std::ostream &log() { return log_; } -private: + private: std::ofstream vcf_; std::ofstream json_; std::ofstream log_; }; class Parameters { -public: + public: const double kSmallestPossibleDepth = 5.0; Parameters() - : region_extension_len_(1000), min_wp_(0.90), min_baseq_(20), - min_anchor_mapq_(60), skip_unaligned_(false), depth_(0.0), + : region_extension_len_(1000), + min_wp_(0.90), + min_baseq_(20), + min_anchor_mapq_(60), + skip_unaligned_(false), + depth_(0.0), sex_(Sex::kFemale) {} bool Load(int argc, char **argv); std::string bam_path() const { return bam_path_; } @@ -73,7 +77,7 @@ class Parameters { bool depth_is_set() const { return depth_ >= kSmallestPossibleDepth; } Sex sex() const { return sex_; } -private: + private: std::string bam_path_; std::string genome_path_; // Maximum distance from a region to search for relevant reads. diff --git a/src/expansion_hunter.cc b/src/expansion_hunter.cc index 3a528d2..eaa16dc 100644 --- a/src/expansion_hunter.cc +++ b/src/expansion_hunter.cc @@ -51,14 +51,14 @@ #include "purity/purity.h" #include "rep_align/rep_align.h" -using std::unordered_set; -using std::map; -using std::vector; -using std::string; +using std::array; using std::cerr; using std::endl; +using std::map; using std::pair; -using std::array; +using std::string; +using std::unordered_set; +using std::vector; // Returns the length of the first read in a BAM file. size_t CalcReadLen(const string &bam_path) { @@ -385,14 +385,12 @@ void EstimateRepeatSizes(const Parameters ¶meters, haplotype_candidates.push_back( RepeatAllele(read_group.size, read_group.num_supporting_reads, ReadType::kSpanning)); - } else if (read_group.read_type == ReadType::kInrepeat) { flanking_size_counts[num_units_in_read] += read_group.num_supporting_reads; haplotype_candidates.push_back( RepeatAllele(num_units_in_read, read_group.num_supporting_reads, ReadType::kInrepeat)); - } else if (read_group.read_type == ReadType::kFlanking) { haplotype_candidates.push_back( RepeatAllele(read_group.size, read_group.num_supporting_reads, @@ -400,7 +398,6 @@ void EstimateRepeatSizes(const Parameters ¶meters, for (const auto &align : read_group.rep_aligns) { flanking_size_counts[align.size] += 1; } - } else { throw std::logic_error("Do not know how to deal with " + kReadTypeToString.at(read_group.read_type) + @@ -427,9 +424,10 @@ void EstimateRepeatSizes(const Parameters ¶meters, cerr << "]" << endl; if (haplotype_candidates.empty()) { - cerr << TimeStamp() - << ",\t[Skipping this region because no informative reads were found]" - << endl; + cerr + << TimeStamp() + << ",\t[Skipping this region because no informative reads were found]" + << endl; continue; } @@ -468,12 +466,13 @@ int main(int argc, char *argv[]) { cerr << kProgramVersion << endl; if (!parameters.Load(argc, argv)) { - return 1; + return 0; } - cerr << TimeStamp() << ",[Starting Logging for " << parameters.sample_name() << "]" << endl; + cerr << TimeStamp() << ",[Starting Logging for " << parameters.sample_name() + << "]" << endl; - Outputs outputs(parameters.vcf_path(), parameters.json_path(), + Outputs outputs(parameters.vcf_path(), parameters.json_path(), parameters.log_path()); map repeat_specs; @@ -498,7 +497,8 @@ int main(int argc, char *argv[]) { parameters.set_depth(depth); } - cerr << TimeStamp() << ",[Read length: " << parameters.read_len() << "]" << endl; + cerr << TimeStamp() << ",[Read length: " << parameters.read_len() << "]" + << endl; cerr << TimeStamp() << ",[Depth: " << parameters.depth() << "]" << endl; if (parameters.depth() < parameters.kSmallestPossibleDepth) {