summaryrefslogtreecommitdiff
path: root/biology/haplohseq/files/patch-src_FreqPhase.cpp
blob: 9bab76aee2f55e5e8abb577cdf16a35647589a0e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
--- src/FreqPhase.cpp.orig	2019-11-13 14:19:06 UTC
+++ src/FreqPhase.cpp
@@ -5,6 +5,7 @@
  * Email:  sanlucas@gmail.com
  */
 
+#include <sysexits.h>
 #include "FreqPhase.h"
 
 namespace haplohseq {
@@ -180,10 +181,17 @@ double FreqPhase::meanValue(const std::v
 double FreqPhase::medianValue(const std::vector<double>& values) {
 	double median;
 	size_t size = values.size();
+
+	// We can probably detect this condition earlier while loading the VCF
+	if ( size == 0 ) {
+		std::cerr << "FreqPhase::medianValue(): values vector is empty." << std::endl;
+		std::cerr << "Make sure your VCF has all of GT:AD:DP in the FORMAT column." << std::endl;
+		exit(EX_DATAERR);
+	}
 	std::vector<double> tempFreqs(values);
 	sort(tempFreqs.begin(), tempFreqs.end());
 
-	if (size  % 2 == 0) {
+	if (size % 2 == 0) {
 		median = (tempFreqs[size / 2 - 1] + tempFreqs[size / 2]) / 2;
 	}
 	else {