From dacbe6ee7c3343f13d61d646df4484a8c7df924c Mon Sep 17 00:00:00 2001 From: Zilong-Li Date: Tue, 5 Sep 2023 18:01:19 +0200 Subject: [PATCH] fix vcf2beagle --- tools/vcf2beagle.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/vcf2beagle.cpp b/tools/vcf2beagle.cpp index 1e8eef3..2f00ffc 100644 --- a/tools/vcf2beagle.cpp +++ b/tools/vcf2beagle.cpp @@ -55,13 +55,13 @@ int main(int argc, char * argv[]) { var.getFORMAT("PL", pl); // try get PL values out.resize(pl.size()); - for(size_t i = 0; i < pl.size(); i++) out[i] = std::pow(10, -pl[i] / 10); + for(size_t i = 0; i < pl.size(); i++) out[i] = std::pow(10, -(double)pl[i] / 10.0); } else if(tag == "GL") { var.getFORMAT("GL", gl); // try get GL values out.resize(gl.size()); - for(size_t i = 0; i < gl.size(); i++) out[i] = std::pow(10, gl[i]); + for(size_t i = 0; i < gl.size(); i++) out[i] = std::pow(10, (double)gl[i]); } else { @@ -69,7 +69,7 @@ int main(int argc, char * argv[]) } // normalize it line = var.CHROM() + "_" + to_string(var.POS()) + "\t" + var.REF() + "\t" + var.ALT(); - for(int i = 0; i < nsamples; i++) + for(int i = 0; i < 3 * nsamples; i+=3) { double s = out[i] + out[i + 1] + out[i + 2]; out[i] /= s;