[GenABEL-dev] make check 2 PASS 4 FAIL

L.C. Karssen lennart at karssen.org
Wed Mar 5 15:40:58 CET 2014


Hi Lucho,

On 04-03-14 01:14, Latchezar (Lucho) Dimitrov wrote:
> Dear Lennart,
> 
> I had some time to spend and looked at possible solutions.

Thanks for that!


> Unfortunately the more I look the more I realize:
> 
> 1. why there is no -I in solaris diff ;-)) It's ugly kludge by itself
> 
> 2. I am afraid the idea of having run_diff creates more problems than it
> solves. Sorry.
> 
> If I am to implement it now I'd just:
> 
> 1. have only the parts that should be identical in verified_results/
> 2. use appropriate diff directly in test_*.sh files - it's just
> replacing a proc. call with the actual one-liner
> 
> like replacing, for example:
> 
> run_diff linear_base_add.out.txt \
>     linear_ngp2_add.out.txt \
>     "QT check: dose vs. prob (additive model)" -I SNP
> 
> if tail -n +2 linear_ngp2_add.out.txt |diff linear_base_add.out.txt_1st_line_removed - ; then
>    echo -e "${name}${blanks:${#name}} OK"
> else
>    echo -e "${name}${blanks:${#name}} FAILED"
> #  exit 1   # replace this as appropriate
> fi
> 
> This way it will be way more flexible and more importantly system
> independent - no autoconf and all that stuff.

Autoconf has some nice features, but definitely isn't for the
faint-of-heart :-).

> 
> There are many variations of the approach but the idea should be clear.
> More important question to me to resolve/answer, though, is "Do really
> otherwise the same columns have to have different names in different
> files?". I'd rather put the differences in the file names and keep the
> columns the same.

That's a good suggestion! One of those things you overlook if you're
used to it for so long. Indeed the -I option is only used when comparing
output from dosage data to output from probability data (and then only
for the additive model). It makes sense to change the headers, make the
"dosage headers" equal to the "probability headers". Especially since
the "probability header" contains an explicit reference to the SNP that
is used as reference for calculating beta.

I'll start up a conversation on the mailing list specifically for this
and add a bug report as well (unless you're willing to do so, of course!).


> 
> 
> But ... this may be just me ;-)) 

Always good to have a fresh pair of eyes looking at the code.


Best,

Lennart.

> 
> 
> Best regards,
> Lucho
> 
>> -----Original Message-----
>> From: Latchezar (Lucho) Dimitrov
>> Sent: Monday, March 03, 2014 5:39 PM
>> To: 'L.C. Karssen'; 'genabel-devel at r-forge.wu-wien.ac.at'
>> Subject: RE: [GenABEL-dev] make check 2 PASS 4 FAIL
>>
>> Dear Lennart,
>>
>> As I said (or thought I had) it was ugly (quick & dirty) but worked as
>> a proof. I used, e.g.,  'tail -n +2 $file1 >f1' to make a copy of each
>> of the two files with first line removed and then 'diff'. The ugliest
>> part is it is the same for all diff's, i.e., it does not take -I into
>> account at all just blindly compares the two files w/o the first line.
>> But it worked for me as a proof my build is correct.
>>
>> Sorry I do not have a nice solution. If I come across something I'll
>> let you know.
>>
>> Thanks,
>> Lucho
>>
>>> -----Original Message-----
>>> From: L.C. Karssen [mailto:lennart at karssen.org]
>>> Sent: Monday, March 03, 2014 4:16 PM
>>> To: Latchezar (Lucho) Dimitrov; 'genabel-devel at r-forge.wu-wien.ac.at'
>>> Subject: Re: [GenABEL-dev] make check 2 PASS 4 FAIL
>>>
>>> Dear Lucho,
>>>
>>>
>>> On 03-03-14 21:38, Latchezar (Lucho) Dimitrov wrote:
>>>> Dear Lennart,
>>>>
>>>> Yeah, I know. Solaris is not for the faint of heart ;-) however it
>> is
>>>> rewarding! Anyway, I have built some of the gnu utils on solaris
>> but
>>>> diff is not amongst them. GCC is though. I looked more carefully at
>>>> the diff's (pun intended) between gnu(linux) diff and the one I
>> have
>>>> and figured it is -I option missing in mine. I changed run_diff my
>>> way
>>>> to skip first line in all comparisons and it worked. Now that I
>>>> confirmed it is 'make check' issue and not the build itself one I
>> am
>>> happy.
>>>
>>> Glad to hear it all worked out! From your remark below it seems that
>>> you modified run_diff a bit in order to ignor ethe first line. If so,
>>> would you consider sending a patch? Ths would bring Solaris support
>>> (and portability in general) one step closer.
>>>
>>>>
>>>> BTW, I couldn't find a quick nice replacement for your -I option to
>>>> share so it might be a good idea at least to mention the case and
>> the
>>>> requirement for diff to support -I for 'make check' to work
>> properly.
>>>
>>> I'll see if I can find a way to let autoconf figure out if a certain
>>> option is accepted by a command. It seems that the
>>> AC_PATH_PROGS_FEATURE_CHECK macro can do this. That may be helpful
>> for
>>> other cases as well.
>>>
>>>> I'd also suggest changing
>>>>
>>>> if diff "$file1" "$file2" $args; then
>>>>
>>>> to the canonical
>>>>
>>>> if diff $args "$file1" "$file2" ; then
>>>>
>>>> which actually quickly showed me where the problems was and might
>> be
>>>> helpful to ones who do not read the readme files :-))
>>>>
>>>
>>> Done, thanks for the suggestion. It's in SVN r1603.
>>>
>>>
>>> Thanks,
>>>
>>> Lennart.
>>>
>>>>
>>>> Thank you very much,
>>>> Lucho
>>>>
>>>> PS. I may decide to make a module gnu in my solaris systems ;-)))
>>>>
>>>>
>>>>> -----Original Message-----
>>>>> From: L.C. Karssen [mailto:lennart at karssen.org]
>>>>> Sent: Monday, March 03, 2014 4:13 AM
>>>>> To: Latchezar (Lucho) Dimitrov; 'genabel-devel at r-forge.wu-
>>> wien.ac.at'
>>>>> Subject: Re: [GenABEL-dev] make check 2 PASS 4 FAIL
>>>>>
>>>>> Dear Lucho,
>>>>>
>>>>> Thanks for your interest in ProbABEL. I think you are one of the
>>>>> (very?) few users using ProbABEL on Solaris, so we are very
>>>>> interested in your feedback.
>>>>>
>>>>> Could you send us the config.log file created when running
>>> ./configure?
>>>>> That may give us some more hints on how your system is configured.
>>>>>
>>>>> My first hunch is that the diff utility in Solaris has some
>>> different
>>>>> options from the GNU version. When comparing the outputs from
>> dosage
>>>>> inputs with probability input files the checks use the -I option
>> to
>>>>> ignore the header line. Does your version of diff have that
>> option?
>>>>>
>>>>> My knowledge of Solaris is a bit rusty, but I seem to remember
>> that
>>>>> some of the GNU tools are available (or at least in principle
>>>>> installable) on Solaris. I think they are then prefixed with a g.
>> Do
>>>>> you have gdiff on your system (maybe in /usr/bin/ or
>> /usr/sfw/bin/)?
>>>>>
>>>>>
>>>>> Best regards,
>>>>>
>>>>> Lennart Karssen.
>>>>>
>>>>> On 02-03-14 01:10, Latchezar (Lucho) Dimitrov wrote:
>>>>>> Dear genABEL developers,
>>>>>>
>>>>>> I have successfully built probABEL v.0.4.2 using gcc-4.1.1 on
>>> ORACLE
>>>>>> Solaris 10 x86 but when I ran
>>>>>>
>>>>>>   make check
>>>>>>
>>>>>> I got the subj. results. I went and manually ran one of the
>> failing
>>>>> check:
>>>>>>
>>>>>> run_diff coxph_dose_add.out.txt coxph_prob_add.out.txt \
>>>>>>      "pacoxph check: dose vs. prob" -I SNP
>>>>>> diff: two filename arguments required pacoxph check: dose vs.
>> prob
>>>>> FAILED
>>>>>>
>>>>>> Then I manually compared the two fails:
>>>>>>
>>>>>> diff coxph_dose_add.out.txt coxph_prob_add.out.txt
>>>>>> 1c1
>>>>>> < name A1 A2 Freq1 MAF Quality Rsq n Mean_predictor_allele chrom
>>>>>> position beta_SNP_add sebeta_SNP_add chi2_SNP
>>>>>> ---
>>>>>>> name A1 A2 Freq1 MAF Quality Rsq n Mean_predictor_allele chrom
>>>>>>> position beta_SNP_addA1 sebeta_SNP_addA1 chi2_SNP_A1
>>>>>>
>>>>>> Finally, I compared the two files w/o their first lines and they
>>> are
>>>>> the same.
>>>>>>
>>>>>>
>>>>>> Any help highly appreciated. Please find the log file attached
>>>>>>
>>>>>>
>>>>>> Thank you very much,
>>>>>> Latchezar (Lucho) "Speaking w/ computers" Dimitrov
>>>>>>
>>>>>> Analyst/Programmer IV,
>>>>>> Center for Genomics and Personalized Medicine Research
>>>>>> Wake Forest University School of Medicine      fax:  (336)713-
>> 7566
>>>>>> Medical Center Blvd.                           work: (336)713-
>> 7137
>>>>>> Winston-Salem, NC 27157
>>>>>>
>>>>>> -- A computer lets you make more mistakes faster than any
>> invention
>>>>> in human history --
>>>>>>    with the possible exceptions of handguns and tequila.
>>>>>>                                            --Mitch Ratliffe,
>>>>> "Technology Review"
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> 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-
>>>>> d
>>>>>> evel
>>>>>>
>>>>>
>>>>> --
>>>>> *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
>>>>> L.C. Karssen
>>>>> Utrecht
>>>>> The Netherlands
>>>>>
>>>>> lennart at karssen.org
>>>>> http://blog.karssen.org
>>>>> GPG key ID: A88F554A
>>>>> -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
>>>>
>>>>
>>>
>>> --
>>> *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
>>> L.C. Karssen
>>> Utrecht
>>> The Netherlands
>>>
>>> lennart at karssen.org
>>> http://blog.karssen.org
>>> GPG key ID: A88F554A
>>> -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
> 
> 

-- 
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
L.C. Karssen
Utrecht
The Netherlands

lennart at karssen.org
http://blog.karssen.org
GPG key ID: A88F554A
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-

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


More information about the genabel-devel mailing list