You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This issue has been raised in hyunminkang/vt-topmed#1, but it seems that vt-topmed is an archive repo.
I found a problem in prob2pl from log_tool.cpp:
uint32_t LogTool::prob2pl(double x)
{
if (x>1 || x<0)
{
std::cerr << "[e] x is not a probability\n";
exit(1);
}
return (uint32_t) (round(-10*std::log10(x)));
}
If x is 0.0, round(-10*std::log10(x)) is inf as expected, but the subsequent conversion to uint32_t make the returned value 0, which is clearly wrong.
This could affect genotype calling. In my case (genotype calling of HG002,HG003,HG004 WES samples from Genome In A Bottle), this results in homozygous ref genotype erroneously called as homozygous alt. To cite an example, see
This issue has been raised in hyunminkang/vt-topmed#1, but it seems that
vt-topmed
is an archive repo.I found a problem in prob2pl from log_tool.cpp:
If
x
is0.0
,round(-10*std::log10(x))
isinf
as expected, but the subsequent conversion touint32_t
make the returned value0
, which is clearly wrong.This could affect genotype calling. In my case (genotype calling of HG002,HG003,HG004 WES samples from Genome In A Bottle), this results in homozygous ref genotype erroneously called as homozygous alt. To cite an example, see
where you can see the HG002's PL being
0,255,0
, which looks impossible.The text was updated successfully, but these errors were encountered: