From 2ede7f4d9ddbd695da45a03e3c9e41d1425ac10a Mon Sep 17 00:00:00 2001 From: Szpiech Date: Mon, 15 Jul 2024 19:25:22 -0400 Subject: [PATCH] v2.0.3 --- bin/macos-arm/selscan-2.0.3 | Bin 328344 -> 328344 bytes src/selscan-maintools.cpp | 6 ++++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/bin/macos-arm/selscan-2.0.3 b/bin/macos-arm/selscan-2.0.3 index 80ffe97e8758627cde1ae7f0af1f3e07bd55d934..d3515b444d1df4e2a3f1c229f3bd8a3ee4ff794f 100755 GIT binary patch delta 22923 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 diff --git a/src/selscan-maintools.cpp b/src/selscan-maintools.cpp index ddc8dba..767505a 100644 --- a/src/selscan-maintools.cpp +++ b/src/selscan-maintools.cpp @@ -1338,14 +1338,14 @@ void calc_ihs(void *order) //directly calculate ihs, iteratively //Trapezoid rule - notDerived_ihh += 0.5 * scale * (geneticPos[currentLocus + 1] - geneticPos[currentLocus]) * (current_notDerived_ehh + previous_notDerived_ehh); + notDerived_ihh += 0.5 * scale * (geneticPos[currentLocus] - geneticPos[currentLocus - 1]) * (current_notDerived_ehh + previous_notDerived_ehh); previous_notDerived_ehh = current_notDerived_ehh; current_notAncestral_ehh = (*calc)(notAncestralHapCount, numDerived + numHet, ALT); //directly calculate ihs, iteratively //Trapezoid rule - notAncestral_ihh += 0.5 * scale * (geneticPos[currentLocus + 1] - geneticPos[currentLocus]) * (current_notAncestral_ehh + previous_notAncestral_ehh); + notAncestral_ihh += 0.5 * scale * (geneticPos[currentLocus] - geneticPos[currentLocus - 1]) * (current_notAncestral_ehh + previous_notAncestral_ehh); previous_notAncestral_ehh = current_notAncestral_ehh; } @@ -1377,9 +1377,11 @@ void calc_ihs(void *order) ihh1[locus] = log10(derived_ihh / notDerived_ihh); ihh2[locus] = log10(ancestral_ihh / notAncestral_ihh); ihs[locus] = (ihh1[locus] > ihh2[locus]) ? ihh1[locus] : 0-ihh2[locus]; + /* if(isnan(ihs[locus])){ cerr << "NAN: " << derived_ihh << " " << notDerived_ihh << " " << ancestral_ihh << " " << notAncestral_ihh << endl; } + */ } else{ ihh1[locus] = derived_ihh;