Hi Edward,

I am running a test, but will post more information as soon as it  
finishes.

RE:

> Between these 2 rounds, are you sure that all models for all residues
> are identical?  From your data that you posted at
> https://mail.gna.org/public/relax-users/2007-06/msg00017.html
> (Message-id: <[EMAIL PROTECTED]>), I
> would guess that this is not the case and one or two residues actually
> do change in their model selections.

Yes, I am sure the models for all residues are identical.  This was  
verified using the unix 'diff' program:

bunzip2 -c sphere/round_160/aic/results.bz2 | awk '{print $1,$6}' >  
previous
bunzip2 -c sphere/round_161/aic/results.bz2 | awk '{print $1,$6}' >  
current
diff previous current

There were no differences between the previous and current files.

Also, I am not using the same data as mentioned in the links you  
provided.  This is data from a different protein.  In addition, the  
identical model-free models test converged in the calculation  
reported in the previous post, whereas full_analysis.py suggest it  
has not converged in my current post.  I think my current problems  
might be a separate issue, which I'm looking into now.

Thanks,
Doug




On Sep 17, 2007, at 11:48 AM, Edward d'Auvergne wrote:

> Hi,
>
> The problem is likely to be due to a circular looping around very
> similar solutions close to the universal solution, as I have defined
> in:
>
> d'Auvergne EJ, Gooley PR. Set theory formulation of the model-free
> problem and the diffusion seeded model-free paradigm. Mol Biosyst.
> 2007 Jul;3(7):483-94.
>
> If you can't get the paper, have a look at Chapter 5 of my PhD  
> thesis at
> http://eprints.infodiv.unimelb.edu.au/archive/00002799/.  The problem
> is the interlinked mathematical optimisation and statistical model
> selection where we are trying to minimise different quantities.  For
> mathematical optimisation this is the chi-squared value.  For model
> selection this is the quantity known as the descrepancy.  These can
> not be optimised together as mathematical optimisation works in a
> single fixed-dimension space or universe whereas model selection
> operates across multiple spaces with different dimensions.  See the
> paper for a more comprehensive description of the issue.
>
> You should be able to see this if you look at the end of iterations.
> If you have 160 iterations, look after iteration 20 (or maybe even 30
> or further).  Until then, you will not have reached the circular loop.
>  After that point you will be able to exactly quatify this circular
> loop.  You'll be able to determine its periodicity, which residues are
> involved (probably only 1), and whether the diffusion tensor changes
> as model selection changes.
>
> I mentioned all of this already in my post at
> https://mail.gna.org/public/relax-users/2007-07/msg00001.html
> (Message-id:  
> <[EMAIL PROTECTED]>)
> in response to your original post
> (https://mail.gna.org/public/relax-users/2007-06/msg00004.html,
> Message-id: <[EMAIL PROTECTED]>).
>
> I have a few more points about the tests you have done but to work out
> what is happening with the printouts, it would be very useful to have
> your modified 'full_analysis.py' script attached.
>
>
>
> On 9/17/07, Douglas Kojetin <[EMAIL PROTECTED]> wrote:
>> 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):
>
> See above.
>
>
>> "" 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:
>
> Between these 2 rounds, are you sure that all models for all residues
> are identical?  From your data that you posted at
> https://mail.gna.org/public/relax-users/2007-06/msg00017.html
> (Message-id: <[EMAIL PROTECTED]>), I
> would guess that this is not the case and one or two residues actually
> do change in their model selections.
>
>
>> ""
>>          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
>> ""
>
> This output is quite strange.  I would need to see the
> full_analysis.py script to do more with this.
>
>
>> 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
>> ""
>
> As residues 1-3, 11 and 18 are deselected, then they will not have the
> attribute 'model' and hence will not be placed in the prev_models or
> curr_models string (which are then compared).
>
>
>> 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?
>
> I'm not sure what you mean by the file '(variable = SEQUENCE)'
> statement.  I would need to see the full_analysis.py script to
> understand this.  I would assume a file called the value in the
> variable 'SEQUENCE'.  In which case, this should not be a problem.  As
> the data is missing from the files containing the relaxation data,
> these residues will not be used in model-free analysis.  They will be
> automatically deselected.  There is not need to add empty data for
> these spin systems into the relaxation data files.  As I said before
> at the top of this message and at
> https://mail.gna.org/public/relax-users/2007-07/msg00001.html
> (Message-id:  
> <[EMAIL PROTECTED]>),
> the problem is almost guaranteed to be a circular loop of equivalent
> solutions circling around the universal solution - the solution
> defined within the universal set (the union of all global models
> (diffusion tensor + all model-free models of all residues)).  If you
> have hit this circular problem, then I suggest you stop running relax.
>  What I would then do is identify the spin system (or systems) causing
> the loop, and what the differences are between all members of the
> loop.  This you can do by plotting the data and maybe using the
> program diff on uncompressed versions of the results files.  It's
> likely that the differences are small and inconsequential.  I hope
> this helps.
>
> Regards,
>
> Edward


_______________________________________________
relax (http://nmr-relax.com)

This is the relax-users mailing list
[email protected]

To unsubscribe from this list, get a password
reminder, or change your subscription options,
visit the list information page at
https://mail.gna.org/listinfo/relax-users

Reply via email to