mailbug? previous vs. current model test in full_analysis


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

Header


Content

Posted by Douglas Kojetin on September 17, 2007 - 16:40:
Hi,

I'm unsure if this is a bug in full_analysis.py, in the internal relax code, or user error. The optimization of the 'sphere' model will not converge, now after 160+ rounds. The chi-squared test has converged (long, long ago):

"" from output
        Chi-squared test:
            chi2 (k-1): 100.77647517006251
            chi2 (k):   100.77647517006251
            The chi-squared value has converged.
""

However, the identical model-free models test does has not converged:

"" from output
        Identical model-free models test:
            The model-free models have not converged.

        Identical parameter test:
The model-free models haven't converged hence the parameters haven't converged.
""

Something that confuses me is that the output files in the round_??/ aic directory suggest that, for example, the round_160 and round_161 AIC model selections are equivalent. Here are the models for the first few residues:

""
        1 None None
        2 None None
        3 None None
        4 m2 m2
        5 m2 m2
        6 m2 m2
        7 m2 m2
        8 m2 m2
        9 m4 m4
        10 m1 m1
        11 None None
        12 m2 m2
        13 m2 m2
        14 m1 m1
        15 m2 m2
        16 m3 m3
        17 m3 m3
        18 None None
""

However, I modified the full_analysis.py protocol to print the differences in the model selection, within the 'Identical model-free model test' section of the 'convergence' definition. Here is the beginning of the output (which only contains differences between the previous and current rounds):

""
        residue 1: prev=None curr=m2
        residue 2: prev=None curr=m2
        residue 3: prev=None curr=m2
        residue 6: prev=m2 curr=m4
        residue 7: prev=m2 curr=m1
        residue 9: prev=m4 curr=m2
        residue 11: prev=None curr=m2
        residue 12: prev=m2 curr=m3
        residue 13: prev=m2 curr=m3
        residue 15: prev=m2 curr=m1
        residue 16: prev=m3 curr=m2
        residue 17: prev=m3 curr=m1
        residue 18: prev=None curr=m3
""

There should be no data for residues 1-3, 11 and 18 (None), however the 'Identical model-free model test' seems as if it ignores residues for which 'None' was selected in the curr_model call in the following code:

""
# Create a string representation of the model-free models of the previous run.
        prev_models = ''
        for i in xrange(len(self.relax.data.res['previous'])):
            if hasattr(self.relax.data.res['previous'][i], 'model'):
#prev_models = prev_models + self.relax.data.res ['previous'][i].model prev_models = prev_models + ' ' + self.relax.data.res ['previous'][i].model

# Create a string representation of the model-free models of the current run.
        curr_models = ''
        for i in xrange(len(self.relax.data.res[run])):
            if hasattr(self.relax.data.res[run][i], 'model'):
#curr_models = curr_models + self.relax.data.res[run] [i].model curr_models = curr_models + ' ' + self.relax.data.res [run][i].model
""

For what it's worth, I have residues 1,2,3,11 and 18 in the file 'unresolved' which is read by the full_analysis.py protocol. I created a separate sequence file (variable = SEQUENCE) that contains all residues (those with data and those without), instead of using a data file (noe data, in the default full_analysis.py file). However, these residues are not specified in the data (r1, r2 and noe) files, as I did not have data for them. Should I add them but place 'None' in the data and error columns? Could that be causing the problems? Or should I create a bug report for this?


Doug




Related Messages


Powered by MHonArc, Updated Tue Sep 18 16:40:43 2007