mailRe: [bug #7641] Infinite Chi2 warning


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by Alexandar Hansen on November 07, 2006 - 18:15:
The results of uname -a:

Linux red 2.6.9-42.0.2.ELsmp #1 SMP Thu Aug 17 17:57:31 EDT 2006 x86_64 x86_64 x86_64 GNU/Linux

The results of opening python and typing 'import struct'  followed by 'struct.pack('d', 0.0)':

'\x00\x00\x00\x00\x00\x00\x00\x00'

Doing this in the relax environment is the same.



On 11/7/06, Gary S. Thompson < garyt@xxxxxxxxxxxxxxx> wrote:
Alexandar Hansen wrote:

>
> On 11/6/06, *Alexandar Hansen* < viochemist@xxxxxxxxx
> <mailto:viochemist@xxxxxxxxx>> wrote:
>
>     Whoa!  I thought I had changed my 'runs' lines to not choose
>     anything higher than tm3.  I tried what you said and reduced them
>     models to tm0-tm3 and it still failed.  Through some process of
>     elimination, the one that spits out the error is only tm3 (tm, S2,
>     and Rex).  tm2 finishes without any error.
>
>
>
> I received another chi-squared = infinity value when running the
> prolate, oblate, and ellipsoid models.  I used only tm0, tm1, and tm2
> for the local_tm selection and then I used m0-m5 for the diffusion
> model selection.  The chi-square = infinity error only occured on the
> second round of the minimization for prolate (ie full_analysis.py
> finished twice but failed the 3rd time for prolate) and on the first
> round for oblate and ellipsoid.  The sphere model finished without an
> error.


Dear Alex Ed and Chris

This is the regression which I  found via my first regression test. I
will try and backport the fix  to the 1.2 and 1.3 branches in the next
couple of hours. Unfortunatley I can't do it immediately as the machine
I use for external ssh access here is not responding ;-) The hotfix is
to find the function isInf in float.py and replace it with

def isInf(obj):

    ''' check to see if a python float is an infinity

        the check returns true for either positive or negative infinities

        obj -- float object to check for infinity

        returns -- True if object is an infinity

        throws -- throws a TypeError if obj isn't a python float

    '''

    # bad result for code checking

    result = None

    # check to see if exponent is all ones (excluding sign bit)

    # if exponent is not all ones this can't be a Inf

    if not isExpAllOnes(obj):

        result =  False

    else:

        # get the mantissa as a byte array properly masked

        manBytes = getMantissaBytes(obj)

        for byte in manBytes:

            #check if any of the unmasked mantissa bytes are zero

            # to be a NaN the mantissa must be zero

            if byte > 0:

                result = False

                break

            result = True

    return result


regards
gary

--
-------------------------------------------------------------------
Dr Gary Thompson
Astbury Centre for Structural Molecular Biology,
University of Leeds, Astbury Building,
Leeds, LS2 9JT, West-Yorkshire, UK             Tel. +44-113-3433024
email: garyt@xxxxxxxxxxxxxxx                   Fax  +44-113-2331407
-------------------------------------------------------------------





Related Messages


Powered by MHonArc, Updated Wed Nov 08 09:00:57 2006