[GenABEL-dev] [ProbABEL] Different results when using fv and regular input on 64 bit Linux

L.C. Karssen l.karssen at erasmusmc.nl
Tue Mar 20 00:05:08 CET 2012


Dear list,

While diagnosing the bug with the example data, I found out that the
inverse variance matrix that was passed from one function to another
showed up slightly distorted in that second function (because of a
pointer problem, it turned out). Of each row in the invvar matrix,
approximately the last five or seven entries were different from the
original (as it was passed into the function).

I have ran a test of chromosomes 1 and 19 of an old GWAS and found no
difference in output between my fixed version of ProbABEL and the
version I compiled from SVN around New Year.

This was better than I expected, apparently the bug did not result in
false GWAS output. My guess is that this is because of the large number
of SNPs involved. In the example set we have only 5 SNPs and ~500
people. Assuming that the number of elements that got distorted when
passed to the regression function is approximately the same, the make up
a much smaller fraction of the total number of SNPs in an imputed
chromosome. Therefore the fractional difference in the beta and se_beta
is much smaller and probably less than the six or seven digits in the
output.

What do you guys say, does this make sense as an explanation?
It does seem a bit weird to assume that most of the elements of the
invvar matrix were passed to the function without problem, especially
with so many elements...


As an aside, I've noticed that the fixed version takes longer. For
chromsome 1 with 193555 SNPs the new version took 25077.610 seconds,
whereas the old version took 21329.850. That's a difference of ~ 1 hour
(on an Intel(R) Xeon(R) CPU X5680  @ 3.33GHz). I guess that is because
now the matrix is passed by value instead of by reference.


Lennart.

On 19-03-12 12:51, L.C. Karssen wrote:
> Dear list,
> 
> Over the weekend I spent some more time looking into this problem. I've
> opened bug #1889 for it:
> https://r-forge.r-project.org/tracker/?func=detail&atid=2058&aid=1889&group_id=505
> 
> It turns out to be a problem with passing the inverse variance matrix to
> the regression functions. As more often the case in C/C++ this was
> related to pointers ;-).
> 
> I think I've fixed the problem in SVN r.852. The test script now passes
> without problems on 64bit platforms.
> 
> I'd really appreciate it if others could confirm that the new code also
> works on their machines (32 or 64bit). If someone has some time on their
> hands it may be good to compare the output of the 5 SNP/500 people
> example dataset with regression done in another package (R?).
> 
> 
> 
> Thanks,
> 
> Lennart.
> 
> 
> On 13-03-12 22:41, L.C. Karssen wrote:
>> Dear list,
>>
>> A quick progress report on this bug: I just found two older versions of
>> ProbABEL (v0.1-8 and v0.1-9b) in one of my directories. Both were
>> compiled under CentOS 64 bit. Both fail the example_mms.sh script, so
>> I'm pretty confident now that this bug was not introduced recently.
>>
>> Strangly enough the values of the results differ. For example, this is
>> the output of the same check as in my first post:
>> < rs735579,A,B,0.5847,0.5847,0.5847,0.5847,491,0.534623,1.63067,0.488552
>> < rs9088604,A,B,0.5847,0.5847,0.5847,0.5847,497,0.435614,-553.621,1.12808
>> < rs1413801,A,B,0.5847,0.5847,0.5847,0.5847,492,0.311992,-6.1979,0.576774
>> < rs4911638,A,B,0.5847,0.5847,0.5847,0.5847,496,0.150202,75.6816,0.592895
>> ---
>>> rs735579,A,B,0.5847,0.5847,0.5847,0.5847,491,0.534623,1.64017,0.493389
>>> rs9088604,A,B,0.5847,0.5847,0.5847,0.5847,497,0.435614,264.642,0.778273
>>> rs1413801,A,B,0.5847,0.5847,0.5847,0.5847,492,0.311992,-6.19667,0.576738
>>> rs4911638,A,B,0.5847,0.5847,0.5847,0.5847,496,0.150202,75.9757,0.592967
>>
>> In this case the output of the filevector run does not result in zeroes
>> in the second line (although the betas and se_betas still differ between
>> filevector and non-filevector files).
>>
>> I also found a compiled version of ProbABEL 0.1-3, but that version is
>> from the pre-filevector era. Also I noticed that the dose file was
>> different from the one in 0.1-9b, so the results are not comparable.
>>
>>
>> Lennart.
>>
>> On 06-03-12 19:51, Yury Aulchenko wrote:
>>> I get apparently the same using Debian 64 bit running under VirtualBox
>>> in Mac OS (results attached)
>>>
>>> I understand that Debian/Ubuntu are related so probably this can not be
>>> considered totally independent check. Or am I wrong?
>>>
>>> Yurii
>>>
>>>
>>>
>>> -------------------------------------------------------
>>> Yurii Aulchenko, PhD, Dr. Habil.
>>> Independent researcher and consultant
>>> yurii [dot] aulchenko [at] gmail [dot] com
>>>
>>> On Mar 4, 2012, at 10:07 PM, L.C. Karssen wrote:
>>>
>>>> Dear all,
>>>>
>>>> While preparing (yet again) to make a release of ProbABEL I ran into the
>>>> following problem: running the test suite (make check) on my 64 bit
>>>> Ubuntu 11.10 machine results in different output for the --mmscore tests
>>>> (examples/example_mms.sh), the others (I haven't tried the cox test yet
>>>> as it takes several hours) pass.
>>>>
>>>> See the attached file for the complete output but as you can see in the
>>>> following few lines of diff output, the difference is sometimes a few
>>>> decimals, but in another line I simply get zeroes for beta and se_beta
>>>> in the filevector output:
>>>>
>>>> < rs735579,A,B,0.5847,0.5847,0.5847,0.5847,491,0.534623,1.63067,0.488552
>>>> < rs9088604,A,B,0.5847,0.5847,0.5847,0.5847,497,0.435614,-553.621,1.12808
>>>> < rs1413801,A,B,0.5847,0.5847,0.5847,0.5847,492,0.311992,-6.1979,0.576774
>>>> < rs4911638,A,B,0.5847,0.5847,0.5847,0.5847,496,0.150202,75.6816,0.592895
>>>> ---
>>>>> rs735579,A,B,0.5847,0.5847,0.5847,0.5847,491,0.534623,1.66126,0.495227
>>>>> rs9088604,A,B,0.5847,0.5847,0.5847,0.5847,497,0.435614,0,0
>>>>> rs1413801,A,B,0.5847,0.5847,0.5847,0.5847,492,0.311992,-6.19776,0.576737
>>>>> rs4911638,A,B,0.5847,0.5847,0.5847,0.5847,496,0.150202,75.8228,0.59293
>>>>
>>>>
>>>> Strangely enough, on my 32bit Ubuntu 11.04 laptop all tests always pass.
>>>>
>>>> Can someone else please run the checks on a 64 bit Linux or other
>>>> platform? To make sure you are testing the same version, please use SVN
>>>> r.847.
>>>>
>>>>
>>>
>>
>>
>>
>> _______________________________________________
>> genabel-devel mailing list
>> genabel-devel at lists.r-forge.r-project.org
>> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel
> 

-- 
-----------------------------------------------
dr. L.C. Karssen
Erasmus MC
Department of Epidemiology
Room Ee-2224

Postbus 2040
3000 CA Rotterdam
The Netherlands

phone: +31-10-7044217
fax: +31-10-7044657
e-mail: l.karssen at erasmusmc.nl
GPG key ID: 0E1D39E3
-----------------------------------------------

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: OpenPGP digital signature
URL: <http://lists.r-forge.r-project.org/pipermail/genabel-devel/attachments/20120320/cd24d4bd/attachment.pgp>


More information about the genabel-devel mailing list