Re: Feature request: Model-free fitting with eta_xy data

2017-04-28 Thread Edward d'Auvergne
Hi Sven,

Sorry for not getting back to you earlier, I have been extremely busy
lately.  Please see below:


On 25 April 2017 at 14:52, Sven Wernersson  wrote:
> Hi again,
>
> It seems that the tutorial you linked only applies for supporting data from 
> new experiments to dispersion analysis and not for model-free analysis? Is 
> adding experiments for model-free analysis done in a similar fashion?

For the model-free analysis, adding new models is more complicated.
The reason for this is because the code is highly optimised to avoid
repetitive calculations, and it is not as modular as the relaxation
dispersion code.  Another reason is because I started this code back
in 2001, back when I was first learning how to code in Python, so it's
design was not as advanced as the relaxation dispersion side of relax.
Also, you will be using the same models as already implemented, but
the input data will be different.


> As for your listed requirements, I have experimental data and I can rather 
> easily generate synthetic data. The  eta_xy equation is number (2) in:
>
> Longitudinal and Transverse 1H−15N Dipolar/15N Chemical Shift Anisotropy 
> Relaxation Interference:  Unambiguous Determination of Rotational Diffusion 
> Tensors and Chemical Exchange Effects in Biological Macromolecules
> Christopher D. Kroenke,†, J. Patrick Loria,†, Larry K. Lee,†, Mark Rance,*,‡ 
> and, and Arthur G. Palmer, III*,†
> Journal of the American Chemical Society 1998 120 (31), 7905-7915
> DOI: 10.1021/ja980832l

If you would like to develop new code here, which shouldn't be
difficult if you can handle complex Matlab code, I would suggest we
create a new development branch in the repository.  You should learn
how to develop for relax by reading the "relax development" chapter of
the manual:

http://www.nmr-relax.com/manual/relax_development.html

This explains the procedure for becoming a relax developer.  We could
then grant you commit access on the condition of only modifying your
development branch.  That way you can experiment in this sandbox as
you wish, and it can be abandoned and a new branch created if you
don't like your initial tests.

The very first step in implementing a new model/analysis in relax is
to create a system/functional test.  From the information you provide,
it looks like you could create two or more tests.  One would be
synthetic data where you know the model-free parameters and you hand
calculate the relaxation data (to 64-bit machine precision).  The
second would be taking some of the Kroenke et al. published data where
you know the relaxation data and model-free result.  With the
synthetic data, you could create a number of tests later on to cover
corner cases and hard to optimise cases.  Once you have the relaxation
data, you create a relax script to analyse this data.  This is then
placed into a test which runs the script and then checks the optimised
model-free parameter values.  See the code in test_suite/system_tests/
for plenty of such examples.  Obviously these tests will fail at the
start, but once the Python code for the eta_xy data is in place and
correct, the tests will pass.

After the tests have been added, then I can help point you in the
right direction with the model-free target function code.  There was
one abortive effort to handle anisotropic chemical shift tensors and
multiple dipolar relaxation data, which as later merged for archival
purposes into the CST branch of relax (see
https://marc.info/?t=13507078382=2=2).  This was by Pavel
Kaderavek and Petr Novak back in 2008:

https://mail.gna.org/public/relax-devel/2008-12/msg00046.html

This might be worth having a look at as some of the concepts might be
similar.  The 'cst_1.2.10' branch might be the most informative, as
the 'cst' branch was a failed attempt to keep this code up to date
with the relax trunk.  Note though that the code developed there was
not ideal as the model-free code was simply replicated 6 times for the
different data types.  Instead I would like to help you so that the
input data structure for the model-free functions are modified, and
the model-free functional code is reused for all data types.  For
eta_xy data, do we need the full chemical shift tensor as an input?

Regards,

Edward


P. S. As for implementing the eta_xy data, have you thought of eta_z
data as well?  If you implement eta_xy support, adding eta_z support
in addition should be relatively easy.

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: Github nmr-relax project.

2017-01-05 Thread Edward d'Auvergne
Hi Troels,

Cheers, I've now removed it.  The current git-svn bridge is set up so
that the relax-trunk branch (with linear history) tracks the
subversion repository, and this is merged into the master branch.
Changes are made in other branches, merged to master, cherry-picked
into relax-trunk and then dcommitted back to the subversion
repository.  The git branches present in the repository were developed
in this way, and most of these are in the subversion repository now.

Regards,

Edward


On 4 January 2017 at 23:13, Troels Emtekær Linnet <tlin...@nmr-relax.com> wrote:
> Hi Edward.
>
> That is fine to delete the old one.
>
> Best
> Troels
>
> 2017-01-04 20:49 GMT+01:00 Edward d'Auvergne <edw...@nmr-relax.com>:
>>
>> On 17 November 2016 at 20:35, Troels Emtekær Linnet
>> <tlin...@nmr-relax.com> wrote:
>> > 2016-11-16 15:06 GMT+01:00 Edward d'Auvergne <edw...@nmr-relax.com>:
>> >>
>> >> Hi Troels,
>> >>
>> >> I was wondering if you could add me as an admin to the GitHub
>> >> nmr-relax project you set up:
>> >>
>> >> https://github.com/nmr-relax
>> >>
>> >> My github user name is edward-dauvergne.  I would like to update the
>> >> nmr-relax project to host the git-svn bridge repository currently
>> >> located at:
>> >>
>> >> https://github.com/edward-dauvergne/relax
>> >>
>> >> This could replace the current relax_trunk testing repository.  This
>> >> git-svn repository is also hosted on the nmr-relax project pages at
>> >> SourceForge and GitLab:
>> >>
>> >> https://sourceforge.net/projects/nmr-relax/
>> >> https://gitlab.com/nmr-relax
>> >>
>> >> This is all set up for future-proofing the project, in case Gna! ever
>> >> closes down.
>> >
>> > Should be ok now. :)
>>
>> Thank you!  I've now set this up like at Gitlab and SourceForge
>> (https://sourceforge.net/projects/nmr-relax/ and
>> https://gitlab.com/nmr-relax).  I'll keep this git-svn bridge up to
>> date with the relax trunk and push to all 3 sources.  This should
>> allow for git forking and prepare for possible future moves if Gna!
>> shuts down.  Before I perform the deletion operation on the
>> "relax_trunk" testing repository, could you please confirm that it is
>> ok to permanently delete?
>>
>> Cheers,
>>
>> Edward
>
>

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: Github nmr-relax project.

2017-01-04 Thread Edward d'Auvergne
On 17 November 2016 at 20:35, Troels Emtekær Linnet
<tlin...@nmr-relax.com> wrote:
> 2016-11-16 15:06 GMT+01:00 Edward d'Auvergne <edw...@nmr-relax.com>:
>>
>> Hi Troels,
>>
>> I was wondering if you could add me as an admin to the GitHub
>> nmr-relax project you set up:
>>
>> https://github.com/nmr-relax
>>
>> My github user name is edward-dauvergne.  I would like to update the
>> nmr-relax project to host the git-svn bridge repository currently
>> located at:
>>
>> https://github.com/edward-dauvergne/relax
>>
>> This could replace the current relax_trunk testing repository.  This
>> git-svn repository is also hosted on the nmr-relax project pages at
>> SourceForge and GitLab:
>>
>> https://sourceforge.net/projects/nmr-relax/
>> https://gitlab.com/nmr-relax
>>
>> This is all set up for future-proofing the project, in case Gna! ever
>> closes down.
>
> Should be ok now. :)

Thank you!  I've now set this up like at Gitlab and SourceForge
(https://sourceforge.net/projects/nmr-relax/ and
https://gitlab.com/nmr-relax).  I'll keep this git-svn bridge up to
date with the relax trunk and push to all 3 sources.  This should
allow for git forking and prepare for possible future moves if Gna!
shuts down.  Before I perform the deletion operation on the
"relax_trunk" testing repository, could you please confirm that it is
ok to permanently delete?

Cheers,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Maintenance release of relax 4.0.3.

2016-10-27 Thread Edward d'Auvergne
Hi,

Just a heads up - to ship all of the changes to relax since May, which
is rather minor, I will try to release relax 4.0.3 today.  This makes
it easier for the release process, as then there are not too many
changes to format for the release notes.  If there is anything
important to still be included in relax, we can easily make a 4.0.4
release.

Regards,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: r28236 - /trunk/devel_scripts/

2016-10-01 Thread Edward d'Auvergne
That is rather old then!

On 1 October 2016 at 12:02, Troels Emtekær Linnet <tlin...@nmr-relax.com> wrote:
> yes. :)
>
> 2016-10-01 10:00 GMT+02:00 Edward d'Auvergne <edw...@nmr-relax.com>:
>>
>> On 1 October 2016 at 09:49,  <tlin...@nmr-relax.com> wrote:
>> > Author: tlinnet
>> > Date: Sat Oct  1 09:49:01 2016
>> > New Revision: 28236
>> >
>> > URL: http://svn.gna.org/viewcvs/relax?rev=28236=rev
>> > Log:
>> > Making a Redhat 6 deploy script, which will upgrade python from 2.6 to
>> > 2.7
>> >
>> > The normal installation through yum will have python 2.6 and only numpy
>> > 2.4.
>> > This is not good.
>>
>> Hi Troels,
>>
>> The current numpy version is 1.11.1.  I guess you mean numpy 1.4.0.
>>
>> Regards,
>>
>> Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: r28234 - in /trunk/devel_scripts: deploy_google_computing_redhat_6_86_x64.sh openmpi_test_install.sh

2016-10-01 Thread Edward d'Auvergne
On 1 October 2016 at 11:37, Edward d'Auvergne <edw...@nmr-relax.com> wrote:
> On 1 October 2016 at 11:26, Edward d'Auvergne <edw...@nmr-relax.com> wrote:
>> On 1 October 2016 at 01:21,  <tlin...@nmr-relax.com> wrote:
>>> Author: tlinnet
>>> Date: Sat Oct  1 01:21:30 2016
>>> New Revision: 28234
>>>
>>> URL: http://svn.gna.org/viewcvs/relax?rev=28234=rev
>>> Log:
>>> Added initial script for testing openmpi.
>>>
>>> Added:
>>> trunk/devel_scripts/openmpi_test_install.sh
>>> Modified:
>>> trunk/devel_scripts/deploy_google_computing_redhat_6_86_x64.sh
>>
>> Hi Troels,
>>
>> I would suggest adding a simple Python hello world script (e.g.
>> https://github.com/erdc-cm/mpi4py/blob/master/demo/helloworld.py).
>> That way you can test OpenMPI by itself, mpi4py in pure Python, and
>> mpi4py in relax.  It will isolate the problem to either MPI, mpi4py or
>> relax.
>
> Here is a simple way to do it from the command line:
>
> [edward@localhost relax-trunk]$ mpirun -np 4 python -c "from mpi4py
> import MPI; print('Process %d of %d on %s.' %
> (MPI.COMM_WORLD.Get_rank(), MPI.COMM_WORLD.Get_size(),
> MPI.Get_processor_name()))"
> Process 2 of 4 on localhost.localdomain.
> Process 3 of 4 on localhost.localdomain.
> Process 0 of 4 on localhost.localdomain.
> Process 1 of 4 on localhost.localdomain.
> [edward@localhost relax-trunk]$

Or with some more info:

[edward@localhost ~]$ mpirun -np 4 python -c "import mpi4py; from
mpi4py import MPI; print('Mpi4py %s process %d of %d on %s.' %
(mpi4py.__version__, MPI.COMM_WORLD.Get_rank(),
MPI.COMM_WORLD.Get_size(), MPI.Get_processor_name()))"
Mpi4py 1.3.1 process 0 of 4 on localhost.localdomain.
Mpi4py 1.3.1 process 1 of 4 on localhost.localdomain.
Mpi4py 1.3.1 process 2 of 4 on localhost.localdomain.
Mpi4py 1.3.1 process 3 of 4 on localhost.localdomain.
[edward@localhost ~]$

Regards,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: r28234 - in /trunk/devel_scripts: deploy_google_computing_redhat_6_86_x64.sh openmpi_test_install.sh

2016-10-01 Thread Edward d'Auvergne
On 1 October 2016 at 11:26, Edward d'Auvergne <edw...@nmr-relax.com> wrote:
> On 1 October 2016 at 01:21,  <tlin...@nmr-relax.com> wrote:
>> Author: tlinnet
>> Date: Sat Oct  1 01:21:30 2016
>> New Revision: 28234
>>
>> URL: http://svn.gna.org/viewcvs/relax?rev=28234=rev
>> Log:
>> Added initial script for testing openmpi.
>>
>> Added:
>> trunk/devel_scripts/openmpi_test_install.sh
>> Modified:
>> trunk/devel_scripts/deploy_google_computing_redhat_6_86_x64.sh
>
> Hi Troels,
>
> I would suggest adding a simple Python hello world script (e.g.
> https://github.com/erdc-cm/mpi4py/blob/master/demo/helloworld.py).
> That way you can test OpenMPI by itself, mpi4py in pure Python, and
> mpi4py in relax.  It will isolate the problem to either MPI, mpi4py or
> relax.

Here is a simple way to do it from the command line:

[edward@localhost relax-trunk]$ mpirun -np 4 python -c "from mpi4py
import MPI; print('Process %d of %d on %s.' %
(MPI.COMM_WORLD.Get_rank(), MPI.COMM_WORLD.Get_size(),
MPI.Get_processor_name()))"
Process 2 of 4 on localhost.localdomain.
Process 3 of 4 on localhost.localdomain.
Process 0 of 4 on localhost.localdomain.
Process 1 of 4 on localhost.localdomain.
[edward@localhost relax-trunk]$

Regards,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: r28234 - in /trunk/devel_scripts: deploy_google_computing_redhat_6_86_x64.sh openmpi_test_install.sh

2016-10-01 Thread Edward d'Auvergne
On 1 October 2016 at 01:21,   wrote:
> Author: tlinnet
> Date: Sat Oct  1 01:21:30 2016
> New Revision: 28234
>
> URL: http://svn.gna.org/viewcvs/relax?rev=28234=rev
> Log:
> Added initial script for testing openmpi.
>
> Added:
> trunk/devel_scripts/openmpi_test_install.sh
> Modified:
> trunk/devel_scripts/deploy_google_computing_redhat_6_86_x64.sh

Hi Troels,

I would suggest adding a simple Python hello world script (e.g.
https://github.com/erdc-cm/mpi4py/blob/master/demo/helloworld.py).
That way you can test OpenMPI by itself, mpi4py in pure Python, and
mpi4py in relax.  It will isolate the problem to either MPI, mpi4py or
relax.

Regards,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: r28236 - /trunk/devel_scripts/

2016-10-01 Thread Edward d'Auvergne
On 1 October 2016 at 09:49,   wrote:
> Author: tlinnet
> Date: Sat Oct  1 09:49:01 2016
> New Revision: 28236
>
> URL: http://svn.gna.org/viewcvs/relax?rev=28236=rev
> Log:
> Making a Redhat 6 deploy script, which will upgrade python from 2.6 to 2.7
>
> The normal installation through yum will have python 2.6 and only numpy 2.4.
> This is not good.

Hi Troels,

The current numpy version is 1.11.1.  I guess you mean numpy 1.4.0.

Regards,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: [sr #3345] Inversion recovery curve fitting

2016-06-03 Thread Edward d'Auvergne
On 3 June 2016 at 10:28, Edward d'Auvergne <edw...@nmr-relax.com> wrote:
> On 13 May 2016 at 04:07, Henry <no-reply.invalid-addr...@gna.org> wrote:
>> URL:
>>   <http://gna.org/support/?3345>
>>
>>  Summary: Inversion recovery curve fitting
>>  Project: relax
>> Submitted by: orton_henry
>> Submitted on: Fri 13 May 2016 02:07:09 UTC
>> Category: None
>> Priority: 5 - Normal
>> Severity: 4 - Important
>>   Status: None
>>  Assigned to: None
>> Originator Email:
>>  Open/Closed: Open
>>  Discussion Lock: Any
>> Operating System: GNU/Linux
>>
>> ___
>>
>> Details:
>>
>> Hi Edward,
>>
>> The relax software has been working well for exponential curve fitting of R2
>> relaxation, however I have run into a few problems fitting the R1 parameter.
>>
>> The grid search seems to fail to provide a good starting point for initial
>> parameters when the 'inv' model is chosen and always sets the R1 parameter to
>> zero. The subsequent minimisation then seems to fail to converge giving 
>> either
>> n> I(t) = Iinf - (Iinf - I0) * exp(-R1 * t)egative or very small values. The 
>> minimisation gives the same results when I
>> constrain the grid search to the exact parameters also.
>>
>> I'm wondering if the functional form of the inversion recovery model is 
>> right.
>> The model is given as:
>>
>> I(t) = Iinf - I0 * exp(-R1 * t)
>>
>> This model claims that the intensity at t=0 is (Iinf - I0) which doesn't seem
>> right. Maybe the following model could work better?
>>
>> I(t) = Iinf - (Iinf - I0) * exp(-R1 * t)
>>
>> However, even with the default model, I would expect it to fit the data well
>> (at least for the R1 parameter) despite the Iinf and I0 parameters maybe 
>> being
>> fit incorrectly.
>>
>> In order to avoid the general complexity that seems to come with 3 parameter
>> models over 2 parameter models, it would be great to see the inclusion of a 2
>> parameter inversion recovery model that is something like this:
>>
>> I(t) = Iinf * (1 - 2 * exp(-R1 * t))
>>
>> I had a go at implementing this model simply by modifying the definition of
>> the saturation recovery model in the 'exponential_sat.c' file as it is very
>> similar. However I got poor results again where the R1 parameter was 4 orders
>> of magnitude too large (even when constraining the parameters in the grid
>> search). The R1 should be around 0.6 /s
>>
>> One final thing, I noticed that relax can't handle negative intensities for
>> the inversion recovery  model so I had to convert my data to positive.
>>
>> I've included the script and data I have been using. My data has fairly short
>> relaxation delays as I wanted to prevent NOE biexponentials and I'm not sure
>> if this is contributing to errors.
>>
>> Any help would be greatly appreciated.
>> Thanks so much,
>> Henry
>>
>> P.S. The data 'gb1Y_t1_relax.csv' is arranged in the following columns and is
>> read directly using the script 'relaxmac_t1.py'
>>
>> [Assignment, 1Hppm, 15Nppm, 1H point, 15N point, tot. num peaks, contrib. num
>> peaks, RMSD noise, delay1, delay2, delay3, delay4, intens. 1, intens. 2,
>> intens. 3, intens. 4]
>>
>> The delays are in milliseconds but the script converts this to seconds before
>> fitting.
>
> Hi Henry,
>
> Welcome to the relax mailing lists!  Sorry for the late response.
> I've been quite busy, and double and triple checking a challenge of an
> implementation takes rather some time.  I think you might be correct
> with the inversion recovery experiment.  I went back to my original
> source:
>
> Palmer, A. G. and Rance, M. and Wright, P. E. (1991)
> Intramolecular Motions of a Zinc Finger DNA-Binding Domain from Xfin
> Characterized by Proton-Detected Natural Abundance 3C Heteronuclear
> NMR Spectroscopy.  J. Am. Chem.Soc., 113, 4371-4380
>
> There the equation is:
>
> I(t) = Iinf - (Iinf - I0) * exp(-R1 * t)
>
> This was the equation as I knew it. I checked the
> target_functions/exponential_inv.c and can see that our implementation
> is:
>
> I(t) = Iinf - I0 * exp(-R1 * t)
>
> This is clearly incorrect.  And I have no idea how this happened, as I
> am quite familiar with this equation.  However no one has picked this
> up as, in the 15 y

Re: Independence of the new lib.system module.

2016-05-12 Thread Edward d'Auvergne
On 20 April 2016 at 11:41, Edward d'Auvergne <edw...@nmr-relax.com> wrote:
> Hi Troels,
>
> In running the test suite, I noticed the following test failing:
>
> $ ./relax --verification-tests Library.test_library_independence
>
> The problem is the lib.system module, in that you cannot import the
> status module.  Instead you should call
> status.observers.system_cwd_path.notify() after any calls to
> lib.system.cd(), i.e. outside of the relax library, rather than in
> this function itself.

Hi Troels,

In preparation for a new relax release, I'll fix this issue myself.  I
am simply shifting lib.system to pipe_control.system.  The
pipe_control package is mainly for processing arguments, providing
feedback, calling other code to do the work, and updating the relax
state.  But as the system.cd and system.pwd user functions are almost
entirely composed of argument processing, feedback, and updating the
state, I think that it can just all go there.  I'll also update the
copyright notices with your new name :)

Regards,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Independence of the new lib.system module.

2016-04-20 Thread Edward d'Auvergne
Hi Troels,

In running the test suite, I noticed the following test failing:

$ ./relax --verification-tests Library.test_library_independence

The problem is the lib.system module, in that you cannot import the
status module.  Instead you should call
status.observers.system_cwd_path.notify() after any calls to
lib.system.cd(), i.e. outside of the relax library, rather than in
this function itself.

Cheers,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: r28199 - /trunk/pipe_control/script.py

2016-04-20 Thread Edward d'Auvergne
On 2 April 2016 at 22:45,   wrote:
> Author: tlinnet
> Date: Sat Apr  2 22:45:58 2016
> New Revision: 28199
>
> URL: http://svn.gna.org/viewcvs/relax?rev=28199=rev
> Log:
> When the userfunction script() is called, a notification of pipe_alteration 
> is made.
>
> This will force the GUI to update, and make sure that it is up to-date.
>
> Modified:
> trunk/pipe_control/script.py
>
> Modified: trunk/pipe_control/script.py
> URL: 
> http://svn.gna.org/viewcvs/relax/trunk/pipe_control/script.py?rev=28199=28198=28199=diff
> ==
> --- trunk/pipe_control/script.py(original)
> +++ trunk/pipe_control/script.pySat Apr  2 22:45:58 2016
> @@ -68,3 +68,6 @@
>
>  # Return the function intro flag to the original value.
>  status.uf_intro = orig_intro_state
> +
> +# Make a notification of pipe_alteration, so the GUI will update.
> +status.observers.pipe_alteration.notify()

Hmmm, this seems like a hack that will come back and bite us in the
future.  Maybe we need a general status.observers.update object for
such a purpose?

Regards,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: r28198 - /trunk/gui/relax_gui.py

2016-04-20 Thread Edward d'Auvergne
On 2 April 2016 at 22:10,   wrote:
> Author: tlinnet
> Date: Sat Apr  2 22:10:15 2016
> New Revision: 28198
>
> URL: http://svn.gna.org/viewcvs/relax?rev=28198=rev
> Log:
> Optimising the width of the statusbar.
>
> Modified:
> trunk/gui/relax_gui.py
>
> Modified: trunk/gui/relax_gui.py
> URL: 
> http://svn.gna.org/viewcvs/relax/trunk/gui/relax_gui.py?rev=28198=28197=28198=diff
> ==
> --- trunk/gui/relax_gui.py  (original)
> +++ trunk/gui/relax_gui.py  Sat Apr  2 22:10:15 2016
> @@ -165,8 +165,8 @@
>  self.SetTitle("relax " + version)
>
>  # Set up the status bar.
> -self.status_bar = self.CreateStatusBar(3, 0)
> -self.status_bar.SetStatusWidths([-4, -1, -2])
> +self.status_bar = self.CreateStatusBar(4, 0)
> +self.status_bar.SetStatusWidths([292, -1, 59, 250])

Hi Troels,

I have modified this code to use variable width columns in the status
bar.  The fixed pixel width columns end up looking very ugly on many
systems, with the text being highly truncated and improperly managed
(due to the mixing of fixed and variable widths).  So instead I'm
using the variable widths of [-4, -4, -1, -2].

Regards,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: r28191 - /trunk/lib/system.py

2016-04-20 Thread Edward d'Auvergne
Hi Troels,

This is an interesting concept, having an observer object set up to
monitor the current directory change!  Note that in almost all of the
auto-analyses in the GUI, that the results directory "Change" button
has a similar effect.  However this is not seen by the observer, so
the status bar is not updated.  Just play with the relaxation
dispersion in the GUI to see to problem.  Also, maybe you'd like to
synchronise the icons used for all the directory changes?  You could
even change the button action to call the system.cd user function, if
you feel really adventurous ;)

Regards,

Edward


On 2 April 2016 at 17:42,   wrote:
> Author: tlinnet
> Date: Sat Apr  2 17:42:55 2016
> New Revision: 28191
>
> URL: http://svn.gna.org/viewcvs/relax?rev=28191=rev
> Log:
> Letting the lib.system.cd function notify the observer, when chanding 
> directory.
>
>
> Modified:
> trunk/lib/system.py
>
> Modified: trunk/lib/system.py
> URL: 
> http://svn.gna.org/viewcvs/relax/trunk/lib/system.py?rev=28191=28190=28191=diff
> ==
> --- trunk/lib/system.py (original)
> +++ trunk/lib/system.py Sat Apr  2 17:42:55 2016
> @@ -27,6 +27,7 @@
>
>  # relax module imports.
>  import lib.arg_check
> +from status import Status; status = Status()
>
>
>  def cd(path, verbose=False):
> @@ -54,6 +55,9 @@
>  # Print current working directory.
>  print("The current working directory is now changed to: %s"%getcwd())
>
> +# Notify observers that the current working directory has changed.
> +status.observers.system_cwd_path.notify()
> +
>
>  def pwd(verbose=True):
>  """Print and return string of the current working directory.  Equivalent 
> of python module os.getcwd().
>
>
> ___
> relax (http://www.nmr-relax.com)
>
> This is the relax-commits mailing list
> relax-comm...@gna.org
>
> 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-commits

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: r28182 - /trunk/gui/relax_gui.py

2016-04-20 Thread Edward d'Auvergne
On 2 April 2016 at 15:46,   wrote:
> Author: tlinnet
> Date: Sat Apr  2 15:46:09 2016
> New Revision: 28182
>
> URL: http://svn.gna.org/viewcvs/relax?rev=28182=rev
> Log:
> Adding a relax gui menu for changing the current working directory.
>
> Modified:
> trunk/gui/relax_gui.py
>
> Modified: trunk/gui/relax_gui.py
> URL: 
> http://svn.gna.org/viewcvs/relax/trunk/gui/relax_gui.py?rev=28182=28181=28182=diff
> ==
> --- trunk/gui/relax_gui.py  (original)
> +++ trunk/gui/relax_gui.py  Sat Apr  2 15:46:09 2016
> @@ -41,7 +41,7 @@
>  from gui.spin_viewer.frame import Spin_view_window
>  from gui.controller import Controller
>  from gui.export_bmrb import Export_bmrb_window
> -from gui.filedialog import RelaxFileDialog
> +from gui.filedialog import RelaxDirDialog, RelaxFileDialog
>  from gui.fonts import font
>  from gui.icons import relax_icons
>  from gui.interpreter import Interpreter
> @@ -893,6 +893,37 @@
>  page.sync_ds(upload)
>
>
> +def system_cwd(self, event=None):
> +"""Change the system current working directory.
> +
> +@keyword event: The wx event.
> +@type event:wx event
> +"""
> +
> +# The dialog.
> +dialog = RelaxDirDialog(parent=self, message="Select working 
> directory", defaultPath=wx.EmptyString, style=wx.DD_CHANGE_DIR)
> +
> +# Show the dialog and catch if no directory has been selected.
> +if status.show_gui and dialog.ShowModal() != wx.ID_OK:
> +# Don't do anything.
> +return
> +
> +# Call the get_path function to get the directory name and change 
> path.
> +path_name = dialog.get_path()
> +
> +# Change the directory
> +try:
> +wx.BeginBusyCursor()
> +
> +# Sleep a little so the user sees the busy cursor and knows that 
> the directory changes has occurred.
> +sleep(1)
> +
> +# Turn off the user feedback.
> +finally:
> +if wx.IsBusy():
> +wx.EndBusyCursor()
> +

Hi Troels,

Although not very important, it might be more logical to put the
dialog.get_path() (and the self.update_status_bar() function call you
later added) after wx.BeginBusyCursor().

Cheers,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: r28176 - /trunk/user_functions/sys_info.py

2016-04-20 Thread Edward d'Auvergne
On 2 April 2016 at 13:40,   wrote:
> Author: tlinnet
> Date: Sat Apr  2 13:40:03 2016
> New Revision: 28176
>
> URL: http://svn.gna.org/viewcvs/relax?rev=28176=rev
> Log:
> Adding the new user function: system.cd(path).
>
> This is to change the current working dirextory.
>
> Modified:
> trunk/user_functions/sys_info.py

Hi Troels,

I'd suggest adding your name and year to the copyright notice.  That
way the file doesn't look so old ;)

Cheers,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: r28168 - in /trunk: graphics/oxygen_icons/16x16/places/ lib/ user_functions/

2016-04-20 Thread Edward d'Auvergne
On 2 April 2016 at 12:38,   wrote:
> Author: tlinnet
> Date: Sat Apr  2 12:38:41 2016
> New Revision: 28168
>
> URL: http://svn.gna.org/viewcvs/relax?rev=28168=rev
> Log:
> Added a new 16x16 icon for the oxygen folder-favorites icon.
>
> Added:
> trunk/graphics/oxygen_icons/16x16/places/
> trunk/graphics/oxygen_icons/16x16/places/folder-favorites.png   (with 
> props)
> Modified:
> trunk/lib/__init__.py
> trunk/user_functions/sys_info.py

Hi Troels,

For the user function icons, would you also be able to add the 128x128
version of the icon?  The oxygen icon svn repository, if needed, is
at:

svn://anonsvn.kde.org/home/kde/trunk/kdesupport/oxygen-icons

For the compilation of the relax manual:

$ scons user_manual_pdf

A *.eps.gz version of the 128x128 icon is essential.  Simply convert
the PNG icon to EPS and compress with Gzip.  It is worth compiling the
manual to check that the conversion worked ok, as a bounding box of "0
0 18 18" is assumed.  I should really add the instructions I use for
the Gimp to the graphics/oxygen_icons/README file.  If you have any
problems or don't have the time, just say and I'll add the file and
make the conversion.

Cheers,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: r28167 - /trunk/user_functions/sys_info.py

2016-04-20 Thread Edward d'Auvergne
On 2 April 2016 at 11:36,   wrote:
> Author: tlinnet
> Date: Sat Apr  2 11:36:00 2016
> New Revision: 28167
>
> URL: http://svn.gna.org/viewcvs/relax?rev=28167=rev
> Log:
> In the GUI the userfunctions sys_info() and time() are now grouped into a 
> "system" subclass.
>
> This is to prepare for other system related functions.

Hi Troels,

Normally changes to the already existing user functions would trigger
the minor version number to increment.  This is for script
compatibility and the expectation that a script will run for all x.y.*
relax version numbers, but maybe not for x.z.*.  I see you've added
this to user_functions/__init__.py, but I would suggest documenting
these changes in docs/user_function_changes.txt as well.  Anyway, as
there are a number of fixes in the pipeline, I might just release
relax 4.0.2 instead of jumping to 4.1.0, as these user functions are
not critical for the operation of relax.

Cheers,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: distribute your software in NMRbox

2016-04-13 Thread Edward d'Auvergne
On 29 March 2016 at 21:51, The NMRbox Team  wrote:
> Dear Edward:
>
> You have developed software that we would like to include in NMRbox, a
> resource developed by the NIH-supported National Center for Biomolecular NMR
> Data Processing and Analysis. You can learn more about our Center and the
> benefits that accrue to developers in the attached shameless promotional
> documents.
>
> We believe the following software of yours is free to redistribute. We are
> contacting you as a courtesy and, unless we hear otherwise, we plan to
> redistribute this software in NMRbox.
>
> relax
>
> Shortly you will receive a second email from "ad...@nmrbox.org" with a
> simple license agreement giving us permission to redistribute your software.
> By replying to the forthcoming email in the affirmative (a simple "I agree"
> will suffice), we will include your software in NMRbox. If, however, your
> software requires a more restrictive license, please reply to this email so
> that we can discuss special terms or restrictions.
>
> Additionally, please let us know if we have failed to list software from
> your lab that you would like to have included in NMRbox.
>
> Many thanks for your support for this initiative.
>
> Gratefully,
>
> The NMRbox Team

Dear NMRbox team,

Sorry for not contacting you earlier, I have only just returned from
holidays.  The software relax is distributed solely under the terms of
the GNU GPL v3 licence.  A number of other NMR softwares use this
licence as well.  relax is an open source project and the copyright is
owned by a number of NMR spectroscopists - I am not the sole copyright
holder and cannot speak on their behalf.  Therefore I will cross-post
this to the relax development mailing list for the benefit of the
other IP holders.  Note that this is publicly archived and permanently
accessible.  Please use this list for future correspondence.

I would advise you to study the GPL licence to understand your
obligations in distributing relax, as well as any other GPL software.
Note that "a simple license agreement giving us permission to
redistribute your software" is illegal under this licence.  The GPL is
the one and only licence determining how you can distribute relax.
With this licence, you simply need to provide all of the source code
of your distributed copy, including all modifications you make to
tailor it to the NMRbox distribution.  So, for example, you cannot
just provide byte-compiled *.pyc and *.so C modules - you need to also
provide access to the source *.py, *.c and other files.  If more
information is required for understanding how to redistribute
GPL-licensed software, I would refer you to the following in-depth
guide from the Software Freedom Law Center:

https://www.softwarefreedom.org/resources/2008/compliance-guide.html

Regards,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Parking of relax, minfx, and bmrblib at GitHub, GitLab and SourceForge.

2015-12-01 Thread Edward d'Auvergne
Hi,

For reference, I have set up the following projects/groups, firstly at
SourceForge:

https://sourceforge.net/projects/nmr-relax/
https://sourceforge.net/projects/minfx/
https://sourceforge.net/projects/bmrblib/

And at GitHub (Troels set up the nmr-relax project here):

https://github.com/nmr-relax
https://github.com/minfx
https://github.com/bmrblib

And at GitLab:

https://gitlab.com/groups/nmr-relax
https://gitlab.com/groups/minfx
https://gitlab.com/groups/bmrblib

This is just a backup exercise to reserve these project spaces if Gna!
one day shuts down its services (which is very unlikely, as it is
backed by the FSF branch in France).  If required, we could migrate
the relax and other project infrastructure to one of these source code
hosting facilities, or another, in the future.  The SourceForge file
download area may nevertheless be useful.  In all cases, the project
name 'relax' was taken, so instead I had to use 'nmr-relax'.

Regards,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: Scientific software "relax" at cloud.sagemath.com ?

2015-11-24 Thread Edward d'Auvergne
Hi Troels,

I'll respond to this message here on the relax-devel mailing list,
before it gets too far.  I think that the SageMath servers are far
from ideal for running relax.  Such 'cloud' servers, or others you can
'rent' from internet service providers, are not designed for serious
number crunching.  The ideal would be something like WeNMR
(https://www.wenmr.eu/).  I.e. to get relax into a funded grant system
to run on real number crunching hardware, with a supercomputer cluster
running relax instances (and maybe other NMR calculation software such
as NMRPipe, Dyana/Cyana, XPLOR-NIH, ARIA, CCPN, etc.).  When you are
looking at days or weeks of calculation time for a full model-free
analysis, or 2-6 months for the new frame order analysis - all on the
fastest hardware out there - for this you really have to set up a
dedicated number crunching system.  You also have to consider options
that will allow for disconnecting and drop outs to allow the user to
log back in.  In any case, funding is required to pay for the server
system, and for that a grant needs to be applied for (or joined onto).
And in the granting systems, it would be easier to get funding to buy
the full supercomputing infrastructure than to buy a yearly
subscription to someone else's cloud servers.  This is why I have
always leaned towards web application frameworks, such as Django, Ruby
on Rails, etc., as we'd then have full control to take advantage of
the number crunching abilities of a cluster.  Such technology would
also give us a greater ability to implement the user functions, a spin
viewer, and other complex elements.

Also, I wouldn't recommend you spend too much time on this, at least
for now, as I see the complete implementation of a relax web UI as
requiring a time frame of at least half a year!  From experience with
the GUI and implementing the other UIs, I think this would be a tight
minimal timeframe to have a finished and fully functional product by.
The web UI would need to expose the full power of relax, including all
user functions, rather than being a crippled interface only allowing
for certain types of auto-analysis.  The prompt UI, script UI,
graphical UI and web UI all need to be on the same level.  A better
way to do this would be to include it in the funding proposal, to hire
someone for a year to code a fully functional web UI.  Unfortunately
I'm in no position at the moment to apply for such funding, but this
will hopefully change in the future.

Regards,

Edward



On 23 November 2015 at 18:31, William Stein  wrote:
> On Mon, Nov 23, 2015 at 2:15 AM, Troels Emtekær Linnet
>  wrote:
>> Dear Sagemath.
>>
>> Thank you for an *excellent* software solution at:
>> https://cloud.sagemath.com/
>>
>> I have happily used this in some teaching of python.
>>
>> I am a PhD student at the BIO center of Copenhagen University, at SBiNLab
>> www.bio.ku.dk/sbinlab
>>
>
> Cool -- I was in Copenhagen for a few weeks for SageMath workshop
> during summer 2104.  I skated the beautiful vert ramp across the
> street from one of the universities a few times (in Fallenparken).   I
> also know people in the math department there, including Ian Kiming.
>
>> During my time at my PhD, I have helped developing "relax".
>> http://www.nmr-relax.com/
>> https://gna.org/projects/relax
>
> First question: Is there a reason you don't post a package on
> https://pypi.python.org/pypi?  Then I could just do
>
>pip install nmr-relax
>
> and it would take care of dependencies, auto-updates, etc.   As it is
> now, I have to write some special purpose code to automate
> installation of relax, which involves possibly scraping your site for
> the most recent tarball, downloading it, etc.,  -- it's far more error
> prone.  Most python packages get installed via pypi these days, I
> think.   (OK, so SageMath itself doesn't yet, but it's huge.)
>
>> "The program relax is a software package designed for the study of molecular
>> dynamics through the analysis of experimental NMR data. Organic molecules,
>> proteins, RNA, DNA, sugars, and other biomolecules are all supported. It was
>> originally written for the model-free analysis of protein dynamics, though
>> its scope has been significantly expanded."
>>
>> Recently we published this paper: http://www.nmr-relax.com/refs.html
>> Morin, S., Linnet, T. E., Lescanne, M., Schanda, P., Thompson, G. S.,
>> Tollinger, M., Teilum, K., Gagné, S., Marion, D., Griesinger, C.,
>> Blackledge, M., and d'Auvergne, E. J. (2014).
>> relax: the analysis of biomolecular kinetics and thermodynamics using NMR
>> relaxation dispersion data.
>> Bioinformatics
>>
>> We always seek to help our users as much as possible.
>> We have this wiki:
>> http://wiki.nmr-relax.com/Main_Page
>>
>> The "first barrier" for new users, is always installation.
>> http://wiki.nmr-relax.com/Category:Installation
>>
>> I have been "thinking" that it would be of great benefit, if we could have
>> relax
>> 

Re: Scientific software "relax" at cloud.sagemath.com ?

2015-11-24 Thread Edward d'Auvergne
On 24 November 2015 at 10:25, Troels Emtekær Linnet
 wrote:
> Hi Edward.
>
> You are probably right.
>
> What you refer to is the latest wiki page I am "playing with".
> http://wiki.nmr-relax.com/Install_relax_cloud.sagemath.com#Checkout_relax_and_build
>
> Here I have a "free" account, and William Stein has for free granted me
> "Network" access to a
> test project. This is so I can use the internet to checkout relax with
> subversion.
>
> I can install relax on the cloud.sagemath.com.
>
> And the systemtests are now running in the terminal.
>
> So, it seems that this is an easy possible way to run relax in the terminal.
>
> It simply works.
>
> But it seems that you try to hit "the big nail", and I only try to figure
> out if there is some way to let users do some initial analysis.
>
> I still find it interesting to allow for an online possibility, like
> http://sherekhan.bionmr.org/
>
> With a decent tutorial, a researcher can get relax running an analysis fast.
> Just to get convinced to do a proper install at home or at a cluster.

Hi,

I have talked to Martin Kollmar at the MPI in Göttingen
(https://www.uni-goettingen.de/en/57995.html), as it is his group who
implemented the Sherekhan web interface.  And it runs on their backend
hardware.  Bjoern Hammesfahr is the key person for this
(http://sherekhan.bionmr.org/app/team).  We used to often have lunch
together in the MPI canteen.  I had many, many discussions about a
relax web UI.  In the end it was decided that it currently was not
worth the effort, no one had the required time or money/salary to
implement it, that better backend number-crunching hardware was
required, and that the cost vs. effort was too high (for now at
least).  Note that for the proprietary Sherekhan and the other web
software from the Kollmar group (http://www.diark.org/diark,
http://www.cymobase.org/cymobase, http://www.webscipio.org/, some of
which is open source), that they often use Ruby on Rails or Ajax (and
Django, I think).  Using Web 2.0 technologies, this allows them to
have full flexibility to expand their web UI as needed and they are
not constrained by one piece of technology.

One problem with technologies such as Jupyter is that they have a high
bus factor.  This seriously worries me as we currently have this
problem with the GUI.  The wxPython technology (http://wxpython.org/)
behind the GUI is old and stuck on Python 2.  Python 3 support is
supposedly coming with their pheonix project
(http://wiki.wxpython.org/ProjectPhoenix), but that has been in slow
development for many years now and I'm worried when, or even if ever,
it will be released.  So I'd prefer to avoid such problems with a web
UI.  For a relax web UI, I was at times dreaming of web 2.0 ideas such
as a full web operating system:

https://www.youtube.com/watch?v=XYiP7Q5lYUc

But dedicated to relax.  This might be a bit much, but some of the
technology could be useful for handling the automatic creation of the
user functions from the definitions in user_functions/ into a web UI.

Regards,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: relax in the cloud ?

2015-11-23 Thread Edward d'Auvergne
On 23 November 2015 at 10:08, Troels Emtekær Linnet
 wrote:
> Hi Edward.
>
> I have happily used:
> http://www.sagemath.org/
> https://cloud.sagemath.com/
>
> in some teaching of python.
>
> The benefits are well explained here:
> http://www.sagemath.org/library-why.html
>
> sagemath solves all dependencies and the student are "ready" to go from the
> start.
>
> William Stein has done a very beautiful job.
> http://wstein.org/
>
> Then I was wondering if relax should establish a "try-out" in the cloud?
>
> Code and installation
> http://doc.sagemath.org/html/en/installation/
> https://github.com/sagemath/sage
>
> The prizing for the cloud service is here:
> https://cloud.sagemath.com/policies/pricing.html
>
> That is a little spicy.
>
> An optimal solution would be to find some scientific servers, which we
> could talk into this.
>
> What do you think?

Hi Troels,

I was thinking about this quite a while ago, and was hoping that the
Bio-NMR initiative would go somewhere (http://www.bio-nmr.net/).
There were ideas of providing a full and freely available web service
with all NMR software - WeNMR (http://www.wenmr.eu).  This was
supposed to be the web service, but it is more a window to individual
web services.  Anyway, the WeNMR concept might be the most ideal way
to go.  So maybe we could talk to them about it.  Maybe they have the
required infrastructure for hosting a relax web service.

However I'm wondering if, for this, we need to develop the last of the
planned UIs - the Web UI?  To have the same power as the GUI, we would
need to use very advanced web technologies, just as Sage Math Cloud is
using.  Do you know what web toolkit they use?

Regards,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: r28082 - /trunk/specific_analyses/relax_disp/data.py

2015-11-23 Thread Edward d'Auvergne
On 22 November 2015 at 16:02,   wrote:
> Author: tlinnet
> Date: Sun Nov 22 16:02:42 2015
> New Revision: 28082
>
> URL: http://svn.gna.org/viewcvs/relax?rev=28082=rev
> Log:
> In the function of r2eff_read, in data module of the dispersion, added the 
> possibilities to read
> r2eff values which are replicated.
>
> This is done first checking if the dispersion key exists in the r2eff 
> dictionary.
> If it exists, continue add 0.001 to the frequency until a new possibility 
> exists.
>
> This should help handle multiple R2eff points, as separate values and not 
> taking any decision to average them.
>
> Modified:
> trunk/specific_analyses/relax_disp/data.py
>
> Modified: trunk/specific_analyses/relax_disp/data.py
> URL: 
> http://svn.gna.org/viewcvs/relax/trunk/specific_analyses/relax_disp/data.py?rev=28082=28081=28082=diff
> ==
> --- trunk/specific_analyses/relax_disp/data.py  (original)
> +++ trunk/specific_analyses/relax_disp/data.py  Sun Nov 22 16:02:42 2015
> @@ -2383,14 +2383,35 @@
>  # The dispersion point key.
>  point_key = return_param_key_from_data(exp_type=exp_type, frq=frq, 
> offset=offset, point=disp_frq)
>
> +# Store the infinitesimal small change instead ?
> +store_infinitesimal = False
> +
>  # Store the R2eff data.
>  if data_col:
>  # Initialise if necessary.
>  if not hasattr(spin, 'r2eff'):
>  spin.r2eff = {}
>
> -# Store.
> -spin.r2eff[point_key] = value
> +# First check that a replicate does not exists. And it if 
> exists, find a new id with infinitesimal small change.
> +if point_key in spin.r2eff:
> +warn(RelaxWarning("The r2eff value key: %s already exists. 
> \nAn infinitesimal small change to the dispersion frequency is performed, 
> until a new point can be stored."%(point_key)))
> +
> +# Store the current values.
> +disp_frq_infinitesimal = disp_frq
> +point_key_infinitesimal = point_key
> +
> +# Continue until found
> +while point_key_infinitesimal == point_key:
> +disp_frq_infinitesimal += 0.001
> +point_key_infinitesimal = 
> return_param_key_from_data(exp_type=exp_type, frq=frq, offset=offset, 
> point=disp_frq_infinitesimal)
> +
> +warn(RelaxWarning("The dispersion point is changed from %.3f 
> to %.3f, and hhe new key: %s"%(disp_frq, disp_frq_infinitesimal, 
> point_key_infinitesimal)))
> +spin.r2eff[point_key_infinitesimal] = value
> +store_infinitesimal = True
> +
> +# Else store.
> +else:
> +spin.r2eff[point_key] = value
>
>  # Store the R2eff error.
>  if error_col:
> @@ -2398,8 +2419,26 @@
>  if not hasattr(spin, 'r2eff_err'):
>  spin.r2eff_err = {}
>
> -# Store.
> -spin.r2eff_err[point_key] = error
> +# First check that a replicate does not exists. And it if 
> exists, find a new id with infinitesimal small change.
> +if point_key in spin.r2eff_err:
> +warn(RelaxWarning("The r2eff error key: %s already exists. 
> \nAn infinitesimal small change to the dispersion frequency is performed, 
> until a new point can be stored."%(point_key)))
> +
> +# Store the current values.
> +disp_frq_infinitesimal = disp_frq
> +point_key_infinitesimal = point_key
> +
> +# Continue until found
> +while point_key_infinitesimal == point_key:
> +disp_frq_infinitesimal += 0.001
> +point_key_infinitesimal = 
> return_param_key_from_data(exp_type=exp_type, frq=frq, offset=offset, 
> point=disp_frq_infinitesimal)
> +
> +warn(RelaxWarning("The dispersion point is changed from %.3f 
> to %.3f, and hhe new key: %s\n"%(disp_frq, disp_frq_infinitesimal, 
> point_key_infinitesimal)))
> +spin.r2eff_err[point_key_infinitesimal] = error
> +store_infinitesimal = True
> +
> +# Else store.
> +else:
> +spin.r2eff_err[point_key] = error
>
>  # Data added.
>  data_flag = True
> @@ -2420,9 +2459,15 @@
>  if data_flag:
>  # Set the dispersion point frequency.
>  if exp_type in EXP_TYPE_LIST_CPMG:
> -cpmg_setup(spectrum_id=id, cpmg_frq=disp_frq)
> +if store_infinitesimal:
> +cpmg_setup(spectrum_id=id, cpmg_frq=disp_frq_infinitesimal)
> +else:
> +cpmg_setup(spectrum_id=id, cpmg_frq=disp_frq)
>  else:
> -spin_lock_field(spectrum_id=id, field=disp_frq)
> +if store_infinitesimal:
> +

Re: r28088 - in /trunk/test_suite/shared_data/dispersion/Paul_Schanda_2015_Nov: 2_load_data_GUI.py temp_state.bz2

2015-11-23 Thread Edward d'Auvergne
Hi Troels,

If you have a look at this commit message, you'll see a binary diff.
To avoid this, make sure that the svn:mime-type is set to a binary
file type on your binary file type.  For example using:

$ svn propset svn:mime-type application/octet-stream 

Maybe I should convert the following instructions I wrote and add it
to the relax wiki:  http://wiki.flightgear.org/FGAddon#Binary_diffs .

Cheers,

Edward



On 22 November 2015 at 18:02,   wrote:
> Author: tlinnet
> Date: Sun Nov 22 18:02:15 2015
> New Revision: 28088
>
> URL: http://svn.gna.org/viewcvs/relax?rev=28088=rev
> Log:
> Added a temporary state and a script for GUI setup to the data Paul Schanda.
>
> Added:
> 
> trunk/test_suite/shared_data/dispersion/Paul_Schanda_2015_Nov/2_load_data_GUI.py
> 
> trunk/test_suite/shared_data/dispersion/Paul_Schanda_2015_Nov/temp_state.bz2
>
> Added: 
> trunk/test_suite/shared_data/dispersion/Paul_Schanda_2015_Nov/2_load_data_GUI.py
> URL: 
> http://svn.gna.org/viewcvs/relax/trunk/test_suite/shared_data/dispersion/Paul_Schanda_2015_Nov/2_load_data_GUI.py?rev=28088=auto
> ==
> --- 
> trunk/test_suite/shared_data/dispersion/Paul_Schanda_2015_Nov/2_load_data_GUI.py
> (added)
> +++ 
> trunk/test_suite/shared_data/dispersion/Paul_Schanda_2015_Nov/2_load_data_GUI.py
> Sun Nov 22 18:02:15 2015
> @@ -0,0 +1,70 @@
> +###
> +#
>  #
> +# Copyright (C) 2015 Troels E. Linnet
>  #
> +#
>  #
> +# This file is part of the program relax (http://www.nmr-relax.com). 
>  #
> +#
>  #
> +# This program is free software: you can redistribute it and/or modify   
>  #
> +# it under the terms of the GNU General Public License as published by   
>  #
> +# the Free Software Foundation, either version 3 of the License, or  
>  #
> +# (at your option) any later version.
>  #
> +#
>  #
> +# This program is distributed in the hope that it will be useful,
>  #
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of 
>  #
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
>  #
> +# GNU General Public License for more details.   
>  #
> +#
>  #
> +# You should have received a copy of the GNU General Public License  
>  #
> +# along with this program.  If not, see .  
>  #
> +#
>  #
> +###
> +# relax module imports.
> +from status import Status; status = Status()
> +outdir = status.outdir
> +
> +from os import sep
> +
> +# Minimum: Just read the sequence data, but this misses a lot of information.
> +sequence.read(file='residues.txt', res_num_col=1, dir=outdir)
> +
> +# Open the settings file
> +set_file = open(outdir + sep + "exp_settings.txt")
> +set_file_lines = set_file.readlines()
> +
> +for line in set_file_lines:
> +if "#" in line[0]:
> +continue
> +
> +# Get data
> +field, RF_field_strength_kHz, f_name = line.split()
> +
> +# Assign data
> +spec_id = f_name
> +relax_disp.exp_type(spectrum_id=spec_id, exp_type='R1rho')
> +
> +# Set the spectrometer frequency
> +spectrometer.frequency(id=spec_id, frq=float(field), units='MHz')
> +
> +# Is in kHz, som convert to Hz
> +#http://wiki.nmr-relax.com/Relax_disp.spin_lock_offset%2Bfield
> +#http://www.nmr-relax.com/manual/relax_disp_spin_lock_field.html
> +disp_frq = float(RF_field_strength_kHz)*1000
> +
> +# Set The spin-lock field strength, nu1, in Hz
> +relax_disp.spin_lock_field(spectrum_id=spec_id, field=disp_frq)
> +
> +# Read the R2eff data
> +relax_disp.r2eff_read(id=spec_id, file=f_name, dir=None, 
> disp_frq=disp_frq, res_num_col=1, data_col=2, error_col=3)
> +
> +# Is this necessary? The time, in seconds, of the relaxation period.
> +#relax_disp.relax_time(spectrum_id=spec_id, time=time_sl)
> +
> +
> +# Name the isotope for field strength scaling.
> +spin.isotope(isotope='15N')
> +relax_disp.select_model(model='R2eff')
> +
> +# Plot data
> +relax_disp.plot_disp_curves(dir=outdir + sep + 'grace', y_axis='r2_eff', 
> x_axis='disp', num_points=1000, extend_hz=500.0, extend_ppm=500.0, 
> interpolate='disp', force=True)
> +
> +state.save("temp_state", force=True, 

Re: r28088 - in /trunk/test_suite/shared_data/dispersion/Paul_Schanda_2015_Nov: 2_load_data_GUI.py temp_state.bz2

2015-11-23 Thread Edward d'Auvergne
Hi Troels,

I have already fixed this:

http://article.gmane.org/gmane.science.nmr.relax.scm/25843

Note that git-svn cannot set or change Subversion properties, so the
lack of svn:mime-type is often due to this git-svn deficiency.

Regards,

Edward




On 23 November 2015 at 12:46, Edward d'Auvergne <edw...@nmr-relax.com> wrote:
> Hi Troels,
>
> If you have a look at this commit message, you'll see a binary diff.
> To avoid this, make sure that the svn:mime-type is set to a binary
> file type on your binary file type.  For example using:
>
> $ svn propset svn:mime-type application/octet-stream 
>
> Maybe I should convert the following instructions I wrote and add it
> to the relax wiki:  http://wiki.flightgear.org/FGAddon#Binary_diffs .
>
> Cheers,
>
> Edward
>
>
>
> On 22 November 2015 at 18:02,  <tlin...@nmr-relax.com> wrote:
>> Author: tlinnet
>> Date: Sun Nov 22 18:02:15 2015
>> New Revision: 28088
>>
>> URL: http://svn.gna.org/viewcvs/relax?rev=28088=rev
>> Log:
>> Added a temporary state and a script for GUI setup to the data Paul Schanda.
>>
>> Added:
>> 
>> trunk/test_suite/shared_data/dispersion/Paul_Schanda_2015_Nov/2_load_data_GUI.py
>> 
>> trunk/test_suite/shared_data/dispersion/Paul_Schanda_2015_Nov/temp_state.bz2
>>
>> Added: 
>> trunk/test_suite/shared_data/dispersion/Paul_Schanda_2015_Nov/2_load_data_GUI.py
>> URL: 
>> http://svn.gna.org/viewcvs/relax/trunk/test_suite/shared_data/dispersion/Paul_Schanda_2015_Nov/2_load_data_GUI.py?rev=28088=auto
>> ==
>> --- 
>> trunk/test_suite/shared_data/dispersion/Paul_Schanda_2015_Nov/2_load_data_GUI.py
>> (added)
>> +++ 
>> trunk/test_suite/shared_data/dispersion/Paul_Schanda_2015_Nov/2_load_data_GUI.py
>> Sun Nov 22 18:02:15 2015
>> @@ -0,0 +1,70 @@
>> +###
>> +#   
>>   #
>> +# Copyright (C) 2015 Troels E. Linnet   
>>   #
>> +#   
>>   #
>> +# This file is part of the program relax (http://www.nmr-relax.com).
>>   #
>> +#   
>>   #
>> +# This program is free software: you can redistribute it and/or modify  
>>   #
>> +# it under the terms of the GNU General Public License as published by  
>>   #
>> +# the Free Software Foundation, either version 3 of the License, or 
>>   #
>> +# (at your option) any later version.   
>>   #
>> +#   
>>   #
>> +# This program is distributed in the hope that it will be useful,   
>>   #
>> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
>>   #
>> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
>>   #
>> +# GNU General Public License for more details.  
>>   #
>> +#   
>>   #
>> +# You should have received a copy of the GNU General Public License 
>>   #
>> +# along with this program.  If not, see <http://www.gnu.org/licenses/>. 
>>   #
>> +#   
>>   #
>> +###
>> +# relax module imports.
>> +from status import Status; status = Status()
>> +outdir = status.outdir
>> +
>> +from os import sep
>> +
>> +# Minimum: Just read the sequence data, but this misses a lot of 
>> information.
>> +sequence.read(file='residues.txt', res_num_col=1, dir=outdir)
>> +
>> +# Open the settings file
>> +set_file = open(outdir + sep + "exp_settings.txt")
>> +set_file_lines = set_file.readlines()
>> +
>> +for line in set_file_lines:
>> +if "#" in line[0]:
>> +continue
>> +
>> +# Get data
>> +field, RF_field_strength_kHz, f_name = line.split()
>> +
>> +# Assign data
>> +spec_id = f_name
>> +relax_disp.exp_type(spectrum_id=spec_id, exp_type='R1rho')
>> +
>> +# Set the spectrometer frequency
>> +spectr

Re: relax in the cloud ?

2015-11-23 Thread Edward d'Auvergne
Hi Troels,

I have seen that solution before, but I don't believe that Jupyter is
the ideal solution.  It will create an interface for relax that is
very much like mathematica/maxima/etc.  So it is more like a graphical
prompt UI as a web interface.  I think I'd prefer to have much greater
control and create a pure web interface
(https://wiki.python.org/moin/WebFrameworks/).  For example Django was
one that is quite often used (https://www.djangoproject.com/).  That
way the entirety of the screen is dedicated to relax, and we can have
fine control over the execution of the backend.  It would be far
easier to support the automatically created user function system as
well.

Regards,

Edward


On 23 November 2015 at 11:57, Troels Emtekær Linnet
<tlin...@nmr-relax.com> wrote:
> Have also a look here:
>
> https://developer.rackspace.com/blog/deploying-jupyterhub-for-education/
>
> 2015-11-23 11:56 GMT+01:00 Troels Emtekær Linnet <tlin...@nmr-relax.com>:
>>
>> Hi Edward.
>>
>> Sagemath use Jupyter (as far as I know)
>> http://jupyter.org/
>> https://try.jupyter.org/
>>
>> This could potentially "kill" the GUI in relax, and make everything
>> go through the browser. Even for local installations.
>> This should also eliminate all the GUI problems between mac, linux and
>> windows.
>>
>> But this is a big re-write and a big design change decission.
>>
>> relax could be called through a ipython notebook.
>> And the output of results should be viewed in the browser.
>>
>> This will be an extremely powerful expansion.
>> And users can write "notebooks" on the analysis development.
>>
>> Best
>> Troels
>>
>>
>> 2015-11-23 11:24 GMT+01:00 Edward d'Auvergne <edw...@nmr-relax.com>:
>>>
>>> On 23 November 2015 at 10:08, Troels Emtekær Linnet
>>> <tlin...@nmr-relax.com> wrote:
>>> > Hi Edward.
>>> >
>>> > I have happily used:
>>> > http://www.sagemath.org/
>>> > https://cloud.sagemath.com/
>>> >
>>> > in some teaching of python.
>>> >
>>> > The benefits are well explained here:
>>> > http://www.sagemath.org/library-why.html
>>> >
>>> > sagemath solves all dependencies and the student are "ready" to go from
>>> > the
>>> > start.
>>> >
>>> > William Stein has done a very beautiful job.
>>> > http://wstein.org/
>>> >
>>> > Then I was wondering if relax should establish a "try-out" in the
>>> > cloud?
>>> >
>>> > Code and installation
>>> > http://doc.sagemath.org/html/en/installation/
>>> > https://github.com/sagemath/sage
>>> >
>>> > The prizing for the cloud service is here:
>>> > https://cloud.sagemath.com/policies/pricing.html
>>> >
>>> > That is a little spicy.
>>> >
>>> > An optimal solution would be to find some scientific servers, which we
>>> > could talk into this.
>>> >
>>> > What do you think?
>>>
>>> Hi Troels,
>>>
>>> I was thinking about this quite a while ago, and was hoping that the
>>> Bio-NMR initiative would go somewhere (http://www.bio-nmr.net/).
>>> There were ideas of providing a full and freely available web service
>>> with all NMR software - WeNMR (http://www.wenmr.eu).  This was
>>> supposed to be the web service, but it is more a window to individual
>>> web services.  Anyway, the WeNMR concept might be the most ideal way
>>> to go.  So maybe we could talk to them about it.  Maybe they have the
>>> required infrastructure for hosting a relax web service.
>>>
>>> However I'm wondering if, for this, we need to develop the last of the
>>> planned UIs - the Web UI?  To have the same power as the GUI, we would
>>> need to use very advanced web technologies, just as Sage Math Cloud is
>>> using.  Do you know what web toolkit they use?
>>>
>>> Regards,
>>>
>>> Edward
>>
>>
>

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: [sr #3303] Automatic back-calculation of spin relaxation data

2015-11-23 Thread Edward d'Auvergne
Hi Christina,

I've had a look at your support request
(https://gna.org/support/?3303) and have tried to come up with a
solution:

http://article.gmane.org/gmane.science.nmr.relax.scm/25842

For this, I had to reintroduce the "" and ""
tags in the XML results file, otherwise relax cannot read the file
correctly.  The newly introduced sample script is quite simple:


http://svn.gna.org/viewcvs/relax/trunk/sample_scripts/model_free/back_calculate.py?view=markup=28091

It is simply:

"""
# Load the results as a state file.
state.load('results')

# Loop over each relaxation data set.
for ri_id in cdp.ri_ids:
# Back calculate the relaxation data.
relax_data.back_calc(ri_id=ri_id, ri_type=cdp.ri_type[ri_id],
frq=cdp.spectrometer_frq[ri_id])

# Write the data.
relax_data.write(ri_id=ri_id, file='%s.out' % ri_id.lower(),
bc=True, force=True)
"""

This loads the results file and then uses the information in the
current data pipe to loop over and back-calculate each relaxation data
point.  Note the important bc=True flag used in the relax_data.write
user function (http://www.nmr-relax.com/manual/relax_data_write.html).
Is this script sufficient?

Regards,

Edward



On 20 November 2015 at 14:26, Troels Emtekær Linnet
 wrote:
> Dear Christina.
>
> Thank you for your contribution.
>
> I am sure this will be of benefits to other users, and a good reference for
> automatic back-calculation of spin relaxation data.
>
> Time is always precious and so the development of this can take some time.
>
> But it is essential that the support request is described and including a
> potential fix.
>
> This will make the solution easier.
>
> Thank you again. :)
>
> May the "good results" be with you and happy "relaxing".
>
> Best
> Troels
>
>
> 2015-11-20 11:36 GMT+01:00 Christina Möller <
> no-reply.invalid-addr...@gna.org>:
>
>> URL:
>>   
>>
>>  Summary: Automatic back-calculation of spin relaxation
>> data
>>  Project: relax
>> Submitted by: cmoeller
>> Submitted on: Fri 20 Nov 2015 10:36:06 AM UTC
>> Category: Feature request
>> Priority: 5 - Normal
>> Severity: 1 - Wish
>>   Status: None
>>  Assigned to: None
>> Originator Email:
>>  Open/Closed: Open
>>  Discussion Lock: Any
>> Operating System: GNU/Linux
>>
>> ___
>>
>> Details:
>>
>> After the full model-free analysis of relaxation data using the
>> dauvergne_protocol.py script it would be interesting to compare the
>> back-calculated values to the original experimental values.
>>
>> The generate_ri.py script back-calculates the relaxation data from given
>> residue-specific s2, s2f, s2s, te, tf, ts values that are obtained from the
>> model-free analysis. The generate_ri.py script that can be found in the
>> sample
>> scripts/model-free folder generates back-calculated data for just one
>> residue-specific set of parameters. To obtain the back-calculated data for
>> i.e. 80 residues the script has to be used 80 times. It would be more
>> efficient if the script is started only once and the residue-specific
>> parameters are loaded automatically for each residue in order to generate
>> the
>> back-calculated values for all residues.
>> Attached you can find some example data.
>>
>> A colleague who is more familiar with python than me tried to find a
>> solution
>> and edited the generate_ri.py script. Attached you can find the modified
>> script named generate_ri_mod.py. To run this script the results.py script
>> is
>> needed because it extracts the data from the results.bz2 file. This
>> modified
>> script back-calculates the values automatically and generates an output
>> file
>> named relaxation_data.dat containing back-calculated values for all
>> residues.
>> You will probably have a solution which is more consistent with your
>> programming of relax.
>>
>>
>>
>>
>> ___
>>
>> File Attachments:
>>
>>
>> ---
>> Date: Fri 20 Nov 2015 10:36:06 AM UTC  Name: results.bz2  Size: 344kB   By:
>> cmoeller
>> Example data and used relax script
>> 
>> ---
>> Date: Fri 20 Nov 2015 10:36:06 AM UTC  Name: generate_ri.py  Size: 5kB
>>  By:
>> cmoeller
>> Example data and used relax script
>> 
>> ---
>> Date: Fri 20 Nov 2015 10:36:06 AM UTC  Name: generate_ri_mod.py  Size: 7kB
>> By: cmoeller
>> Example data and used relax script
>> 
>> ---
>> Date: Fri 20 Nov 2015 10:36:06 AM UTC 

Re: r28076 - /trunk/lib/sequence.py

2015-11-23 Thread Edward d'Auvergne
On 21 November 2015 at 15:08,   wrote:
> Author: tlinnet
> Date: Sat Nov 21 15:08:17 2015
> New Revision: 28076
>
> URL: http://svn.gna.org/viewcvs/relax?rev=28076=rev
> Log:
> Made additional check in sequence reading, that "nan" values are skipped.
>
> Modified:
> trunk/lib/sequence.py
>
> Modified: trunk/lib/sequence.py
> URL: 
> http://svn.gna.org/viewcvs/relax/trunk/lib/sequence.py?rev=28076=28075=28076=diff
> ==
> --- trunk/lib/sequence.py   (original)
> +++ trunk/lib/sequence.py   Sat Nov 21 15:08:17 2015
> @@ -24,6 +24,7 @@
>  """Module for handling the molecule, residue, and spin sequence data."""
>
>  # Python module imports.
> +from math import isnan
>  from warnings import warn
>
>  # relax module imports.
> @@ -310,6 +311,11 @@
>  else:
>  value = float(line[data_col-1])
>
> +# If it a float, test if is nan.
> +if isnan(value):
> +warn(RelaxWarning("The value is 'nan', skipping the 
> line %s" % line))
> +continue
> +
>  # Bad data.
>  except ValueError:
>  warn(RelaxWarning("Invalid data, skipping the line %s" % 
> line))
> @@ -326,6 +332,11 @@
>  # A float.
>  else:
>  error = float(line[error_col-1])
> +
> +# If it a float, test if is nan.
> +if isnan(error):
> +warn(RelaxWarning("The error is 'nan', skipping the 
> line %s" % line))
> +continue
>
>  # Bad data.
>  except ValueError:

Hi Troels,

For these changes, I would recommend using Gary's lib.float.isNaN()
function.  The math.isnan() function is relatively recent and it
breaks our Python 2.5 compatibility.  I believe that Gary's lib.float
code is also more advanced.  For example even better would be to use
the isFinite() function, as that will simultaneously check for NaN and
+/- Inf.  Or you could isNaN() followed by isInf() if you'd like
different warning messages for each number type.

Cheers,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Wiki update - we now have collapsible elements, Infoboxes, and MessageBoxes!

2015-10-22 Thread Edward d'Auvergne
Hi all,

We now have 3 new features in the relax wiki!  I have managed to get
these running for relax by first testing them on the FlightGear wiki (
http://wiki.flightgear.org ).  There are other features that also come
with the new MediaWiki version, for example the builtin {{!}} template
for using the '|' character within articles to avoid special MediaWiki
syntax characters.



== Collapsible elements ==

Thanks to the MediaWiki update to 1.25.3 (
http://wiki.nmr-relax.com/Special:Version ), PHP Version 5.6.13 update
( http://wiki.nmr-relax.com/phpinfo.php ), and some hand fixes for the
Wiki JavaScript at http://wiki.nmr-relax.com/MediaWiki:Common.js , we
now have fully functional collapsible elements:

http://wiki.nmr-relax.com/Javascript_testing#NavFrame_test (test page).
http://wiki.nmr-relax.com/Template:Collapsible_script (the
template with examples).

This code is directly from the FlightGear wiki, as I wrote that code:

http://wiki.flightgear.org/Template:Collapsible_script

And here are some examples of the use of the new {{collapsible
script}} template, to de-clutter articles:

http://wiki.nmr-relax.com/Installation_linux#Testing_the_Python_installation

http://wiki.nmr-relax.com/Relax_disp.spin_lock_offset%2Bfield_figure#Script_to_produce_figure
http://wiki.nmr-relax.com/DPL94#Parameter_name_space_in_relax



== Infoboxes ==

We finally have Infoboxes!  These were first mentioned in the post:

[relax-devel] Creation of a relax wiki, by Troels Linnet on 24
June 2013 ( 
http://thread.gmane.org/gmane.science.nmr.relax.devel/4105/focus=4114
).

I have created this {{infobox relax release}} template as an example:

http://wiki.nmr-relax.com/Template:Infobox_relax_release

This is slowly being added to all the relax release articles, for example:

http://wiki.nmr-relax.com/Relax_3.3.0
http://wiki.nmr-relax.com/Relax_4.0.0
http://wiki.nmr-relax.com/Relax_3.3.9
http://wiki.nmr-relax.com/Relax_3.3.8
http://wiki.nmr-relax.com/Relax_3.2.0
http://wiki.nmr-relax.com/Relax_1.3.1

This took a while to get a functional Lua binary running on the
server!  However there is still a problem:  "Lua error: Internal
error: The interpreter exited with status 137."  This happens maybe
once in every three loadings (and almost always on
http://wiki.nmr-relax.com/Template:Infobox_relax_release as the
infobox is used twice in the article).  Logging the errors, I see:

[snip - lots of messages]
RX <== return
TX ==> call
Killed

From this I can only guess that the server that the wiki is running on
is killing the Lua interpreter before it can complete.  I have tried
all the $wgScribuntoEngineConf['luastandalone']['memoryLimit'],
'cpuLimit', and 'profilerPeriod' settings without a change in
behaviour, so this is looking like the server being very MediaWiki
unfriendly.



== MessageBoxes ==

I have taken the idea from the FlightGear wiki:

http://wiki.flightgear.org/Template:Note

And have improved on it with:

http://wiki.nmr-relax.com/Template:MessageBox
http://wiki.nmr-relax.com/Template:MessageBox/doc

See the documentation there for the very useful {{tip}}, {{note}},
{{caution}}, and {{warning}} templates, as well as {{stub}}.  These
will be very useful for conveying important information to the reader.

Regards,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: Solution for the Scribunto MediaWiki Lua segmentation fault - "Lua error: Internal error: The interpreter exited with status 139".

2015-10-22 Thread Edward d'Auvergne
On 22 October 2015 at 11:18, Troels Emtekær Linnet
 wrote:
> Hi Edward.
>
> Brilliant work with the interpreter!
>
> That must surely have been painful...
>
> It is very problematic to test on the server, and it takes much more time!
>
> To get server info:
>
> Have you tried:
> wiki.nmr-relax.com/phpinfo.php
>
> The server is hosted at Gigahost.dk
> https://gigahost.dk/features/specifications
>
> Does this help you?
>
> Or else I can write to them and ask.

Hi Troels,

I'm about to send another message explaining all of our new features.
These would probably be quite useful for your other wikis as well,
including for the SBiN Lab.  My additions (those not copied from
MediaWiki or Wikipedia) are GPLv3+ licensed (or GPLv2+ licensed on the
FlightGear wiki), so if you need another licence for copying, just
ask.  I think that the problem is with the Gigahost.dk server setting,
however nothing in the specifications points to a time-out for killing
a process that would be what is almost always seen on
http://wiki.nmr-relax.com/Template:Infobox_relax_release . It
definitely less than 300 s, but that is the PHP kill time, not the
standalone executable kill time (which is not listed).  More details
will be in the next post.

Cheers!

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Solution for the Scribunto MediaWiki Lua segmentation fault - "Lua error: Internal error: The interpreter exited with status 139".

2015-10-21 Thread Edward d'Auvergne
Hi,

I have finally found a solution for the error:

Lua error: Internal error: The interpreter exited with status 139.
No further details are available.

Or when looking at the 'lua-error.log' file:

Segmentation fault

This was painful!  It doesn't help that there is no solution written
anywhere on the entire internet about this - just a few posts
reporting the problem but with no solutions.

The problem is that the Lua binary file distributed with Scribunto
will not run on all Linux operating systems behind the server.
Instead a different Lua binary file is required.  For the current
relax wiki server behind http://wiki.nmr-relax.com , I downloaded the
lua-5.1.5_Linux26g4_64_bin.tar.gz file from
https://sourceforge.net/projects/luabinaries/files/5.1.5/Tools%20Executables/
(or https://sourceforge.net/projects/luabinaries/files/ ).  I then
unpacked the archive, uploaded the files to the server directory
extensions/Scribunto/engines/LuaStandalone/binaries/lua-5.1.5_Linux32_64_bin/,
and added these line to the LocalSettings.php file:

# MediaWiki Extension:Scribunto
require_once "$IP/extensions/Scribunto/Scribunto.php";
$wgScribuntoDefaultEngine = 'luastandalone';
# Lua debugging time!
$wgShowExceptionDetails = true;
$wgScribuntoEngineConf['luastandalone']['errorFile'] = "$IP/lua-error.log";
$wgScribuntoEngineConf['luastandalone']['luaPath'] =
"$IP/extensions/Scribunto/engines/LuaStandalone/binaries/lua-5.1.5_Linux26g4_64_bin/lua5.1";

Testing different Lua binary files, I was seeing:

Lua error: Internal error: The interpreter exited with status 1.
Lua error: Internal error: The interpreter exited with status 2.
Lua error: Internal error: The interpreter exited with status 127.
Lua error: Internal error: The interpreter exited with status 137.

The log messages are all below, to help people find this post and
solution.  In the end, the lua-5.1.5_Linux32_64_bin version worked,
and the test page shows that Scribunto is finally working:

http://wiki.nmr-relax.com/Temp_lua_testing_page

Regards,

Edward


P. S. Here are a tonne of other Lua errors using different 5.1.4 and
5.1.5 versions from
https://sourceforge.net/projects/luabinaries/files/ which are included
here to help someone web searching this to find a solution.  This
problem is very poorly documented!  The contents of the
'lua-error.log' file from the testing is:

Segmentation fault
Segmentation fault
Segmentation fault
Segmentation fault
Segmentation fault
Segmentation fault
Segmentation fault
Segmentation fault
exec: 1: /usr/bin/lua: not found
exec: 1: /usr/bin/lua: not found
exec: 1: /bin/lua: not found
exec: 1: /bin/lua: not found
exec: 1: 
/home/www/wiki.nmr-relax.com/extensions/Scribunto/engines/LuaStandalone/binaries/lua5_1_5_linux_32_generic/lua:
Permission denied
exec: 1: 
/home/www/wiki.nmr-relax.com/extensions/Scribunto/engines/LuaStandalone/binaries/lua5_1_5_linux_32_generic/lua:
Permission denied
exec: 1: 
/home/www/wiki.nmr-relax.com/extensions/Scribunto/engines/LuaStandalone/binaries/lua5_1_5_linux_64_generic/lua:
Permission denied
exec: 1: 
/home/www/wiki.nmr-relax.com/extensions/Scribunto/engines/LuaStandalone/binaries/lua5_1_5_linux_64_generic/lua:
Permission denied
Segmentation fault
Segmentation fault
/home/www/wiki.nmr-relax.com/extensions/Scribunto/engines/LuaStandalone/binaries/lua5_1_5_linux_64_generic/lua5.2:
/lib/libc.so.6: version `GLIBC_2.14' not found (required by
/home/www/wiki.nmr-relax.com/extensions/Scribunto/engines/LuaStandalone/binaries/lua5_1_5_linux_64_generic/lua5.2)
/home/www/wiki.nmr-relax.com/extensions/Scribunto/engines/LuaStandalone/binaries/lua5_1_5_linux_64_generic/lua5.2:
/lib/libc.so.6: version `GLIBC_2.14' not found (required by
/home/www/wiki.nmr-relax.com/extensions/Scribunto/engines/LuaStandalone/binaries/lua5_1_5_linux_64_generic/lua5.2)
exec: 1: 
/home/www/wiki.nmr-relax.com/extensions/Scribunto/engines/LuaStandalone/binaries/lua5_1_5_linux_64_generic/lua5.1:
Permission denied
exec: 1: 
/home/www/wiki.nmr-relax.com/extensions/Scribunto/engines/LuaStandalone/binaries/lua5_1_5_linux_64_generic/lua5.1:
Permission denied
/home/www/wiki.nmr-relax.com/extensions/Scribunto/engines/LuaStandalone/binaries/lua5_1_5_linux_64_generic/lua5.1:
/lib/libc.so.6: version `GLIBC_2.14' not found (required by
/home/www/wiki.nmr-relax.com/extensions/Scribunto/engines/LuaStandalone/binaries/lua5_1_5_linux_64_generic/lua5.1)
/home/www/wiki.nmr-relax.com/extensions/Scribunto/engines/LuaStandalone/binaries/lua5_1_5_linux_64_generic/lua5.1:
/lib/libc.so.6: version `GLIBC_2.14' not found (required by
/home/www/wiki.nmr-relax.com/extensions/Scribunto/engines/LuaStandalone/binaries/lua5_1_5_linux_64_generic/lua5.1)
exec: 1: 
/home/www/wiki.nmr-relax.com/extensions/Scribunto/engines/LuaStandalone/binaries/lua5_1_5_linux_64_generic/lua5.1b:
not found
exec: 1: 
/home/www/wiki.nmr-relax.com/extensions/Scribunto/engines/LuaStandalone/binaries/lua5_1_5_linux_64_generic/lua5.1b:
not found
exec: 1: 

Re: Solution for the Scribunto MediaWiki Lua segmentation fault - "Lua error: Internal error: The interpreter exited with status 139".

2015-10-21 Thread Edward d'Auvergne
Hi Troels,

I was wondering if you had some information about the operating system
that the relax wiki server uses?  I am seeing a few of these errors
with the new {{Infobox relax release}} templates:

Lua error: Internal error: The interpreter exited with status 137.

For example at:

http://wiki.nmr-relax.com/Relax_3.1.7
http://wiki.nmr-relax.com/Relax_4.0.0

If there is no error, just jump between versions until the error
appears.  The error is in the docs themselves (
http://wiki.nmr-relax.com/Template:Infobox/doc ).  With some detailed
OS info, I might be able to find a closer matching lua binary file to
run with less errors on the server.

Cheers,

Edward


On 21 October 2015 at 15:27, Edward d'Auvergne <true.bug...@gmail.com> wrote:
> Hi,
>
> I have finally found a solution for the error:
>
> Lua error: Internal error: The interpreter exited with status 139.
> No further details are available.
>
> Or when looking at the 'lua-error.log' file:
>
> Segmentation fault
>
> This was painful!  It doesn't help that there is no solution written
> anywhere on the entire internet about this - just a few posts
> reporting the problem but with no solutions.
>
> The problem is that the Lua binary file distributed with Scribunto
> will not run on all Linux operating systems behind the server.
> Instead a different Lua binary file is required.  For the current
> relax wiki server behind http://wiki.nmr-relax.com , I downloaded the
> lua-5.1.5_Linux26g4_64_bin.tar.gz file from
> https://sourceforge.net/projects/luabinaries/files/5.1.5/Tools%20Executables/
> (or https://sourceforge.net/projects/luabinaries/files/ ).  I then
> unpacked the archive, uploaded the files to the server directory
> extensions/Scribunto/engines/LuaStandalone/binaries/lua-5.1.5_Linux32_64_bin/,
> and added these line to the LocalSettings.php file:
>
> # MediaWiki Extension:Scribunto
> require_once "$IP/extensions/Scribunto/Scribunto.php";
> $wgScribuntoDefaultEngine = 'luastandalone';
> # Lua debugging time!
> $wgShowExceptionDetails = true;
> $wgScribuntoEngineConf['luastandalone']['errorFile'] = "$IP/lua-error.log";
> $wgScribuntoEngineConf['luastandalone']['luaPath'] =
> "$IP/extensions/Scribunto/engines/LuaStandalone/binaries/lua-5.1.5_Linux26g4_64_bin/lua5.1";
>
> Testing different Lua binary files, I was seeing:
>
> Lua error: Internal error: The interpreter exited with status 1.
> Lua error: Internal error: The interpreter exited with status 2.
> Lua error: Internal error: The interpreter exited with status 127.
> Lua error: Internal error: The interpreter exited with status 137.
>
> The log messages are all below, to help people find this post and
> solution.  In the end, the lua-5.1.5_Linux32_64_bin version worked,
> and the test page shows that Scribunto is finally working:
>
> http://wiki.nmr-relax.com/Temp_lua_testing_page
>
> Regards,
>
> Edward
>
>
> P. S. Here are a tonne of other Lua errors using different 5.1.4 and
> 5.1.5 versions from
> https://sourceforge.net/projects/luabinaries/files/ which are included
> here to help someone web searching this to find a solution.  This
> problem is very poorly documented!  The contents of the
> 'lua-error.log' file from the testing is:
>
> Segmentation fault
> Segmentation fault
> Segmentation fault
> Segmentation fault
> Segmentation fault
> Segmentation fault
> Segmentation fault
> Segmentation fault
> exec: 1: /usr/bin/lua: not found
> exec: 1: /usr/bin/lua: not found
> exec: 1: /bin/lua: not found
> exec: 1: /bin/lua: not found
> exec: 1: 
> /home/www/wiki.nmr-relax.com/extensions/Scribunto/engines/LuaStandalone/binaries/lua5_1_5_linux_32_generic/lua:
> Permission denied
> exec: 1: 
> /home/www/wiki.nmr-relax.com/extensions/Scribunto/engines/LuaStandalone/binaries/lua5_1_5_linux_32_generic/lua:
> Permission denied
> exec: 1: 
> /home/www/wiki.nmr-relax.com/extensions/Scribunto/engines/LuaStandalone/binaries/lua5_1_5_linux_64_generic/lua:
> Permission denied
> exec: 1: 
> /home/www/wiki.nmr-relax.com/extensions/Scribunto/engines/LuaStandalone/binaries/lua5_1_5_linux_64_generic/lua:
> Permission denied
> Segmentation fault
> Segmentation fault
> /home/www/wiki.nmr-relax.com/extensions/Scribunto/engines/LuaStandalone/binaries/lua5_1_5_linux_64_generic/lua5.2:
> /lib/libc.so.6: version `GLIBC_2.14' not found (required by
> /home/www/wiki.nmr-relax.com/extensions/Scribunto/engines/LuaStandalone/binaries/lua5_1_5_linux_64_generic/lua5.2)
> /home/www/wiki.nmr-relax.com/extensions/Scribunto/engines/LuaStandalone/binaries/lua5_1_5_linux_64_generic/lua5.2:
> /lib/libc.so.6: version `GLIBC_2.14' not found (required by
> /home/www/wiki.nmr-rela

Re: Javascript problems on the relax wiki.

2015-10-20 Thread Edward d'Auvergne
Thank you!  Just shout out if you need assistance.

Regards,

Edward

On 20 October 2015 at 15:50, Troels Emtekær Linnet
<tlin...@nmr-relax.com> wrote:
> I am currently trying.
>
> I will return.
>
> best
> Troels
>
> 2015-10-20 15:41 GMT+02:00 Edward d'Auvergne <edw...@nmr-relax.com>:
>>
>> On 20 October 2015 at 15:36, Troels Emtekær Linnet
>> <tlin...@nmr-relax.com> wrote:
>> > Hi.
>> >
>> > When I upgrade from 5.3, the page is flooded with problems relating to:
>> >
>> > includes/MagicWord.php
>> >
>> > http://www.gossamer-threads.com/lists/wiki/mediawiki/504636
>> >
>> > The fix is to update the wiki.
>>
>> Is there shell access to run the MediaWiki update.php script?  Or is
>> this web-interface only?  I can help with updating the extensions, and
>> we can do this gradually.
>>
>> Cheers,
>>
>> Edward
>
>

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: Javascript problems on the relax wiki.

2015-10-20 Thread Edward d'Auvergne
We are coming back:


https://web.archive.org/web/20151020142128/http://wiki.nmr-relax.com/Main_Page

:)



On 20 October 2015 at 15:52, Edward d'Auvergne <edw...@nmr-relax.com> wrote:
> Thank you!  Just shout out if you need assistance.
>
> Regards,
>
> Edward
>
> On 20 October 2015 at 15:50, Troels Emtekær Linnet
> <tlin...@nmr-relax.com> wrote:
>> I am currently trying.
>>
>> I will return.
>>
>> best
>> Troels
>>
>> 2015-10-20 15:41 GMT+02:00 Edward d'Auvergne <edw...@nmr-relax.com>:
>>>
>>> On 20 October 2015 at 15:36, Troels Emtekær Linnet
>>> <tlin...@nmr-relax.com> wrote:
>>> > Hi.
>>> >
>>> > When I upgrade from 5.3, the page is flooded with problems relating to:
>>> >
>>> > includes/MagicWord.php
>>> >
>>> > http://www.gossamer-threads.com/lists/wiki/mediawiki/504636
>>> >
>>> > The fix is to update the wiki.
>>>
>>> Is there shell access to run the MediaWiki update.php script?  Or is
>>> this web-interface only?  I can help with updating the extensions, and
>>> we can do this gradually.
>>>
>>> Cheers,
>>>
>>> Edward
>>
>>

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: Javascript problems on the relax wiki.

2015-10-20 Thread Edward d'Auvergne
I currently know absolutely nothing about .htaccess files, but might
this offer a solution:
http://www.fvue.nl/wiki/MediaWiki_error:_No_input_file_specified

Regards,

Edward


On 20 October 2015 at 18:13, Edward d'Auvergne <edw...@nmr-relax.com> wrote:
> I think this is something to do with .htaccess, as it is clearly
> nothing to do with the MediaWiki part:
>
> """
> [edward@localhost wiki]$ wget
> http://wiki.nmr-relax.com/images/1/1d/Screenshot_start.png
> --2015-10-20 18:10:12--
> http://wiki.nmr-relax.com/images/1/1d/Screenshot_start.png
> Resolving wiki.nmr-relax.com (wiki.nmr-relax.com)... 217.116.232.203
> Connecting to wiki.nmr-relax.com
> (wiki.nmr-relax.com)|217.116.232.203|:80... connected.
> HTTP request sent, awaiting response... 404 Not Found
> 2015-10-20 18:10:13 ERROR 404: Not Found.
>
> [edward@localhost wiki]$ wget http://wiki.nmr-relax.com/LocalSettings.php
> --2015-10-20 18:11:24--  http://wiki.nmr-relax.com/LocalSettings.php
> Resolving wiki.nmr-relax.com (wiki.nmr-relax.com)... 217.116.232.203
> Connecting to wiki.nmr-relax.com
> (wiki.nmr-relax.com)|217.116.232.203|:80... connected.
> HTTP request sent, awaiting response... 200 OK
> Length: 0 [text/html]
> Saving to: ‘LocalSettings.php.1’
>
> [ <=>
>
>  ] 0   --.-K/s   in 0s
>
> 2015-10-20 18:11:25 (0.00 B/s) - ‘LocalSettings.php.1’ saved [0/0]
>
> [edward@localhost temp]$ wget http://wiki.nmr-relax.com/cache/.htaccess
> --2015-10-20 18:12:23--  http://wiki.nmr-relax.com/cache/.htaccess
> Resolving wiki.nmr-relax.com (wiki.nmr-relax.com)... 217.116.232.203
> Connecting to wiki.nmr-relax.com
> (wiki.nmr-relax.com)|217.116.232.203|:80... connected.
> HTTP request sent, awaiting response... 403 Forbidden
> 2015-10-20 18:12:23 ERROR 403: Forbidden.
>
> """
>
> This is suspicious!
>
> Regards,
>
> Edward
>
>
>
>
> On 20 October 2015 at 18:08, Troels Emtekær Linnet
> <tlin...@nmr-relax.com> wrote:
>> Hm.
>>
>> I am looking into this:
>> https://www.mediawiki.org/wiki/Manual:Image_table
>> https://www.mediawiki.org/wiki/Manual:$wgHashedUploadDirectory
>>
>> This did not work
>>
>> I reenabled .htaccess.
>> Did not work.
>>
>> Has the md5 changed?
>>
>> 2015-10-20 17:53 GMT+02:00 Edward d'Auvergne <edw...@nmr-relax.com>:
>>>
>>> On 20 October 2015 at 17:48, Troels Emtekær Linnet
>>> <tlin...@nmr-relax.com> wrote:
>>> > Hi.
>>> >
>>> > I have added extension:
>>> > https://www.mediawiki.org/wiki/Extension:Maintenance
>>> > http://wiki.nmr-relax.com/index.php?title=Special:Version
>>> > http://wiki.nmr-relax.com/index.php?title=Special:Maintenance
>>> >
>>> > I have tried:
>>> >
>>> > http://wiki.nmr-relax.com/index.php?title=Special:Maintenance/checkImages
>>> >
>>> > 2_make_surface_plot.png: missing
>>> > About_gui.png: missing
>>> > About_relax.png: missing
>>> > Analysis_mf.png: missing
>>> > Analysis_noe.png: missing
>>> > Analysis_r1.png: missing
>>> > Analysis_r2.png: missing
>>> > Analysis_wizard.png: missing
>>> > Bug_22024_Dw_kex.png: missing
>>> > Bug_22024_Dw_kex_pA.png: missing
>>> > Bug_22024_Dw_pA.png: missing
>>> > Bug_22024_Kex_pA.png: missing
>>> > Bug_22024_R2eff.png: missing
>>> > CPMG_Model_B14_Example_data_disp_1_H.png: missing
>>> > Consistency_testing_200x94.png: missing
>>> > Core_design.png: missing
>>> > Disp_1002_N.png: missing
>>> > Disp_1003_N.png: missing
>>> > Disp_1004_N.png: missing
>>> > Disp_1005_N.png: missing
>>> > Disp_1006_N.png: missing
>>> > Disp_1007_N.png: missing
>>> > Disp_1008_N.png: missing
>>> > Disp_1009_N.png: missing
>>> > Disp_1010_N.png: missing
>>> > Disp_1011_N.png: missing
>>> > Disp_1012_N.png: missing
>>> > Disp_1013_N.png: missing
>>> > Disp_1014_N.png: missing
>>> > Disp_1015_N.png: missing
>>> > Disp_1016_N.png: missing
>>> > Disp_1017_N.png: missing
>>> > Disp_1018_N.png: missing
>>> > Disp_1019_N.png: missing
>>> > Disp_1020_N.png: missing
>>> > Disp_1021_N.png: missing
>>> > Disp_1022_N.png: missing
>>> > Disp_1023_N.png: missing
>>> > Disp_1024_N.png: missing
>>> > Disp_1025_N.png: missing
>>> > Disp_102

Re: Javascript problems on the relax wiki.

2015-10-20 Thread Edward d'Auvergne
On 20 October 2015 at 17:48, Troels Emtekær Linnet
 wrote:
> Hi.
>
> I have added extension:
> https://www.mediawiki.org/wiki/Extension:Maintenance
> http://wiki.nmr-relax.com/index.php?title=Special:Version
> http://wiki.nmr-relax.com/index.php?title=Special:Maintenance
>
> I have tried:
> http://wiki.nmr-relax.com/index.php?title=Special:Maintenance/checkImages
>
> 2_make_surface_plot.png: missing
> About_gui.png: missing
> About_relax.png: missing
> Analysis_mf.png: missing
> Analysis_noe.png: missing
> Analysis_r1.png: missing
> Analysis_r2.png: missing
> Analysis_wizard.png: missing
> Bug_22024_Dw_kex.png: missing
> Bug_22024_Dw_kex_pA.png: missing
> Bug_22024_Dw_pA.png: missing
> Bug_22024_Kex_pA.png: missing
> Bug_22024_R2eff.png: missing
> CPMG_Model_B14_Example_data_disp_1_H.png: missing
> Consistency_testing_200x94.png: missing
> Core_design.png: missing
> Disp_1002_N.png: missing
> Disp_1003_N.png: missing
> Disp_1004_N.png: missing
> Disp_1005_N.png: missing
> Disp_1006_N.png: missing
> Disp_1007_N.png: missing
> Disp_1008_N.png: missing
> Disp_1009_N.png: missing
> Disp_1010_N.png: missing
> Disp_1011_N.png: missing
> Disp_1012_N.png: missing
> Disp_1013_N.png: missing
> Disp_1014_N.png: missing
> Disp_1015_N.png: missing
> Disp_1016_N.png: missing
> Disp_1017_N.png: missing
> Disp_1018_N.png: missing
> Disp_1019_N.png: missing
> Disp_1020_N.png: missing
> Disp_1021_N.png: missing
> Disp_1022_N.png: missing
> Disp_1023_N.png: missing
> Disp_1024_N.png: missing
> Disp_1025_N.png: missing
> Disp_1026_N.png: missing
> Disp_1027_N.png: missing
> Disp_1028_N.png: missing
> Disp_1029_N.png: missing
> Disp_1030_N.png: missing
> Disp_1031_N.png: missing
> Disp_1032_N.png: missing
> Disp_1033_N.png: missing
> Disp_1034_N.png: missing
> Disp_1035_N.png: missing
> Disp_1036_N.png: missing
> Disp_1037_N.png: missing
> Disp_1038_N.png: missing
> Disp_1039_N.png: missing
> Disp_1040_N.png: missing
> Disp_1041_N.png: missing
> Disp_1042_N.png: missing
> Disp_1043_N.png: missing
> Disp_1044_N.png: missing
> Disp_1045_N.png: missing
> Disp_1046_N.png: missing
> Disp_1047_N.png: missing
> Disp_1048_N.png: missing
> Disp_1049_N.png: missing
> Disp_1050_N.png: missing
> Dx_map_1.png: missing
> Fig1_Palmer_Massi_2006.png: missing
> Git_development.png: missing
> License_upload_test.png: missing
> License_upload_test_2.png: missing
> Map_2.png: missing
> Matplotlib_52_N_R1_rho_R2eff_disp.png: missing
> Matplotlib_52_N_R1_rho_R2eff_w_eff.png: missing
> Matplotlib_52_N_R1_rho_theta_sep.png: missing
> Model_free_600x600.png: missing
> Molecular_BioSystems_graphical_abstract.png: missing
> Noe_600x600.png: missing
> Pipe_editor.png: missing
> R1_600x600.png: missing
> R2_600x600.png: missing
> Ramp_Omega_spin-lock_offset.png: missing
> Ramp_w1_ramping_spin-lock_field_strength.png: missing
> Relax_controller.png: missing
> Relax_disp_600x600.png: missing
> Relax_prompt.png: missing
> Results_viewer.png: missing
> Screenshot_start.png: missing
> Spin_viewer.png: missing
> Test_ftp_diff.png: missing
> Test_ftp_mirror.png: missing
> Test_image.png: missing
> Test_jpeg.jpg: missing
> Test_wiki_nmr-relax_com_upload.png: missing
> Ulysses_wiki.png: missing
> Wiki_test.png: missing
> Good images: 0/95
> checkImages ran successfully!

The files are clearly there, but the URLs to them are not working.
Maybe the PHP update broke this rather than the MediaWiki update, and
we need to update/fix the htaccess file :S

Regards,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: Javascript problems on the relax wiki.

2015-10-20 Thread Edward d'Auvergne
On 20 October 2015 at 18:56, Troels Emtekær Linnet
 wrote:
> Cheers.
>
> I think it was good to get updated. :)
>
> It stays one sharp in mediawiki.
>
> Hope someone finds this thread.
>
> :)

It should receive a few Google hits - I think we've covered enough key
words.  Anyway, I've now reinstalled and reactivated all extensions.
There are a few changes:

1)  The collapsible NavFrame elements work!  Well, only partly.  The
"[ hide ]" and "[ show ]" text is visible now.  The 'show' link works
and opens the  box.  However 'hide' does not cause the  box
to collapse.  See the test page at
http://wiki.nmr-relax.com/Javascript_testing .  I have to investigate
this more.  At least the MediaWiki upgrade allows these links to be
injected into the  box via JavaScript, so bugs in the MediaWiki
1.21.1 version was clearly the problem.


2)  MathJax is abandoned, so unfortunately we now have to use
SimpleMathJax (https://www.mediawiki.org/wiki/Extension:MathJax vs.
https://www.mediawiki.org/wiki/Extension:SimpleMathJax).  This means
that only  tags are supported, and all LaTeX maths between $...$
signs must be replaced :(  A few relaxation dispersion model articles
will need updating, in due time.


3)  Scribunto is still not working
(https://www.mediawiki.org/wiki/Extension:Scribunto).  See the test
page:

http://wiki.nmr-relax.com/Temp_lua_testing_page

This dumps the 'lua-error.log' file in the base directory, which
simply says 'Segmentation fault'.  The page itself has the error "Lua
error: Internal error: The interpreter exited with status 139.  No
further details are available."  This is the same problem as before
the update.  I have to investigate this more :(


4)  We'll see what else pops up now on the wiki, but I'll looking good to me.


Thank you again for updating the wiki infrastructure!  It is much appreciated.

Cheers,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: Javascript problems on the relax wiki.

2015-10-20 Thread Edward d'Auvergne
On 20 October 2015 at 17:22, Troels Emtekær Linnet
 wrote:
> These are commented out:
>
> #20151020 $wgArticlePath = "/$1";
> #20151020 $wgUsePathInfo = true;
>
> This now works
>
> http://wiki.nmr-relax.com
> http://wiki.nmr-relax.com/index.php?title=Main_Page
>
> Still no luck with images
> http://wiki.nmr-relax.com/index.php?title=File:Screenshot_start.png

I'm looking into the image problem too.  I'll report back if I find
something, and let you make the changes over ftp.  There's a risk of
overwriting the LocalSettings.php file if we work on it
simultaneously.

Cheers,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: Javascript problems on the relax wiki.

2015-10-20 Thread Edward d'Auvergne
I'll keep looking, and try to learn the .htaccess rules.  There are
plenty of people on the internet with the same problem, so a solution
will be out there.  Most are saying it is the .htaccess file.

Cheers,

Edward

On 20 October 2015 at 18:37, Troels Emtekær Linnet
<tlin...@nmr-relax.com> wrote:
> Yup.
>
> I have now enabled all standard extensions, which was avaiable in the
> extension folder.
>
> I give up here...
>
> I dont know if the file permissions is correct?
> Or the md5 hash has changes, or an image table is gone, or something with
> apache...
>
>
>
> 2015-10-20 18:31 GMT+02:00 Edward d'Auvergne <edw...@nmr-relax.com>:
>>
>> This is a tough one!
>>
>> On 20 October 2015 at 18:16, Edward d'Auvergne <edw...@nmr-relax.com>
>> wrote:
>> > I currently know absolutely nothing about .htaccess files, but might
>> > this offer a solution:
>> > http://www.fvue.nl/wiki/MediaWiki_error:_No_input_file_specified
>> >
>> > Regards,
>> >
>> > Edward
>> >
>> >
>> > On 20 October 2015 at 18:13, Edward d'Auvergne <edw...@nmr-relax.com>
>> > wrote:
>> >> I think this is something to do with .htaccess, as it is clearly
>> >> nothing to do with the MediaWiki part:
>> >>
>> >> """
>> >> [edward@localhost wiki]$ wget
>> >> http://wiki.nmr-relax.com/images/1/1d/Screenshot_start.png
>> >> --2015-10-20 18:10:12--
>> >> http://wiki.nmr-relax.com/images/1/1d/Screenshot_start.png
>> >> Resolving wiki.nmr-relax.com (wiki.nmr-relax.com)... 217.116.232.203
>> >> Connecting to wiki.nmr-relax.com
>> >> (wiki.nmr-relax.com)|217.116.232.203|:80... connected.
>> >> HTTP request sent, awaiting response... 404 Not Found
>> >> 2015-10-20 18:10:13 ERROR 404: Not Found.
>> >>
>> >> [edward@localhost wiki]$ wget
>> >> http://wiki.nmr-relax.com/LocalSettings.php
>> >> --2015-10-20 18:11:24--  http://wiki.nmr-relax.com/LocalSettings.php
>> >> Resolving wiki.nmr-relax.com (wiki.nmr-relax.com)... 217.116.232.203
>> >> Connecting to wiki.nmr-relax.com
>> >> (wiki.nmr-relax.com)|217.116.232.203|:80... connected.
>> >> HTTP request sent, awaiting response... 200 OK
>> >> Length: 0 [text/html]
>> >> Saving to: ‘LocalSettings.php.1’
>> >>
>> >> [ <=>
>> >>
>> >>  ] 0   --.-K/s   in 0s
>> >>
>> >> 2015-10-20 18:11:25 (0.00 B/s) - ‘LocalSettings.php.1’ saved [0/0]
>> >>
>> >> [edward@localhost temp]$ wget http://wiki.nmr-relax.com/cache/.htaccess
>> >> --2015-10-20 18:12:23--  http://wiki.nmr-relax.com/cache/.htaccess
>> >> Resolving wiki.nmr-relax.com (wiki.nmr-relax.com)... 217.116.232.203
>> >> Connecting to wiki.nmr-relax.com
>> >> (wiki.nmr-relax.com)|217.116.232.203|:80... connected.
>> >> HTTP request sent, awaiting response... 403 Forbidden
>> >> 2015-10-20 18:12:23 ERROR 403: Forbidden.
>> >>
>> >> """
>> >>
>> >> This is suspicious!
>> >>
>> >> Regards,
>> >>
>> >> Edward
>> >>
>> >>
>> >>
>> >>
>> >> On 20 October 2015 at 18:08, Troels Emtekær Linnet
>> >> <tlin...@nmr-relax.com> wrote:
>> >>> Hm.
>> >>>
>> >>> I am looking into this:
>> >>> https://www.mediawiki.org/wiki/Manual:Image_table
>> >>> https://www.mediawiki.org/wiki/Manual:$wgHashedUploadDirectory
>> >>>
>> >>> This did not work
>> >>>
>> >>> I reenabled .htaccess.
>> >>> Did not work.
>> >>>
>> >>> Has the md5 changed?
>> >>>
>> >>> 2015-10-20 17:53 GMT+02:00 Edward d'Auvergne <edw...@nmr-relax.com>:
>> >>>>
>> >>>> On 20 October 2015 at 17:48, Troels Emtekær Linnet
>> >>>> <tlin...@nmr-relax.com> wrote:
>> >>>> > Hi.
>> >>>> >
>> >>>> > I have added extension:
>> >>>> > https://www.mediawiki.org/wiki/Extension:Maintenance
>> >>>> > http://wiki.nmr-relax.com/index.php?title=Special:Version
>> >>>> > http://wiki.nmr-relax.com/index.php?title=Special:Maintenance
>> >>>&g

Re: Javascript problems on the relax wiki.

2015-10-20 Thread Edward d'Auvergne
On 20 October 2015 at 18:49, Troels Emtekær Linnet
 wrote:
> I think you can leave the "old" version of .htaccess
>
> # Protect against bug 28235
> 
> RewriteEngine On
> RewriteCond %{QUERY_STRING} \.[^\\/:*?\x22<>|%]+(#|\?|$) [nocase]
> RewriteRule . - [forbidden]
> # Fix for bug T64289
> # Options +FollowSymLinks
> 
>
> The bug is here:
> https://phabricator.wikimedia.org/T64289
>
> Some developer must have added the Symlinks

I'll let you set up the .htaccess file and test it.  Note that without
.htacess, everything appears to work fine.  Ok, I see the images with
the modified .htaccess file too.  But the script at
http://wiki.nmr-relax.com/Special:Maintenance/checkImages isn't happy.
Oh well, it works :)  Thanks a lot for all of this!

Regards,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: Javascript problems on the relax wiki.

2015-10-20 Thread Edward d'Auvergne
On 20 October 2015 at 16:32, Troels Emtekær Linnet
 wrote:
> Hi Edward.
>
> 1) I downloaded a backup of old wiki and made MYSQL dump
> 2) I downloaded and unpacked new wiki
> 3) At server, I deleted old files, and changed PHP version to 5.6
> 4) I uploaded new wiki files to server
> 5) I copied the old Localsettings file and .htacess files
> 6) I modified Localsettings, and commented out all all extensions
> 7) I uploaded the Localsettings file, and .htaccess
> 8) I went to: http://wiki.nmr-relax.com/mw-config/  to update.
>
> This is where I am at the moment
>
> I will have to:
>
> Upload image files
> Update extensions

Awesome!  It's progressing well.  We don't have to do all the
extensions all at once.  And I can install a couple of them, using the
newest or most stable versions, if you wish.

Cheers,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: Javascript problems on the relax wiki.

2015-10-20 Thread Edward d'Auvergne
On 20 October 2015 at 17:29, Troels Emtekær Linnet
 wrote:
> I am looking into this:
>
> https://www.mediawiki.org/wiki/Manual:Maintenance_scripts

I'm running an ftp dump at the moment, and am looking into possible
file permission issues.

Regards,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: Javascript problems on the relax wiki.

2015-10-20 Thread Edward d'Auvergne
This is a tough one!

On 20 October 2015 at 18:16, Edward d'Auvergne <edw...@nmr-relax.com> wrote:
> I currently know absolutely nothing about .htaccess files, but might
> this offer a solution:
> http://www.fvue.nl/wiki/MediaWiki_error:_No_input_file_specified
>
> Regards,
>
> Edward
>
>
> On 20 October 2015 at 18:13, Edward d'Auvergne <edw...@nmr-relax.com> wrote:
>> I think this is something to do with .htaccess, as it is clearly
>> nothing to do with the MediaWiki part:
>>
>> """
>> [edward@localhost wiki]$ wget
>> http://wiki.nmr-relax.com/images/1/1d/Screenshot_start.png
>> --2015-10-20 18:10:12--
>> http://wiki.nmr-relax.com/images/1/1d/Screenshot_start.png
>> Resolving wiki.nmr-relax.com (wiki.nmr-relax.com)... 217.116.232.203
>> Connecting to wiki.nmr-relax.com
>> (wiki.nmr-relax.com)|217.116.232.203|:80... connected.
>> HTTP request sent, awaiting response... 404 Not Found
>> 2015-10-20 18:10:13 ERROR 404: Not Found.
>>
>> [edward@localhost wiki]$ wget http://wiki.nmr-relax.com/LocalSettings.php
>> --2015-10-20 18:11:24--  http://wiki.nmr-relax.com/LocalSettings.php
>> Resolving wiki.nmr-relax.com (wiki.nmr-relax.com)... 217.116.232.203
>> Connecting to wiki.nmr-relax.com
>> (wiki.nmr-relax.com)|217.116.232.203|:80... connected.
>> HTTP request sent, awaiting response... 200 OK
>> Length: 0 [text/html]
>> Saving to: ‘LocalSettings.php.1’
>>
>> [ <=>
>>
>>  ] 0   --.-K/s   in 0s
>>
>> 2015-10-20 18:11:25 (0.00 B/s) - ‘LocalSettings.php.1’ saved [0/0]
>>
>> [edward@localhost temp]$ wget http://wiki.nmr-relax.com/cache/.htaccess
>> --2015-10-20 18:12:23--  http://wiki.nmr-relax.com/cache/.htaccess
>> Resolving wiki.nmr-relax.com (wiki.nmr-relax.com)... 217.116.232.203
>> Connecting to wiki.nmr-relax.com
>> (wiki.nmr-relax.com)|217.116.232.203|:80... connected.
>> HTTP request sent, awaiting response... 403 Forbidden
>> 2015-10-20 18:12:23 ERROR 403: Forbidden.
>>
>> """
>>
>> This is suspicious!
>>
>> Regards,
>>
>> Edward
>>
>>
>>
>>
>> On 20 October 2015 at 18:08, Troels Emtekær Linnet
>> <tlin...@nmr-relax.com> wrote:
>>> Hm.
>>>
>>> I am looking into this:
>>> https://www.mediawiki.org/wiki/Manual:Image_table
>>> https://www.mediawiki.org/wiki/Manual:$wgHashedUploadDirectory
>>>
>>> This did not work
>>>
>>> I reenabled .htaccess.
>>> Did not work.
>>>
>>> Has the md5 changed?
>>>
>>> 2015-10-20 17:53 GMT+02:00 Edward d'Auvergne <edw...@nmr-relax.com>:
>>>>
>>>> On 20 October 2015 at 17:48, Troels Emtekær Linnet
>>>> <tlin...@nmr-relax.com> wrote:
>>>> > Hi.
>>>> >
>>>> > I have added extension:
>>>> > https://www.mediawiki.org/wiki/Extension:Maintenance
>>>> > http://wiki.nmr-relax.com/index.php?title=Special:Version
>>>> > http://wiki.nmr-relax.com/index.php?title=Special:Maintenance
>>>> >
>>>> > I have tried:
>>>> >
>>>> > http://wiki.nmr-relax.com/index.php?title=Special:Maintenance/checkImages
>>>> >
>>>> > 2_make_surface_plot.png: missing
>>>> > About_gui.png: missing
>>>> > About_relax.png: missing
>>>> > Analysis_mf.png: missing
>>>> > Analysis_noe.png: missing
>>>> > Analysis_r1.png: missing
>>>> > Analysis_r2.png: missing
>>>> > Analysis_wizard.png: missing
>>>> > Bug_22024_Dw_kex.png: missing
>>>> > Bug_22024_Dw_kex_pA.png: missing
>>>> > Bug_22024_Dw_pA.png: missing
>>>> > Bug_22024_Kex_pA.png: missing
>>>> > Bug_22024_R2eff.png: missing
>>>> > CPMG_Model_B14_Example_data_disp_1_H.png: missing
>>>> > Consistency_testing_200x94.png: missing
>>>> > Core_design.png: missing
>>>> > Disp_1002_N.png: missing
>>>> > Disp_1003_N.png: missing
>>>> > Disp_1004_N.png: missing
>>>> > Disp_1005_N.png: missing
>>>> > Disp_1006_N.png: missing
>>>> > Disp_1007_N.png: missing
>>>> > Disp_1008_N.png: missing
>>>> > Disp_1009_N.png: missing
>>>> > Disp_1010_N.png: missing
>>>> > Disp_1011_N.png: missing
>>>> > Disp_1012_N.png: missing
>>>&g

Re: Javascript problems on the relax wiki.

2015-10-20 Thread Edward d'Auvergne
On 20 October 2015 at 18:47, Troels Emtekær Linnet
 wrote:
> NAILED IT!

You might want to check this.  I just ran the ftp command:

ftp> rename .htaccess old.htaccess

I think that might have had more of an impact ;)

Regards,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: Javascript problems on the relax wiki.

2015-10-20 Thread Edward d'Auvergne
I think this is something to do with .htaccess, as it is clearly
nothing to do with the MediaWiki part:

"""
[edward@localhost wiki]$ wget
http://wiki.nmr-relax.com/images/1/1d/Screenshot_start.png
--2015-10-20 18:10:12--
http://wiki.nmr-relax.com/images/1/1d/Screenshot_start.png
Resolving wiki.nmr-relax.com (wiki.nmr-relax.com)... 217.116.232.203
Connecting to wiki.nmr-relax.com
(wiki.nmr-relax.com)|217.116.232.203|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2015-10-20 18:10:13 ERROR 404: Not Found.

[edward@localhost wiki]$ wget http://wiki.nmr-relax.com/LocalSettings.php
--2015-10-20 18:11:24--  http://wiki.nmr-relax.com/LocalSettings.php
Resolving wiki.nmr-relax.com (wiki.nmr-relax.com)... 217.116.232.203
Connecting to wiki.nmr-relax.com
(wiki.nmr-relax.com)|217.116.232.203|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 0 [text/html]
Saving to: ‘LocalSettings.php.1’

[ <=>

 ] 0   --.-K/s   in 0s

2015-10-20 18:11:25 (0.00 B/s) - ‘LocalSettings.php.1’ saved [0/0]

[edward@localhost temp]$ wget http://wiki.nmr-relax.com/cache/.htaccess
--2015-10-20 18:12:23--  http://wiki.nmr-relax.com/cache/.htaccess
Resolving wiki.nmr-relax.com (wiki.nmr-relax.com)... 217.116.232.203
Connecting to wiki.nmr-relax.com
(wiki.nmr-relax.com)|217.116.232.203|:80... connected.
HTTP request sent, awaiting response... 403 Forbidden
2015-10-20 18:12:23 ERROR 403: Forbidden.

"""

This is suspicious!

Regards,

Edward




On 20 October 2015 at 18:08, Troels Emtekær Linnet
<tlin...@nmr-relax.com> wrote:
> Hm.
>
> I am looking into this:
> https://www.mediawiki.org/wiki/Manual:Image_table
> https://www.mediawiki.org/wiki/Manual:$wgHashedUploadDirectory
>
> This did not work
>
> I reenabled .htaccess.
> Did not work.
>
> Has the md5 changed?
>
> 2015-10-20 17:53 GMT+02:00 Edward d'Auvergne <edw...@nmr-relax.com>:
>>
>> On 20 October 2015 at 17:48, Troels Emtekær Linnet
>> <tlin...@nmr-relax.com> wrote:
>> > Hi.
>> >
>> > I have added extension:
>> > https://www.mediawiki.org/wiki/Extension:Maintenance
>> > http://wiki.nmr-relax.com/index.php?title=Special:Version
>> > http://wiki.nmr-relax.com/index.php?title=Special:Maintenance
>> >
>> > I have tried:
>> >
>> > http://wiki.nmr-relax.com/index.php?title=Special:Maintenance/checkImages
>> >
>> > 2_make_surface_plot.png: missing
>> > About_gui.png: missing
>> > About_relax.png: missing
>> > Analysis_mf.png: missing
>> > Analysis_noe.png: missing
>> > Analysis_r1.png: missing
>> > Analysis_r2.png: missing
>> > Analysis_wizard.png: missing
>> > Bug_22024_Dw_kex.png: missing
>> > Bug_22024_Dw_kex_pA.png: missing
>> > Bug_22024_Dw_pA.png: missing
>> > Bug_22024_Kex_pA.png: missing
>> > Bug_22024_R2eff.png: missing
>> > CPMG_Model_B14_Example_data_disp_1_H.png: missing
>> > Consistency_testing_200x94.png: missing
>> > Core_design.png: missing
>> > Disp_1002_N.png: missing
>> > Disp_1003_N.png: missing
>> > Disp_1004_N.png: missing
>> > Disp_1005_N.png: missing
>> > Disp_1006_N.png: missing
>> > Disp_1007_N.png: missing
>> > Disp_1008_N.png: missing
>> > Disp_1009_N.png: missing
>> > Disp_1010_N.png: missing
>> > Disp_1011_N.png: missing
>> > Disp_1012_N.png: missing
>> > Disp_1013_N.png: missing
>> > Disp_1014_N.png: missing
>> > Disp_1015_N.png: missing
>> > Disp_1016_N.png: missing
>> > Disp_1017_N.png: missing
>> > Disp_1018_N.png: missing
>> > Disp_1019_N.png: missing
>> > Disp_1020_N.png: missing
>> > Disp_1021_N.png: missing
>> > Disp_1022_N.png: missing
>> > Disp_1023_N.png: missing
>> > Disp_1024_N.png: missing
>> > Disp_1025_N.png: missing
>> > Disp_1026_N.png: missing
>> > Disp_1027_N.png: missing
>> > Disp_1028_N.png: missing
>> > Disp_1029_N.png: missing
>> > Disp_1030_N.png: missing
>> > Disp_1031_N.png: missing
>> > Disp_1032_N.png: missing
>> > Disp_1033_N.png: missing
>> > Disp_1034_N.png: missing
>> > Disp_1035_N.png: missing
>> > Disp_1036_N.png: missing
>> > Disp_1037_N.png: missing
>> > Disp_1038_N.png: missing
>> > Disp_1039_N.png: missing
>> > Disp_1040_N.png: missing
>> > Disp_1041_N.png: missing
>> > Disp_1042_N.png: missing
>> > Disp_1043_N.png: missing
>> > Disp_1044_N.png: missing
>> > Disp_1045_N.png: missing
>> > D

Re: Javascript problems on the relax wiki.

2015-10-20 Thread Edward d'Auvergne
On 20 October 2015 at 16:44, Troels Emtekær Linnet
 wrote:
> Hi Edward.
>
> We are up:
>
> http://wiki.nmr-relax.com/Main_Page
> http://wiki.nmr-relax.com/Special:Version
> http://wiki.nmr-relax.com/Javascript_testing
>
> The wiki is currently locked for editing:
>
> $wgReadOnly = 'Upgrading to MediaWiki 1.25.3';
>
> I will now upload images

I'm watching the changes, and capturing some of the steps on the
wayback machine (for curiosity):


https://web.archive.org/web/20151020142128/http://wiki.nmr-relax.com/Main_Page

https://web.archive.org/web/20151020143925/http://wiki.nmr-relax.com/Main_Page

https://web.archive.org/web/20151020143930/http://wiki.nmr-relax.com/Special:Version

I'm also keen to see what happens on this test page:

http://wiki.nmr-relax.com/Temp_lua_testing_page

If this upgrade gets Lua to work, then maybe this thread can be resurrected:

http://thread.gmane.org/gmane.science.nmr.relax.devel/7046

And Wikipedia Template:Infobox elements (using the Scribunto
extension) can be added for all the relax releases.

Cheers!

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: Javascript problems on the relax wiki.

2015-10-20 Thread Edward d'Auvergne
On 20 October 2015 at 13:00, Troels Emtekær Linnet
 wrote:
> Hi Edward.
>
> In:
> https://www.mediawiki.org/wiki/Manual:Collapsible_elements#NavFrame
>
> It says with red text, that MediaWiki version: ≤ 1.18
>
> ??

Hi,

Thanks for the quick response!  The support should be there, but some
bug is breaking the JavaScript on
http://wiki.nmr-relax.com/MediaWiki:Common.js .  The "mw-collapsible"
is fully functional, but the class="NavFrame" elements are more
advanced relying on this custom JavaScript to turn the  box into
a collapsible element, based on the MediaWiki "mw-collapsible"
concept.


> 2015-10-20 12:45 GMT+02:00 Troels Emtekær Linnet :
>>
>> Hi Edward.
>>
>> I have tried:
>> http://wiki.nmr-relax.com/Javascript_testing
>>
>> For me this looks fine?
>>
>> For the NavFrame test, I see both an expanded and collapsed box.
>>
>> Is the error, that you don't see " the [hide] and [show] links to the
>> right of the titles" ?
>>
>> This must be what you are missing:
>> I also don't see the possibility to expand or hide.

This is the problem.  The standard MediaWiki NavFrame JavaScript that
I added to http://wiki.nmr-relax.com/MediaWiki:Common.js is somehow
broken.  This js code should turn the  element
into a collapsible element, which appears to be working using an old
version of the NavFrame JavaScript, but it is having a problem adding
the "[ show ]" and "[ hide ]" text into the  box to allow the
 box to open and close.


>> From:
>> http://wiki.nmr-relax.com/Special:Version
>>
>> I see:
>> MediaWiki 1.21.1
>> PHP 5.3.29 (cgi-fcgi)
>> MySQL 5.6.25-1~dotdeb+7.1
>>
>> Latest version of Mediawiki is:
>> 1.25.3, and 1.21.1 is from 2013-05-25.
>> https://www.mediawiki.org/wiki/News
>>
>> On the server is: PHP 5.3 enabled.
>> I can change to: 5.4, 5.5, 5.6, 7.0 (RC).
>>
>> And there is options to change for PHP.
>> allow_url_fopen: On
>> allow_url_include: On
>> always_populate_raw_post_data: 0
>> apc.rfc1867: On
>> asp_tags: On
>> date.timezone
>> default_mimetype: text/html
>> display_errors: On
>> engine: On
>> expose_php: On
>> file_uploads: On
>> html_errors: On
>> magic_quotes_gpc: Off
>> max_execution_time: 30
>> max_file_uploads: 20
>> max_input_time: 60
>> max_input_vars: 1000
>> mbstring.func_overload: 0
>> mbstring.internal_encoding:
>> memory_limit: 128 MB
>> mysql.allow_persistent: On
>> mysql.default_host:
>> mysql.default_port: 3306
>> mysql.default_user:
>> mysql.trace_mode: Off
>> output_buffering: Off
>> post_max_size: 32 Mb
>> realpath_cache_size: 16
>> realpath_cache_ttl: 120
>> register_globals: Off
>> safe_mode: Off
>> session.auto_start: Off
>> session.bug_compat_42: Off
>> session.bug_compat_warn: Off
>> session.cookie_domain:
>> session.cookie_lifetime: 0
>> session.cookie_path: /
>> session.gc_maxlifetime: 3600
>>
>> and some 20 more.
>>
>>
>> Does any of this help you?

Unfortunately not.   The info at http://wiki.nmr-relax.com/phpinfo.php
also doesn't help.  That's why I have a feeling that this is maybe a
bug within MediaWiki itself, specifically to do with JavaScript.
Though I cannot be sure.  In any case, the result should be that "[
show ]" and "[ hide ]" links are present, so that these two templates
match 100%, as the code is identical:

http://wiki.nmr-relax.com/Template:Collapsible_script
http://wiki.flightgear.org/Template:Collapsible_script

I'll continue with the testing.  Though temporarily removing all
installed extensions from LocalSettings.php does not fix the problem,
so it won't be an extension problem.  It is rather perplexing!

Cheers,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: Javascript problems on the relax wiki.

2015-10-20 Thread Edward d'Auvergne
On 20 October 2015 at 15:36, Troels Emtekær Linnet
 wrote:
> Hi.
>
> When I upgrade from 5.3, the page is flooded with problems relating to:
>
> includes/MagicWord.php
>
> http://www.gossamer-threads.com/lists/wiki/mediawiki/504636
>
> The fix is to update the wiki.
>
> Do you have a current backup?

Yes, my cron job just ran for the day, so I have a db dump, XML dump,
and ftpdump from a few hours ago.

Regards,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: Javascript problems on the relax wiki.

2015-10-20 Thread Edward d'Auvergne
On 20 October 2015 at 15:36, Troels Emtekær Linnet
 wrote:
> Hi.
>
> When I upgrade from 5.3, the page is flooded with problems relating to:
>
> includes/MagicWord.php
>
> http://www.gossamer-threads.com/lists/wiki/mediawiki/504636
>
> The fix is to update the wiki.

Is there shell access to run the MediaWiki update.php script?  Or is
this web-interface only?  I can help with updating the extensions, and
we can do this gradually.

Cheers,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Javascript problems on the relax wiki.

2015-10-19 Thread Edward d'Auvergne
Hi Troels,

I am having problems with javascript on the wiki, and was wondering if
you might have an idea what the problem might be.  I have been trying
to set up a template to allow for collapsible scripts based on the
NavFrame, to de-clutter some of the wiki articles.  The template is:

http://wiki.nmr-relax.com/Template:Collapsible_script

This is based on exactly the same template I wrote at:

   http://wiki.flightgear.org/Template:Collapsible_script

The idea is based on the collapsible NavFrame examples at:

https://www.mediawiki.org/wiki/Manual:Collapsible_elements

The problem is that javascript is not working properly on the relax
wiki and the [hide] and [show] text programmatically inserted into the
 element to allow it to collapse and expand is missing (it can be
seen as functional on the FlightGear wiki, for reference).  To check
our set up, I've set up a test page at:

http://wiki.nmr-relax.com/Javascript_testing

This shows that Javascript is now working (previously it was not due
to the Harvard references js), but that the NavFrame javascript is
not.  I do not know why this is not working, as according to the
Manual:Collapsible_elements page, this should work from MediaWiki 1.18
and above (we are using 1.21.1).  I have inserted the relevant
javascript and CSS at:

http://wiki.nmr-relax.com/MediaWiki:Common.js
http://wiki.nmr-relax.com/MediaWiki:Common.css

Would you have an idea why this is not working?  I tried commenting
out all extensions in the LocalSettings.php file, but that did not
help on the http://wiki.nmr-relax.com/Javascript_testing page.  This
really has me stumped!  Maybe it is a bug in MediaWiki itself, and we
need to update it?  Maybe it is related to the bug "Fix comma errors
in various js files" fixed in MediaWiki 1.21.3 (
https://www.mediawiki.org/wiki/Release_notes/1.21#MediaWiki_1.21.3 ) -
this might cause other javascript to be broken.

Cheers,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: Wiki is weird

2015-06-15 Thread Edward d'Auvergne
Hmmm, very strange!  I haven't been on the wiki for quite a while and
haven't changed anything for a month or two.  Do your other wikis on
the same infrastructure work ok?

Cheers,

Edward

On 15 June 2015 at 13:58, Troels Emtekær Linnet tlin...@gmail.com wrote:
 Hi Edward.

 The wiki looks like it is having problems.

 Are you trying something new?

 Best
 Troels

 Troels Emtekær Linnet
 ___
 relax (http://www.nmr-relax.com)

 This is the relax-devel mailing list
 relax-devel@gna.org

 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-devel

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: [bug #23644] monte_carlo.error_analysis() does not update the mean value/expectation value from simulations

2015-06-15 Thread Edward d'Auvergne
On 15 June 2015 at 15:33, Edward d'Auvergne edw...@nmr-relax.com wrote:
 On 15 June 2015 at 15:28, Troels Emtekær Linnet tlin...@nmr-relax.com wrote:
 Hi Edward.

 What do you think about this bug report?

 I added some figures, showing that the parameter values does not represent
 the expectation value of the Monte-Carlo simulation distribution.

 Did you see my response at ...  Oh, it was not reply-to-all and it
 went to the no-reply.invalid-addr...@gna.org email address only!  My
 email from 3 hours ago was:

 
 This is actually the definition of Monte Carlo simulations.  The
 parameter value is the optimised value and the parameter error is the
 standard deviation of the back-calculated distribution.  There are two
 opposite and very much related values which do not have a great
 statistical meaning.  That is the mean of the back-calculated
 distribution and the standard deviation of the non-back-calculated
 distribution.  These are unused for good reason.  You can create the
 non-back-calculated distribution by using the bootstrapping in relax -
 the mean of this will equal the optimised parameter value, but the
 standard deviation will not match the MC standard deviation.  I
 suggest looking at the Numerical Recipes books as they have a great
 diagram of the Monte Carlo simulation setup and how the parameter
 value and error are calculated.
 

In essence, you have stumbled upon a very important statistics
concept.  You'll see this written up in my PhD thesis (
https://minerva-access.unimelb.edu.au/handle/11343/39174 ),
specifically the section 2.2.1 Model selection theory for NMR
relaxation, and the paragraph The four relaxation data sets.  I'll
reproduce the text for reference:


For a single nucleus four different types of relaxation data sets
exist, the true set Rtrue, the sample set R, the true back calculated
set Rtrue(θ), and the back calculated set R(θ). A relaxation data set
is defined as the collection of all the relaxation values which
influence the model. θ is the vector whose elements are the parameters
of the model. The true set is the true relaxation data underlying the
measured data. It can never be observed due to noise. The sample set
is the experimentally available or measured relaxation data set and is
the true set plus noise. The true back calculated and back calculated
sets are determined from the model-free parameters which are fitted
using the true or sample sets respectively. The differences between
the models are reflected in the two back calculated sets whereas the
true and sample sets remain constant. For each of the four data sets
there is a corresponding error set with the same dimension. By
assuming Gaussian errors the data and error sets together describe a
set of normal probability distribution functions (pdfs) with one
normal pdf for each data point. It is assumed that all four error sets
are identical and therefore the one error set σ will be used in
association with all four data sets.


You are seeing two of these 4 distributions!  That is the sample set
and back calculated set, not the true set or true back calculated set.
Keep reading the Maximum likelihood and the full text of
Discrepancies, and then hopefully you'll be a master of these
frequentist statistics concepts ;)

Regards,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: Wiki is weird

2015-06-15 Thread Edward d'Auvergne
This link may be of interest:

https://www.mediawiki.org/wiki/Thread:Project:Support_desk/Warning:_preg_replace%28%29:_Compilation_failed:_group_name_must_start_with_a_non-digit_at_offset_4_i

Maybe the server infrastructure has been updated?

Regards,

Edward



On 15 June 2015 at 14:05, Edward d'Auvergne edw...@nmr-relax.com wrote:
 Hmmm, very strange!  I haven't been on the wiki for quite a while and
 haven't changed anything for a month or two.  Do your other wikis on
 the same infrastructure work ok?

 Cheers,

 Edward

 On 15 June 2015 at 13:58, Troels Emtekær Linnet tlin...@gmail.com wrote:
 Hi Edward.

 The wiki looks like it is having problems.

 Are you trying something new?

 Best
 Troels

 Troels Emtekær Linnet
 ___
 relax (http://www.nmr-relax.com)

 This is the relax-devel mailing list
 relax-devel@gna.org

 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-devel

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: Wiki is weird

2015-06-15 Thread Edward d'Auvergne
I've turned off certificate checking for the FTP client (
http://anils-tips.blogspot.de/2011/05/lftp-fatal-error-certificate.html
) and am now making a backup.

Regards,

Edward

On 15 June 2015 at 14:19, Edward d'Auvergne edw...@nmr-relax.com wrote:
 On 15 June 2015 at 14:17, Troels Emtekær Linnet tlin...@gmail.com wrote:
 Hi Edward.

 It suggests updating.

 Do you have backups before I proceed?

 Like in the other mail, I have the MySQL dump, but FTP login is
 failing for me.  Can you log in?  It would be good to have a new FTP
 dump before a MediaWiki upgrade.  Do you have your dumps?

 Cheers,

 Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: [bug #23644] monte_carlo.error_analysis() does not update the mean value/expectation value from simulations

2015-06-15 Thread Edward d'Auvergne
On 15 June 2015 at 15:28, Troels Emtekær Linnet tlin...@nmr-relax.com wrote:
 Hi Edward.

 What do you think about this bug report?

 I added some figures, showing that the parameter values does not represent
 the expectation value of the Monte-Carlo simulation distribution.

Did you see my response at ...  Oh, it was not reply-to-all and it
went to the no-reply.invalid-addr...@gna.org email address only!  My
email from 3 hours ago was:


This is actually the definition of Monte Carlo simulations.  The
parameter value is the optimised value and the parameter error is the
standard deviation of the back-calculated distribution.  There are two
opposite and very much related values which do not have a great
statistical meaning.  That is the mean of the back-calculated
distribution and the standard deviation of the non-back-calculated
distribution.  These are unused for good reason.  You can create the
non-back-calculated distribution by using the bootstrapping in relax -
the mean of this will equal the optimised parameter value, but the
standard deviation will not match the MC standard deviation.  I
suggest looking at the Numerical Recipes books as they have a great
diagram of the Monte Carlo simulation setup and how the parameter
value and error are calculated.


Regards,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: Wiki is weird

2015-06-15 Thread Edward d'Auvergne
On 15 June 2015 at 14:17, Troels Emtekær Linnet tlin...@gmail.com wrote:
 Hi Edward.

 It suggests updating.

 Do you have backups before I proceed?

Like in the other mail, I have the MySQL dump, but FTP login is
failing for me.  Can you log in?  It would be good to have a new FTP
dump before a MediaWiki upgrade.  Do you have your dumps?

Cheers,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: Wiki is weird

2015-06-15 Thread Edward d'Auvergne
On 15 June 2015 at 15:27, Troels Emtekær Linnet tlin...@gmail.com wrote:
 This looks fine for me.

 Try purge cache
 Try adding: ?action=purge

 http://wiki.nmr-relax.com/Relax_3.3.7?action=purge

I think you looking at it, or purging it, fixed it for me - the page
was magically restored!  Thanks again for sorting this out :)

Cheers,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: [bug #23642] When deleting all spins for a residue, an empty placeholder is where select=True

2015-06-15 Thread Edward d'Auvergne
Hi Troels,

The change for this bug looks to be good (
http://thread.gmane.org/gmane.science.nmr.relax.scm/25601 ) - the test
suite is unaffected and the spin viewer window in the GUI seems to be
happy.

Cheers,

Edward

On 13 June 2015 at 13:53, Troels E. Linnet
no-reply.invalid-addr...@gna.org wrote:
 URL:
   http://gna.org/bugs/?23642

  Summary: When deleting all spins for a residue, an empty
 placeholder is where select=True
  Project: relax
 Submitted by: tlinnet
 Submitted on: Sat 13 Jun 2015 11:53:52 UTC
 Category: None
 Specific analysis category: All analyses
 Priority: 5 - Normal
 Severity: 3 - Normal
   Status: None
  Assigned to: None
  Originator Name:
 Originator Email:
  Open/Closed: Open
  Release: Repository: trunk
  Discussion Lock: Any
 Operating System: All systems

 ___

 Details:

 When deleting all spins for a residue, an empty placeholder is where
 select=True

 This is not very convenient, when one afterwards do spin_loop, where the empty
 spins shows up.




 ___

 Reply to this item at:

   http://gna.org/bugs/?23642

 ___
   Message sent via/by Gna!
   http://gna.org/


 ___
 relax (http://www.nmr-relax.com)

 This is the relax-devel mailing list
 relax-devel@gna.org

 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-devel

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: [bug #23618] queuing system for multi processors is not well designed.

2015-06-11 Thread Edward d'Auvergne
Hi Troels,

Just so you know, this is a problem I have tried to tackle before, but
did not find a successful solution.  It's a general problem with an
MPI-based set up.  It may be possible to have the slave nodes return
progressive meta information back to the master to allow for this, but
I believe that in the end I decided that it was not worth the time
investment to come up with a solution which did not slow down the
calculations.

Cheers,

Edward


On 11 June 2015 at 13:20, Troels E. Linnet
no-reply.invalid-addr...@gna.org wrote:
 Update of bug #23618 (project relax):

   Status:None = Invalid
  Assigned to:None = tlinnet
  Open/Closed:Open = Closed

 ___

 Follow-up Comment #7:

 This problem is maybe more related to missing printout of progress in for
 multi core monte-carlo simulations.

 If 500 montecarlo simulations is spread out on 10 processors, each job gets 50
 MC to handle.
 But the processors does not report back, before all 50 MC is completed, and
 this can take some time.

 Therefore, it will for the user seems like that relax is stuck, when using
 10 processors.

 For a uni-processor setup, each MC simulation is handled, and reported back
 when completed. This gives a better feeling with the process.




 ___

 Reply to this item at:

   http://gna.org/bugs/?23618

 ___
   Message sent via/by Gna!
   http://gna.org/


 ___
 relax (http://www.nmr-relax.com)

 This is the relax-devel mailing list
 relax-devel@gna.org

 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-devel

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: r27834 - /trunk/auto_analyses/relax_disp_repeat_cpmg.py

2015-06-08 Thread Edward d'Auvergne
On 27 May 2015 at 03:09,  tlin...@nmr-relax.com wrote:
 Author: tlinnet
 Date: Wed May 27 03:09:35 2015
 New Revision: 27834

 URL: http://svn.gna.org/viewcvs/relax?rev=27834view=rev
 Log:
 Wrote a method to store parameter data and dispersion curves, for the 
 protocol of repeated analysis.

 This is to prepare for analysis in other programs.
 The method loops throug the data pipes, and write the data out.

 It then write a bash script, that will concatenate the data in an matrix 
 array style, for reading and processing in other programs.

 Task #7826 (https://gna.org/task/?7826): Write an python class for the 
 repeated analysis of dispersion data.

 Modified:
 trunk/auto_analyses/relax_disp_repeat_cpmg.py

 Modified: trunk/auto_analyses/relax_disp_repeat_cpmg.py
 URL: 
 http://svn.gna.org/viewcvs/relax/trunk/auto_analyses/relax_disp_repeat_cpmg.py?rev=27834r1=27833r2=27834view=diff
 ==
 --- trunk/auto_analyses/relax_disp_repeat_cpmg.py   (original)
 +++ trunk/auto_analyses/relax_disp_repeat_cpmg.py   Wed May 27 03:09:35 
 2015
 @@ -32,10 +32,11 @@
  from copy import deepcopy
  from datetime import datetime
  from glob import glob
 -from os import F_OK, access, getcwd, sep
 +from os import F_OK, access, chmod, getcwd, sep
  from numpy import any, asarray, arange, concatenate, max, mean, min, sqrt, 
 std, sum
  if dep_check.scipy_module:
  from scipy.stats import pearsonr
 +from stat import S_IRWXU, S_IRGRP, S_IROTH
  import sys
  from warnings import warn

 @@ -48,7 +49,7 @@
  from pipe_control.mol_res_spin import display_spin, generate_spin_string, 
 return_spin, spin_loop
  from pipe_control import pipes
  from prompt.interpreter import Interpreter
 -from specific_analyses.relax_disp.data import generate_r20_key, 
 has_exponential_exp_type, is_r1_optimised, loop_exp_frq_offset, 
 loop_exp_frq_offset_point, return_param_key_from_data
 +from specific_analyses.relax_disp.data import generate_r20_key, 
 has_exponential_exp_type, has_cpmg_exp_type, is_r1_optimised, 
 loop_exp_frq_offset, loop_exp_frq_offset_point, return_param_key_from_data
  from status import Status; status = Status()

  if dep_check.matplotlib_module:
 @@ -2665,6 +2666,149 @@
  plt.show()


 +def write_results(self, method=None, model=None, analysis=None, 
 list_glob_ini=None, selection=None):
 +
 +for glob_ini in list_glob_ini:

Hi Troels,

I'm now back from holidays and have time to look at your changes and
proposals.  For future maintenance, I would highly recommend adding a
short docstring describing the intent of each of these methods.  That
will allow others to check that any new additions by future authors
actually fit into your method, or if they belong elsewhere.  It will
allow the code to be kept clean and well organised.  The text from the
commit message would be good for this.  The write_convert_file()
method as well would benefit with the text Write a bash script, that
will concatenate the data in an matrix array style, for reading and
processing in other programs..

Cheers,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: r27840 - /trunk/auto_analyses/relax_disp_repeat_cpmg.py

2015-06-08 Thread Edward d'Auvergne
Hi Troels,

I'm not sure what this means yet, but I think this would be better
stored in the status object.  It could be a run time command line
option --mp_verbosity which can be true or false, or set in a
different way.  The reason is because the multi-processor framework is
not only for minimisation.  It could be used for anything that can be
run on a cluster.  Think of dx.map, dasha.execute, palmer.execute,
structure.sequence_alignment, structure.superimpose, a grid search, or
a new analysis parallised at a much higher level.  I think it would be
good to discuss this.

Cheers,

Edward

On 27 May 2015 at 03:09,  tlin...@nmr-relax.com wrote:
 Author: tlinnet
 Date: Wed May 27 03:09:48 2015
 New Revision: 27840

 URL: http://svn.gna.org/viewcvs/relax?rev=27840view=rev
 Log:
 Adding keyword for verbosity for multi processor mode.

 Task #7826 (https://gna.org/task/?7826): Write an python class for the 
 repeated analysis of dispersion data.

 Modified:
 trunk/auto_analyses/relax_disp_repeat_cpmg.py

 Modified: trunk/auto_analyses/relax_disp_repeat_cpmg.py
 URL: 
 http://svn.gna.org/viewcvs/relax/trunk/auto_analyses/relax_disp_repeat_cpmg.py?rev=27840r1=27839r2=27840view=diff
 ==
 --- trunk/auto_analyses/relax_disp_repeat_cpmg.py   (original)
 +++ trunk/auto_analyses/relax_disp_repeat_cpmg.py   Wed May 27 03:09:48 
 2015
 @@ -781,7 +781,7 @@
  print(Clustered spins are:, cdp.clustering)


 -def minimise_execute(self, verbosity=1, methods=None, model=None, 
 model_from=None, analysis=None, analysis_from=None, list_glob_ini=None, 
 force=False, mc_err_analysis=False):
 +def minimise_execute(self, verbosity=1, methods=None, model=None, 
 model_from=None, analysis=None, analysis_from=None, list_glob_ini=None, 
 force=False, mc_err_analysis=False, mp_verbosity=0):
  Use value.set on all pipes.

  # Set default
 @@ -826,7 +826,7 @@
  subsection(file=sys.stdout, text=Performing Monte-Carlo 
 minimisations on %i simulations%(getattr(cdp, sim_number)), prespace=0)

  # Do the minimisation.
 -self.interpreter.minimise.execute(min_algor=self.min_algor, 
 func_tol=self.opt_func_tol, max_iter=self.opt_max_iterations, 
 constraints=self.constraints, scaling=True, verbosity=verbosity)
 +self.interpreter.minimise.execute(min_algor=self.min_algor, 
 func_tol=self.opt_func_tol, max_iter=self.opt_max_iterations, 
 constraints=self.constraints, scaling=True, verbosity=verbosity, 
 mp_verbosity=mp_verbosity)

  # Do Monte-Carlo error analysis
  if mc_err_analysis:


 ___
 relax (http://www.nmr-relax.com)

 This is the relax-commits mailing list
 relax-comm...@gna.org

 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-commits

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: r27834 - /trunk/auto_analyses/relax_disp_repeat_cpmg.py

2015-06-08 Thread Edward d'Auvergne
Hi Troels,

Another point for the new write_convert_file() method, would this be
doable as a Python rather than Bash script?  This addition makes the
analysis GNU/Linux or Mac OS X specific, and MS Windows users miss
out.  Or am I missing something?

Cheers,

Edward


On 27 May 2015 at 03:09,  tlin...@nmr-relax.com wrote:
 Author: tlinnet
 Date: Wed May 27 03:09:35 2015
 New Revision: 27834

 URL: http://svn.gna.org/viewcvs/relax?rev=27834view=rev
 Log:
 Wrote a method to store parameter data and dispersion curves, for the 
 protocol of repeated analysis.

 This is to prepare for analysis in other programs.
 The method loops throug the data pipes, and write the data out.

 It then write a bash script, that will concatenate the data in an matrix 
 array style, for reading and processing in other programs.

 Task #7826 (https://gna.org/task/?7826): Write an python class for the 
 repeated analysis of dispersion data.

 Modified:
 trunk/auto_analyses/relax_disp_repeat_cpmg.py

 Modified: trunk/auto_analyses/relax_disp_repeat_cpmg.py
 URL: 
 http://svn.gna.org/viewcvs/relax/trunk/auto_analyses/relax_disp_repeat_cpmg.py?rev=27834r1=27833r2=27834view=diff
 ==
 --- trunk/auto_analyses/relax_disp_repeat_cpmg.py   (original)
 +++ trunk/auto_analyses/relax_disp_repeat_cpmg.py   Wed May 27 03:09:35 
 2015
 @@ -32,10 +32,11 @@
  from copy import deepcopy
  from datetime import datetime
  from glob import glob
 -from os import F_OK, access, getcwd, sep
 +from os import F_OK, access, chmod, getcwd, sep
  from numpy import any, asarray, arange, concatenate, max, mean, min, sqrt, 
 std, sum
  if dep_check.scipy_module:
  from scipy.stats import pearsonr
 +from stat import S_IRWXU, S_IRGRP, S_IROTH
  import sys
  from warnings import warn

 @@ -48,7 +49,7 @@
  from pipe_control.mol_res_spin import display_spin, generate_spin_string, 
 return_spin, spin_loop
  from pipe_control import pipes
  from prompt.interpreter import Interpreter
 -from specific_analyses.relax_disp.data import generate_r20_key, 
 has_exponential_exp_type, is_r1_optimised, loop_exp_frq_offset, 
 loop_exp_frq_offset_point, return_param_key_from_data
 +from specific_analyses.relax_disp.data import generate_r20_key, 
 has_exponential_exp_type, has_cpmg_exp_type, is_r1_optimised, 
 loop_exp_frq_offset, loop_exp_frq_offset_point, return_param_key_from_data
  from status import Status; status = Status()

  if dep_check.matplotlib_module:
 @@ -2665,6 +2666,149 @@
  plt.show()


 +def write_results(self, method=None, model=None, analysis=None, 
 list_glob_ini=None, selection=None):
 +
 +for glob_ini in list_glob_ini:
 +# Check previous, and get the pipe name.
 +found, pipe_name, resfile, path = 
 self.check_previous_result(method=method, model=model, analysis=analysis, 
 glob_ini=glob_ini, bundle=method)
 +
 +if pipes.cdp_name() != pipe_name:
 +self.interpreter.pipe.switch(pipe_name)
 +
 +# Printout.
 +section(file=sys.stdout, text=Results writing for 
 pipe='%s%(pipe_name), prespace=2, postspace=0)
 +model_params = MODEL_PARAMS[model]
 +subsection(file=sys.stdout, text=Model %s, with 
 params='%s%(model, model_params), prespace=0)
 +
 +# Set path
 +model_path = model.replace( , _)
 +analysis_path = analysis.replace( , _)
 +path = self.results_dir+sep+model_path+sep+analysis_path
 +
 +# Dispersion curves.
 +path_disp = path+sep+disp_curves+sep+method+sep+str(glob_ini)
 +self.interpreter.relax_disp.plot_disp_curves(dir=path_disp, 
 force=True)
 +self.interpreter.relax_disp.write_disp_curves(dir=path_disp, 
 force=True)
 +
 +# The selected models for the final run.
 +self.interpreter.value.write(param='model', file='model.out', 
 dir=path, force=True)
 +
 +models_tested = None
 +
 +# For CPMG models.
 +filep = str(glob_ini)+_+method+_
 +path_par = path+sep+r2
 +if has_cpmg_exp_type():
 +# The R20 parameter.
 +self.write_results_test(path=path_par, model=model, 
 models_tested=models_tested, param='r2', file_name_ini=filep+'r20')
 +
 +# The R20A and R20B parameters.
 +self.write_results_test(path=path_par, model=model, 
 models_tested=models_tested, param='r2a', file_name_ini=filep+'r20a')
 +self.write_results_test(path=path_par, model=model, 
 models_tested=models_tested, param='r2b', file_name_ini=filep+'r20b')
 +
 +# The pA and pB parameters.
 +path_par = path+sep+pop
 +self.write_results_test(path=path_par, model=model, 
 models_tested=models_tested, param='pA', file_name_ini=filep+'pA')
 +self.write_results_test(path=path_par, model=model, 
 

Re: r27844 - /trunk/multi/processor.py

2015-06-08 Thread Edward d'Auvergne
Hi Troels,

I would suggest reverting this change is it is detrimental for the
model-free analyses where this chunking can really help.  Maybe there
is a way to do this on a per analysis level, but I'm not convinced
that this change would help anyway.

Cheers,

Edward


On 27 May 2015 at 03:09,  tlin...@nmr-relax.com wrote:
 Author: tlinnet
 Date: Wed May 27 03:09:57 2015
 New Revision: 27844

 URL: http://svn.gna.org/viewcvs/relax?rev=27844view=rev
 Log:
 Suggestion Fix 1, in multi.processor.run_queue().

 This fix changes, that the amount of simulations is not chunked up before 
 sending each chunk to a CPU.
 Rather, all jobs are to be submitted after each other, and finished for 
 themselves.

 Bug #23618: (https://gna.org/bugs/index.php?23618): queuing system for multi 
 processors is not well designed.

 Modified:
 trunk/multi/processor.py

 Modified: trunk/multi/processor.py
 URL: 
 http://svn.gna.org/viewcvs/relax/trunk/multi/processor.py?rev=27844r1=27843r2=27844view=diff
 ==
 --- trunk/multi/processor.py(original)
 +++ trunk/multi/processor.pyWed May 27 03:09:57 2015
 @@ -633,8 +633,8 @@
  

  #FIXME: need a finally here to cleanup exceptions states
 -lqueue = self.chunk_queue(self.command_queue)
 -self.run_command_queue(lqueue)
 +#lqueue = self.chunk_queue(self.command_queue)
 +self.run_command_queue(self.command_queue)

  del self.command_queue[:]
  self.memo_map.clear()


 ___
 relax (http://www.nmr-relax.com)

 This is the relax-commits mailing list
 relax-comm...@gna.org

 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-commits

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: [bug #23618] queuing system for multi processors is not well designed.

2015-06-08 Thread Edward d'Auvergne
Hi Troels,

Please see below:


On 27 May 2015 at 02:10, Troels E. Linnet
no-reply.invalid-addr...@gna.org wrote:
 URL:
   http://gna.org/bugs/?23618

  Summary: queuing system for multi processors is not well
 designed.
  Project: relax
 Submitted by: tlinnet
 Submitted on: Wed 27 May 2015 12:10:57 AM UTC
 Category: relax's source code
 Specific analysis category: None
 Priority: 5 - Normal
 Severity: 3 - Normal
   Status: None
  Assigned to: None
  Originator Name:
 Originator Email:
  Open/Closed: Open
  Release: Repository: trunk
  Discussion Lock: Any
 Operating System: All systems

 ___

 Details:

 There queuing system for multi processors appears not to be designed well.

 This has been detected in dispersion analysis.
 A clustered fit of 74 spins, doing 100 monte carlo simulations.

 The test has been where a number of multi processors is 10, with 1 CPU as
 master.

 The problem seems to reside in:
 multi.processor.run_queue()
 multi.multi_processor.chunk_queue()

 The current queuing system will take the 100 monte carlo simulations, and
 chunk them up in pieces of 10, and distribute each of these chunks to each
 CPU.

 Each CPU thus have 10 simulations to handle.

 The problem is, that not each simulations is equally fast to be solved.
 Thus, a CPU will hang until all simulations has finished.
 This will block the possibility to assign CPU power for other tasks, until
 all simulations has finished.

 A suggestion for a first fix, is not to chunk up the queue,
 but let each simulation be handled independently.

 In multi/processor.py
 --
 -lqueue = self.chunk_queue(self.command_queue)
 -self.run_command_queue(lqueue)
 +#lqueue = self.chunk_queue(self.command_queue)
 +self.run_command_queue(self.command_queue)
 -

 This does seem to improve the timing much, but give a better overview in the
 process.

This is actually a balancing act which depends on the data transfer
rate between the nodes and the per-node computation time.  For
applications where data transfer is rate limiting (either data
transfer is slow, or the calculations are relatively very fast), the
chunking is very, very useful.  This is the case for model-free
analyses on the per-residue level parallelisation.


 It appears that the queuing system can even be enhanced more.
 The list of Running set is not replenished before all jobs in Running set
 is completed.

This is not what I remember as happening.  I remember clearly seeing
the queue being replenished.  Maybe a bug has been introduced.  Or
maybe this new bug is specific to the parallelisation of Monte Carlo
simulations, and not the other parallelisations.  We need to get to
the bottom of this.


 This influences the solving time.


 
 Only 20 monte carlo simulations is runned for comparison.
 /usr/bin/time -p relax_multi bug.py

 The running time for 1 CPU, no multi processor:
 real 510.94
 user 5903.01
 sys 133.96

 The running time for 1 CPU, 4 multi processor:
 real 214.89
 user 1786.39
 sys 37.09

 The running time for 1 CPU, 10 multi processor:
 real 108.39
 user 1930.21
 sys 44.45


 The running time for 1 CPU, 4 multi processor with first fix:
 real 235.46
 user 1892.20
 sys 38.58

 The running time for 1 CPU, 10 multi processor with first fix
 real 110.50
 user 1957.99
 sys 43.60

What is the 'relax_multi' file?  The times with the fix look to be the
same.  I don't believe that this change is a fix though, and you
should probably revert it.  For the 4 to 10 processor 'sys' time
increase, this might be due to data transfer being a bottleneck.  I
cannot however check this yet, as I don't know how to execute the
'bug.py' script yet ;)

Cheers,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: r27842 - /trunk/multi/processor.py

2015-06-08 Thread Edward d'Auvergne
On 27 May 2015 at 03:09,  tlin...@nmr-relax.com wrote:
 Author: tlinnet
 Date: Wed May 27 03:09:52 2015
 New Revision: 27842

 URL: http://svn.gna.org/viewcvs/relax?rev=27842view=rev
 Log:
 In multi.processor(), moving up the debugging print-out of running sets of 
 calculatation.

 Modified:
 trunk/multi/processor.py

 Modified: trunk/multi/processor.py
 URL: 
 http://svn.gna.org/viewcvs/relax/trunk/multi/processor.py?rev=27842r1=27841r2=27842view=diff
 ==
 --- trunk/multi/processor.py(original)
 +++ trunk/multi/processor.pyWed May 27 03:09:52 2015
 @@ -604,14 +604,14 @@

  # Loop until the queue of calculations is depleted.
  while len(running_set) != 0:
 -# Get the result.
 -result = self.master_receive_result()
 -
  # Debugging printout.
  if verbosity.level():
  print('\nIdle set:%s' % idle_set)
  print('Running set: %s' % running_set)

 +# Get the result.
 +result = self.master_receive_result()
 +
  # Shift the processor rank to the idle set.
  if result.completed:
  idle_set.add(result.rank)

This change seems reasonable.  Previously it was saying what remained,
but now it is showing what is to be done.

Regards,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: r27845 - /trunk/multi/processor.py

2015-06-08 Thread Edward d'Auvergne
On 27 May 2015 at 03:09,  tlin...@nmr-relax.com wrote:
 Author: tlinnet
 Date: Wed May 27 03:09:59 2015
 New Revision: 27845

 URL: http://svn.gna.org/viewcvs/relax?rev=27845view=rev
 Log:
 Suggestion for fix 2, where jobs are continously replenished when other jobs 
 are finished.

 Bug #23618: (https://gna.org/bugs/index.php?23618): queuing system for multi 
 processors is not well designed.

 Modified:
 trunk/multi/processor.py

 Modified: trunk/multi/processor.py
 URL: 
 http://svn.gna.org/viewcvs/relax/trunk/multi/processor.py?rev=27845r1=27844r2=27845view=diff
 ==
 --- trunk/multi/processor.py(original)
 +++ trunk/multi/processor.pyWed May 27 03:09:59 2015
 @@ -585,6 +585,8 @@

  running_set = set()
  idle_set = set([i for i in range(1, self.processor_size()+1)])
 +all_jobs = list(reversed(xrange(1, len(queue)+1)))
 +completed_jobs = []

  if self.threaded_result_processing:
  result_queue = Threaded_result_queue(self)
 @@ -606,8 +608,9 @@
  while len(running_set) != 0:
  # Debugging printout.
  if verbosity.level():
 -print('\nIdle set:%s' % idle_set)
 -print('Running set: %s' % running_set)
 +print('\n')
 +print('Running nr of jobs: %i' % len(running_set))
 +print('Completed jobs: %s' % len(completed_jobs))

  # Get the result.
  result = self.master_receive_result()
 @@ -616,6 +619,13 @@
  if result.completed:
  idle_set.add(result.rank)
  running_set.remove(result.rank)
 +completed_jobs.append(all_jobs.pop())
 +if len(queue) != 0:
 +# Add new to que
 +command = queue.pop()
 +dest = result.rank
 +self.master_queue_command(command=command, dest=dest)
 +running_set.add(dest)

  # Add to the result queue for instant or threaded processing.
  result_queue.put(result)

Hi Troels,

Are you sure these changes to Gary's multi-processor code have the
intended result?  From my timings before and after this change, with
the bug.py and bug.bz2 files attached to https://gna.org/bugs/?23618
and the command mpirun -np 6 /data/relax/relax-trunk/relax -d
--multi='mpi4py' bug.py, there are no real time differences.  But
that is probably because all my 8 CPU cores run at the same speed.
Maybe a better test than MC simulations would be for a per-residue
parallelisation where each calculation for each residue takes a
different amount of time to complete.  Does this work if the chunked
operation is restored (
http://thread.gmane.org/gmane.science.nmr.relax.scm/25596/focus=7593
)?

Note a few more points:

- The xrange() function should not be used, as this kills the
multi-processor on Python 3.
- The print(\n) also introduces 2 newlines, which is probably not
the intent here.
- I find that seeing the running and idle set printed out in debugging
mode to be very useful.
- Maybe change Running nr of jobs:... to Running jobs to match the
syntax of Completed jobs.

Gary might have some memory as to why the running set is not
replenished until after all results in the set are complete.  There
might be other reasons for this behaviour.

Cheers,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: [bug #23618] queuing system for multi processors is not well designed.

2015-06-08 Thread Edward d'Auvergne
On 27 May 2015 at 03:35, Troels E. Linnet
no-reply.invalid-addr...@gna.org wrote:
 Follow-up Comment #5, bug #23618 (project relax):

 It is weird, that when calculations is not submitted, slave processors shows
 100 %, and the master does it all.

 13578 tlinnet   20   0 1315m 386m  25m R 133.6  1.6   1:08.73 python

 13584 tlinnet   20   0  784m  72m  21m R 100.2  0.3   1:03.22 python

 13579 tlinnet   20   0  784m  72m  21m R 99.9  0.3   1:03.23 python

 13580 tlinnet   20   0  784m  72m  21m R 99.9  0.3   1:03.25 python

 13581 tlinnet   20   0  784m  73m  21m R 99.9  0.3   1:03.20 python

 13582 tlinnet   20   0  784m  72m  21m R 99.9  0.3   1:03.22 python

 13583 tlinnet   20   0  784m  72m  21m R 99.9  0.3   1:03.21 python

 13585 tlinnet   20   0  784m  72m  21m R 99.9  0.3   1:03.21 python

 13586 tlinnet   20   0  784m  72m  21m R 99.9  0.3   1:03.23 python

 13587 tlinnet   20   0  784m  72m  21m R 99.9  0.3   1:03.24 python

 13588 tlinnet   20   0  784m  72m  21m R 99.9  0.3   1:03.20 python

 13589 tlinnet   20   0  784m  72m  21m R 99.9  0.3   1:03.20 python

Note that this is how by default OpenMPI operates.  The master and all
slaves are always run at 100%, even when they are idle.  They are
actually using 100% of the CPU to continually poll the queues.  The
OpenMPI people chose this behaviour to minimise data transfer
bottlenecks, and is based on the assumption that all of the
calculation time will be parallelised and that you will have full
access to the nodes you are allocated.


 When jobs are submitted, they show 200 %

 13579 tlinnet   20   0 1023m 150m  23m R 199.9  0.6   3:20.01 python

 13580 tlinnet   20   0 1023m 152m  23m R 199.9  0.6   3:19.77 python

 13582 tlinnet   20   0 1023m 152m  23m R 199.9  0.6   3:19.22 python

 13583 tlinnet   20   0 1023m 149m  23m R 199.9  0.6   3:18.93 python

 13584 tlinnet   20   0 1023m 151m  23m R 199.9  0.6   3:18.40 python

 13585 tlinnet   20   0 1023m 149m  23m R 199.9  0.6   3:18.12 python

 13586 tlinnet   20   0 1023m 149m  23m R 199.9  0.6   3:17.89 python

 13588 tlinnet   20   0 1023m 151m  23m R 199.9  0.6   3:17.32 python

 13589 tlinnet   20   0 1023m 151m  23m R 199.9  0.6   3:16.74 python

 13587 tlinnet   20   0 1023m 151m  23m R 199.5  0.6   3:17.60 python

 13581 tlinnet   20   0 1023m 150m  23m R 199.2  0.6   3:19.40 python

 13578 tlinnet   20   0 1638m 636m  26m R 99.9  2.6   3:49.60 python

The 200% is a little strange, but OpenMPI CPU percentage numbers have
been strange on Linux for a long time now.  I've seen nodes at 200%,
and sometimes at 50%.  I don't know what this is about - if it is an
OpenMPI bug, a Linux kernel reporting bug, or if relax is doing
something strange (I doubt it's the last option, as a Google search
will show that others have encountered such strangeness).

Regards,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: [bug #23619] Stored chi2 sim values from Monte-Carlo simulations does not equal normal chi2 values

2015-06-08 Thread Edward d'Auvergne
Hi Troels,

Maybe you can close this bug report:

http://svn.gna.org/viewcvs/relax?view=revisionrevision=27846

Cheers,

Edward


On 28 May 2015 at 16:02, Troels E. Linnet
no-reply.invalid-addr...@gna.org wrote:
 URL:
   http://gna.org/bugs/?23619

  Summary: Stored chi2 sim values from Monte-Carlo simulations
 does not equal normal chi2 values
  Project: relax
 Submitted by: tlinnet
 Submitted on: Thu 28 May 2015 02:02:25 PM UTC
 Category: relax's source code
 Specific analysis category: None
 Priority: 5 - Normal
 Severity: 3 - Normal
   Status: None
  Assigned to: tlinnet
  Originator Name:
 Originator Email:
  Open/Closed: Open
  Release: Repository: trunk
  Discussion Lock: Any
 Operating System: All systems

 ___

 Details:

 The stored chi2 sim values from Monte-Carlo simulations does not equal normal
 chi2 values.

 When looking at the spin.chi2_sim list, the values are very much different
 from spin.chi2.




 ___

 Reply to this item at:

   http://gna.org/bugs/?23619

 ___
   Message sent via/by Gna!
   http://gna.org/


 ___
 relax (http://www.nmr-relax.com)

 This is the relax-devel mailing list
 relax-devel@gna.org

 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-devel

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: r27840 - /trunk/auto_analyses/relax_disp_repeat_cpmg.py

2015-06-08 Thread Edward d'Auvergne
On 8 June 2015 at 16:28, Edward d'Auvergne edw...@nmr-relax.com wrote:
 Hi Troels,

 I'm not sure what this means yet, but I think this would be better
 stored in the status object.  It could be a run time command line
 option --mp_verbosity which can be true or false, or set in a
 different way.  The reason is because the multi-processor framework is
 not only for minimisation.  It could be used for anything that can be
 run on a cluster.  Think of dx.map, dasha.execute, palmer.execute,
 structure.sequence_alignment, structure.superimpose, a grid search, or
 a new analysis parallised at a much higher level.  I think it would be
 good to discuss this.

Hi,

Actually, maybe this would be better activated with the debug flag?
The other multi-processor printouts are activated in this way, as this
is mainly used for debugging purposes.  That would simplify all the
interfaces.

Regards,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: wiki down again

2015-04-30 Thread Edward d'Auvergne
Cheers!  Let's see what happens.  I have turned off my cron backup
system (which were using the devel_scripts/wiki_ftpdump.sh and
devel_scripts/wiki_mysqldump.sh scripts bundled with relax).  In case
all is lost, can it be restored from the FTP dump?  My last was
ftpdump_20150303_1325.tar.gz.  I also have daily MySQL dumps:

-rw-r--r-- 1 edward 1.4M Jul 17  2013
kimlinnet_nmrrelax_20130717_1830.bck.sql.gz
-rw-r--r-- 1 edward 1.6M Jul 19  2013
kimlinnet_nmrrelax_20130719_1009.bck.sql.gz
-rw-r--r-- 1 edward 1.6M Jul 19  2013
kimlinnet_nmrrelax_20130719_1335.bck.sql.gz
-rw-r--r-- 1 edward 1.8M Jul 20  2013
kimlinnet_nmrrelax_20130720_1335.bck.sql.gz
-rw-r--r-- 1 edward 1.8M Jul 21  2013
kimlinnet_nmrrelax_20130721_1335.bck.sql.gz
-rw-r--r-- 1 edward 2.0M Jul 22  2013
kimlinnet_nmrrelax_20130722_1335.bck.sql.gz
-rw-r--r-- 1 edward 2.7M Jul 23  2013
kimlinnet_nmrrelax_20130723_1335.bck.sql.gz
[snip]
-rw-r--r-- 1 edward  31M Apr 21 13:37
kimlinnet_nmrrelax_20150421_1335.bck.sql.gz
-rw-r--r-- 1 edward  31M Apr 22 13:37
kimlinnet_nmrrelax_20150422_1335.bck.sql.gz
-rw-r--r-- 1 edward  31M Apr 23 13:38
kimlinnet_nmrrelax_20150423_1335.bck.sql.gz
-rw-r--r-- 1 edward  31M Apr 24 13:39
kimlinnet_nmrrelax_20150424_1335.bck.sql.gz
-rw-r--r-- 1 edward  31M Apr 25 13:37
kimlinnet_nmrrelax_20150425_1335.bck.sql.gz
-rw-r--r-- 1 edward  31M Apr 27 13:37
kimlinnet_nmrrelax_20150427_1335.bck.sql.gz
-rw-r--r-- 1 edward  31M Apr 28 13:37
kimlinnet_nmrrelax_20150428_1335.bck.sql.gz
-rw-r--r-- 1 edward  31M Apr 29 13:39
kimlinnet_nmrrelax_20150429_1335.bck.sql.gz

We really only need the MySQL contents and the LocalSettings.php
script to restore an entire wiki from scratch, right?  Anyway, no need
to stress!  We have multiple backups.  Let's see what happens with the
MySQL upgrade.  Hopefully we won't have to reinstall the wiki software
and all the extensions we have already set up.

Regards,

Edward

On 30 April 2015 at 09:27, Troels Emtekær Linnet tlin...@nmr-relax.com wrote:
 The status page for

 https://controlcenter.gigahost.dk/service_status

 says a planned upgrade the 30'th is planned for mysql13

 30. apr 2015
 01:00 - 08:00 Problemer med MySQL.
 Planlagt opgradering af mysql13

 2015-04-30 9:24 GMT+02:00 Troels Emtekær Linnet tlin...@nmr-relax.com:

 Hi Edward.

 The wiki is down again.

 Actually, the whole mySQL database is gone.
 And so it the mySQL database for another wiki I setup.

 This is weird, since I left it in a working state, last evening.
 And I haven't tingered since then.

 I can on PhPadmin see that
 
 Denne MySQL-server har kørt i 0 dage, 7 timer, 33 minutter og 57 sekunder.
 Den startede op den 29. 04 2015 kl. 23:30:20.
 

 I have contacted the homepage provider.

 - So, either an update went wrong from their place.
 - Or I in some weird way I have done something?

 I will wait for the answer from the homepage provider, before I restore
 anything.

 Best
 Troels

 ___
 relax (http://www.nmr-relax.com)

 This is the relax-devel mailing list
 relax-devel@gna.org

 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-devel

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: wiki down again

2015-04-30 Thread Edward d'Auvergne
Great!  Cheers!

On 30 April 2015 at 15:20, Troels Emtekær Linnet tlin...@nmr-relax.com wrote:
 And it is up again.

 Best
 Troels

 2015-04-30 9:56 GMT+02:00 Troels Emtekær Linnet tlin...@nmr-relax.com:

 Yes, we are in a good position.

 The wiki files on FTP are still there.
 I have a backup of my own wiki mySQL database, and you have for relax.

 To get into a working state, it would only require to logon to PhPadmin,
 setup a datebase with same
 name and do an import of *.sql

 But lets wait to see what the host provider says.

 Probably a migration error has happened.
 - Maybe something with character set ?
 - Size of mysql ?
 - Type of database?

 On the host is several mySQL databases for different homepages.
 But they are all word-press databases.
 The databases which are gone are mediawiki databases.

 Best
 Troels





 2015-04-30 9:41 GMT+02:00 Edward d'Auvergne edw...@nmr-relax.com:

 Cheers!  Let's see what happens.  I have turned off my cron backup
 system (which were using the devel_scripts/wiki_ftpdump.sh and
 devel_scripts/wiki_mysqldump.sh scripts bundled with relax).  In case
 all is lost, can it be restored from the FTP dump?  My last was
 ftpdump_20150303_1325.tar.gz.  I also have daily MySQL dumps:

 -rw-r--r-- 1 edward 1.4M Jul 17  2013
 kimlinnet_nmrrelax_20130717_1830.bck.sql.gz
 -rw-r--r-- 1 edward 1.6M Jul 19  2013
 kimlinnet_nmrrelax_20130719_1009.bck.sql.gz
 -rw-r--r-- 1 edward 1.6M Jul 19  2013
 kimlinnet_nmrrelax_20130719_1335.bck.sql.gz
 -rw-r--r-- 1 edward 1.8M Jul 20  2013
 kimlinnet_nmrrelax_20130720_1335.bck.sql.gz
 -rw-r--r-- 1 edward 1.8M Jul 21  2013
 kimlinnet_nmrrelax_20130721_1335.bck.sql.gz
 -rw-r--r-- 1 edward 2.0M Jul 22  2013
 kimlinnet_nmrrelax_20130722_1335.bck.sql.gz
 -rw-r--r-- 1 edward 2.7M Jul 23  2013
 kimlinnet_nmrrelax_20130723_1335.bck.sql.gz
 [snip]
 -rw-r--r-- 1 edward  31M Apr 21 13:37
 kimlinnet_nmrrelax_20150421_1335.bck.sql.gz
 -rw-r--r-- 1 edward  31M Apr 22 13:37
 kimlinnet_nmrrelax_20150422_1335.bck.sql.gz
 -rw-r--r-- 1 edward  31M Apr 23 13:38
 kimlinnet_nmrrelax_20150423_1335.bck.sql.gz
 -rw-r--r-- 1 edward  31M Apr 24 13:39
 kimlinnet_nmrrelax_20150424_1335.bck.sql.gz
 -rw-r--r-- 1 edward  31M Apr 25 13:37
 kimlinnet_nmrrelax_20150425_1335.bck.sql.gz
 -rw-r--r-- 1 edward  31M Apr 27 13:37
 kimlinnet_nmrrelax_20150427_1335.bck.sql.gz
 -rw-r--r-- 1 edward  31M Apr 28 13:37
 kimlinnet_nmrrelax_20150428_1335.bck.sql.gz
 -rw-r--r-- 1 edward  31M Apr 29 13:39
 kimlinnet_nmrrelax_20150429_1335.bck.sql.gz

 We really only need the MySQL contents and the LocalSettings.php
 script to restore an entire wiki from scratch, right?  Anyway, no need
 to stress!  We have multiple backups.  Let's see what happens with the
 MySQL upgrade.  Hopefully we won't have to reinstall the wiki software
 and all the extensions we have already set up.

 Regards,

 Edward

 On 30 April 2015 at 09:27, Troels Emtekær Linnet tlin...@nmr-relax.com
 wrote:
  The status page for
 
  https://controlcenter.gigahost.dk/service_status
 
  says a planned upgrade the 30'th is planned for mysql13
 
  30. apr 2015
  01:00 - 08:00 Problemer med MySQL.
  Planlagt opgradering af mysql13
 
  2015-04-30 9:24 GMT+02:00 Troels Emtekær Linnet
  tlin...@nmr-relax.com:
 
  Hi Edward.
 
  The wiki is down again.
 
  Actually, the whole mySQL database is gone.
  And so it the mySQL database for another wiki I setup.
 
  This is weird, since I left it in a working state, last evening.
  And I haven't tingered since then.
 
  I can on PhPadmin see that
  
  Denne MySQL-server har kørt i 0 dage, 7 timer, 33 minutter og 57
  sekunder.
  Den startede op den 29. 04 2015 kl. 23:30:20.
  
 
  I have contacted the homepage provider.
 
  - So, either an update went wrong from their place.
  - Or I in some weird way I have done something?
 
  I will wait for the answer from the homepage provider, before I
  restore
  anything.
 
  Best
  Troels
 
  ___
  relax (http://www.nmr-relax.com)
 
  This is the relax-devel mailing list
  relax-devel@gna.org
 
  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-devel




___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: wiki is down

2015-04-29 Thread Edward d'Auvergne
Hi,

No, I haven't seen this.  I was on there a few days ago (Monday I
think) and everything was fine then.  Thanks for looking into this!

Cheers,

Edward


On 29 April 2015 at 10:08, Troels Emtekær Linnet tlin...@nmr-relax.com wrote:
 Hej Edward.

 The wiki is down.

 Have you seen this?

 I have tried to make another wiki on my brothers server yesterday, so I may
 have done something.

 I am looking into it.

 Best
 Troels
 ___
 relax (http://www.nmr-relax.com)

 This is the relax-devel mailing list
 relax-devel@gna.org

 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-devel

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: wiki is down

2015-04-29 Thread Edward d'Auvergne
Cheers :)  I run a daily cron backup of both the mysql and ftpdump (on
two machines in different parts of Germany).  Just for a sanity check:

[edward@localhost wiki]$ md5sum ftpdump/current/LocalSettings.php
2d37250547f2bf9e412d8a94d279ae90  ftpdump/current/LocalSettings.php
[edward@localhost wiki]$

This is from yesterday, but it looks like the correct one.

Regards,

Edward




On 29 April 2015 at 10:24, Troels Emtekær Linnet tlin...@nmr-relax.com wrote:
 And it is up again!

 Pheeewww...

 Best
 Troels

 2015-04-29 10:19 GMT+02:00 Troels Emtekær Linnet tlin...@nmr-relax.com:

 Uh.

 I found a LocalSettings.php of relax in my trash!

 :-)

 2015-04-29 10:17 GMT+02:00 Troels Emtekær Linnet tlin...@nmr-relax.com:

 Hi Edward.

 Sigh
 Or in german, Schei...

 I should have transferred LocalSettings.php into the new wiki,
 but was in the directory of relax wiki.

 So I have overwritten LocalSettings.php of relax wiki !

 Here comes the golden question.
 Do you have a backup?

 Or else I will contact the the webhost, to see if the have a backup.

 Best
 Troels




 2015-04-29 10:12 GMT+02:00 Edward d'Auvergne edw...@nmr-relax.com:

 Hi,

 No, I haven't seen this.  I was on there a few days ago (Monday I
 think) and everything was fine then.  Thanks for looking into this!

 Cheers,

 Edward


 On 29 April 2015 at 10:08, Troels Emtekær Linnet tlin...@nmr-relax.com
 wrote:
  Hej Edward.
 
  The wiki is down.
 
  Have you seen this?
 
  I have tried to make another wiki on my brothers server yesterday, so
  I may
  have done something.
 
  I am looking into it.
 
  Best
  Troels
  ___
  relax (http://www.nmr-relax.com)
 
  This is the relax-devel mailing list
  relax-devel@gna.org
 
  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-devel





___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


The frame_order_cleanup branch and plans for a possible relax version 4.0.

2015-04-27 Thread Edward d'Auvergne
Hi,

I am planning in a few weeks time on merging the frame_order_cleanup
branch back into the relax trunk.  Despite the name, this branch is a
huge change containing many, many commits and it completes the frame
order theory implementation in relax - which in trunk is very
rudimentary, incomplete and unusable - and brings it up to publication
quality.  The merger of the new theory will correspond to a
publication.  As this change is so big and brings in a completely new
analysis category into relax, I am thinking of incrementing the major
version number and releasing this as relax 4.0.

Regards,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: [bug #23389] GUI tests segfaults in 3.3.7

2015-03-17 Thread Edward d'Auvergne
Hi,

Here is a good example of where the Mac GUI limits can be tested:

$ ./relax devel_scripts/memory_management/GUI_uf_time.py

This repetitively calls the time user function 1 times.  This uses
the muppy module from the powerful Pympler package
(https://pythonhosted.org/Pympler/).  Looking at the 'muppy_log' file
produced, it can be seen that no extra memory is being leaked.  I.e.
all the GUI objects are released.  The memory between iteration 100
and the last iteration is the same (except for some extra Python
objects after iteration 1700 when the first invisible problems
probably occur).  The way the time user function is called is that the
user function window is created and then destroyed each time.  No
wxPython objects are present in memory after the user function is
destroyed.  This is different to the GUI behaviour where the window is
created and then closed by being hidden, and a second call simply
reopens the original window.  However this test demonstrates the Mac
GUI object failure point extremely clearly.

This executes perfectly fine on Linux and Windows systems.  However on
Mac systems, the memory errors will eventually appear, and finally
relax will crash.  However nothing will be seen in the muppy log file.
So there is nothing in Python memory which is causing this.  Rather
the Mac system will not release the GUI objects.  I would love to know
how to whack the Mac system over the head to release these things!
Maybe there is a workaround in wxPython for this.  Or maybe it is a
wxWidgets bug that will be fixed in the future.  In any case, I am
completely lost as to how to handle this Python-wxPython-wxWidgets-Mac
OS X bug.  If this simple script could be made to work, then many Mac
GUI issues will simply disappear.

Regards,

Edward



On 17 March 2015 at 10:40, Edward d'Auvergne edw...@nmr-relax.com wrote:
 Hi,

 Would anyone know of any tools in Mac OS X which can be used to track
 GUI object usage?  In MS Windows, the task manager can be set up to
 display USER Objects and GUI Objects.  I have used this for
 debugging to allow the GUI tests to pass again on that system and not
 run into the 10,000 object limits.  But in Mac and Linux systems, I
 have no idea what can be used for a GUI debugging tool!  If I could
 see these and have an idea about their usage, I might be able to track
 down possible GUI object leaks and maybe get the tests to run again.
 It might be possible to save memory in other areas, or to even force
 Macs to release the GUI objects.  But we are currently completely
 blind as to what is happening with wxPython, GUI objects, and the Mac
 way of handling these.

 Cheers,

 Edward




 On 15 March 2015 at 14:11, Edward d'Auvergne edw...@nmr-relax.com wrote:
 Hi,

 The error I see is:

 
 $ ./relax --gui-tests


 =
 = GUI tests =
 =

 .Sun Mar 15 13:53:41 Mac.local
 Python[248] Error: kCGErrorFailure: _CGSBindWindowBacking: cannot
 map backing data shmem
 Sun Mar 15 13:53:41 Mac.local Python[248] Error: kCGErrorFailure:
 Set a breakpoint @ CGErrorBreakpoint() to catch errors as they are
 logged.
 Sun Mar 15 13:53:41 Mac.local Python[248] Error: kCGErrorFailure:
 _CGSLockWindow: Unable to lock window
 Sun Mar 15 13:53:41 Mac.local Python[248] Error: kCGErrorFailure:
 _CGSBindWindowBacking: cannot map backing data shmem
 Sun Mar 15 13:53:41 Mac.local Python[248] Error: kCGErrorFailure:
 _CGSLockWindow: Unable to lock window
 Sun Mar 15 13:53:41 Mac.local Python[248] Error: kCGErrorFailure:
 _CGSBindWindowBacking: cannot map backing data shmem
 Sun Mar 15 13:53:41 Mac.local Python[248] Error: kCGErrorFailure:
 _CGSLockWindow: Unable to lock window
 


 This is repeated many, many times until I see:

 
 Python(248,0x3bd540) malloc: *** mmap(size=2097152) failed (error code=12)
 *** error: can't allocate region
 *** set a breakpoint in malloc_error_break to debug
 

 This too is repeated many, many times.  Then the memory runs out and
 Segmentation fault is printed and a window pops up saying that
 Python died unexpectedly.

 Regards,

 Edward

 On 15 March 2015 at 13:48, Edward d'Auvergne edw...@nmr-relax.com wrote:
 Hi Jack,

 Maybe you might be able to help solve this problem.  It is rather
 difficult and I think the easiest solution is to blacklist GUI tests
 from running on Mac OS X.  However despite the segfaults, I find the
 tests useful to make sure all is well in the GUI on a Mac.  The
 problem is either a bug in wxPython, well really wxWidgets, or a
 design flaw in Mac OS X.  From what I've read, it sounds more like a
 Mac design flaw.

 This was previously a problem on MS Windows, but I have solved it for
 that OS in relax 3.3.6 (http://wiki.nmr-relax.com/Relax_3.3.6).  All
 operating systems have a hard limit for the number of GUI objects that
 can be created (windows, panels, buttons, etc.).  In MS Windows, this
 is called User Objects and there the limit is 10,000, and GDI
 Object which has

Re: [bug #23389] GUI tests segfaults in 3.3.7

2015-03-17 Thread Edward d'Auvergne
For reference, I've created another test which uses many more GUI
elements and which causes a segmentation fault on Mac systems after
less than 300 iterations:

$ ./relax devel_scripts/memory_management/GUI_uf_align_tensor_init.py

This script works flawlessly on Linux and Windows systems.

Regards,

Edward



On 17 March 2015 at 11:54, Edward d'Auvergne edw...@nmr-relax.com wrote:
 Hi,

 Here is a good example of where the Mac GUI limits can be tested:

 $ ./relax devel_scripts/memory_management/GUI_uf_time.py

 This repetitively calls the time user function 1 times.  This uses
 the muppy module from the powerful Pympler package
 (https://pythonhosted.org/Pympler/).  Looking at the 'muppy_log' file
 produced, it can be seen that no extra memory is being leaked.  I.e.
 all the GUI objects are released.  The memory between iteration 100
 and the last iteration is the same (except for some extra Python
 objects after iteration 1700 when the first invisible problems
 probably occur).  The way the time user function is called is that the
 user function window is created and then destroyed each time.  No
 wxPython objects are present in memory after the user function is
 destroyed.  This is different to the GUI behaviour where the window is
 created and then closed by being hidden, and a second call simply
 reopens the original window.  However this test demonstrates the Mac
 GUI object failure point extremely clearly.

 This executes perfectly fine on Linux and Windows systems.  However on
 Mac systems, the memory errors will eventually appear, and finally
 relax will crash.  However nothing will be seen in the muppy log file.
 So there is nothing in Python memory which is causing this.  Rather
 the Mac system will not release the GUI objects.  I would love to know
 how to whack the Mac system over the head to release these things!
 Maybe there is a workaround in wxPython for this.  Or maybe it is a
 wxWidgets bug that will be fixed in the future.  In any case, I am
 completely lost as to how to handle this Python-wxPython-wxWidgets-Mac
 OS X bug.  If this simple script could be made to work, then many Mac
 GUI issues will simply disappear.

 Regards,

 Edward



 On 17 March 2015 at 10:40, Edward d'Auvergne edw...@nmr-relax.com wrote:
 Hi,

 Would anyone know of any tools in Mac OS X which can be used to track
 GUI object usage?  In MS Windows, the task manager can be set up to
 display USER Objects and GUI Objects.  I have used this for
 debugging to allow the GUI tests to pass again on that system and not
 run into the 10,000 object limits.  But in Mac and Linux systems, I
 have no idea what can be used for a GUI debugging tool!  If I could
 see these and have an idea about their usage, I might be able to track
 down possible GUI object leaks and maybe get the tests to run again.
 It might be possible to save memory in other areas, or to even force
 Macs to release the GUI objects.  But we are currently completely
 blind as to what is happening with wxPython, GUI objects, and the Mac
 way of handling these.

 Cheers,

 Edward




 On 15 March 2015 at 14:11, Edward d'Auvergne edw...@nmr-relax.com wrote:
 Hi,

 The error I see is:

 
 $ ./relax --gui-tests


 =
 = GUI tests =
 =

 .Sun Mar 15 13:53:41 Mac.local
 Python[248] Error: kCGErrorFailure: _CGSBindWindowBacking: cannot
 map backing data shmem
 Sun Mar 15 13:53:41 Mac.local Python[248] Error: kCGErrorFailure:
 Set a breakpoint @ CGErrorBreakpoint() to catch errors as they are
 logged.
 Sun Mar 15 13:53:41 Mac.local Python[248] Error: kCGErrorFailure:
 _CGSLockWindow: Unable to lock window
 Sun Mar 15 13:53:41 Mac.local Python[248] Error: kCGErrorFailure:
 _CGSBindWindowBacking: cannot map backing data shmem
 Sun Mar 15 13:53:41 Mac.local Python[248] Error: kCGErrorFailure:
 _CGSLockWindow: Unable to lock window
 Sun Mar 15 13:53:41 Mac.local Python[248] Error: kCGErrorFailure:
 _CGSBindWindowBacking: cannot map backing data shmem
 Sun Mar 15 13:53:41 Mac.local Python[248] Error: kCGErrorFailure:
 _CGSLockWindow: Unable to lock window
 


 This is repeated many, many times until I see:

 
 Python(248,0x3bd540) malloc: *** mmap(size=2097152) failed (error code=12)
 *** error: can't allocate region
 *** set a breakpoint in malloc_error_break to debug
 

 This too is repeated many, many times.  Then the memory runs out and
 Segmentation fault is printed and a window pops up saying that
 Python died unexpectedly.

 Regards,

 Edward

 On 15 March 2015 at 13:48, Edward d'Auvergne edw...@nmr-relax.com wrote:
 Hi Jack,

 Maybe you might be able to help solve this problem.  It is rather
 difficult and I think the easiest solution is to blacklist GUI tests
 from running on Mac OS X.  However despite the segfaults, I find the
 tests useful to make sure all is well in the GUI on a Mac.  The
 problem is either a bug in wxPython, well really wxWidgets, or a
 design flaw in Mac OS X.  From what I've

Re: [bug #23389] GUI tests segfaults in 3.3.7

2015-03-15 Thread Edward d'Auvergne
Hi Jack,

Maybe you might be able to help solve this problem.  It is rather
difficult and I think the easiest solution is to blacklist GUI tests
from running on Mac OS X.  However despite the segfaults, I find the
tests useful to make sure all is well in the GUI on a Mac.  The
problem is either a bug in wxPython, well really wxWidgets, or a
design flaw in Mac OS X.  From what I've read, it sounds more like a
Mac design flaw.

This was previously a problem on MS Windows, but I have solved it for
that OS in relax 3.3.6 (http://wiki.nmr-relax.com/Relax_3.3.6).  All
operating systems have a hard limit for the number of GUI objects that
can be created (windows, panels, buttons, etc.).  In MS Windows, this
is called User Objects and there the limit is 10,000, and GDI
Object which has the same limit.  In Mac systems, I'm not sure what
the equivalent are called.  In Linux, the limits are so high that
we'll never encountered the problem.  In relax these limits are
reached due to the design of the GUI, specifically the user function
windows.  If all the user function windows are open simultaneously,
then the Windows and Mac limits are reached and Python errors or
segfaults are seen respectively.  The current design is that after
closing a user function window, it remains in memory so that when you
reopen it, all its settings and values from the previous execution are
still there.  This is very useful for repetitive operations such as
loading peak list data.  But when running the test suite, as the user
function windows remain permanently open, the hard GUI limits are
reached in both Windows and Macs.  This problem has only recently
surfaced as the number of GUI tests have expanded and more of the user
functions are executed.  In the future as the GUI tests expand even
more, this will become more and more of a problem.

The solution in relax 3.3.6 was to destroy all user function windows
at the end of each GUI test (see
http://www.nmr-relax.com/api/3.3/test_suite.gui_tests.base_classes-pysrc.html#GuiTestCase.tearDown
and 
http://www.nmr-relax.com/api/3.3/gui.spin_viewer.frame-pysrc.html#Spin_view_window.Destroy
for this design).  This frees the User Objects and GDI Objects in MS
Windows.  However this is were the Mac OS X design flaw hurts.  In the
Mac, the system will not release the GUI objects until the program
terminates!  So despite the window Destroy() function calls, the limit
will be reached and a segfault will occur.  I have desperately
searched for a solution for this for Mac systems, but have found none.
It sounds like the wxWidget people blame the Mac OS design flaw.
Maybe in the future, wxWidgets will find a workaround that can then be
used in relax.  But until then, we are pretty much bound to have
segfaults in Mac systems in the GUI tests.  I really have not idea
what we can do to solve this issue!

Regards,

Edward





On 14 March 2015 at 22:35, Jack Howarth
no-reply.invalid-addr...@gna.org wrote:
 Follow-up Comment #1, bug #23389 (project relax):

 This failure also appears in 3.3.6 with 'relax --test-suite'. Oddly it doesn't
 occur with 'relax --gui-tests'.

 ___

 Reply to this item at:

   http://gna.org/bugs/?23389

 ___
   Message sent via/by Gna!
   http://gna.org/


 ___
 relax (http://www.nmr-relax.com)

 This is the relax-devel mailing list
 relax-devel@gna.org

 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-devel

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: [bug #23389] GUI tests segfaults in 3.3.7

2015-03-15 Thread Edward d'Auvergne
Hi,

The error I see is:


$ ./relax --gui-tests


=
= GUI tests =
=

.Sun Mar 15 13:53:41 Mac.local
Python[248] Error: kCGErrorFailure: _CGSBindWindowBacking: cannot
map backing data shmem
Sun Mar 15 13:53:41 Mac.local Python[248] Error: kCGErrorFailure:
Set a breakpoint @ CGErrorBreakpoint() to catch errors as they are
logged.
Sun Mar 15 13:53:41 Mac.local Python[248] Error: kCGErrorFailure:
_CGSLockWindow: Unable to lock window
Sun Mar 15 13:53:41 Mac.local Python[248] Error: kCGErrorFailure:
_CGSBindWindowBacking: cannot map backing data shmem
Sun Mar 15 13:53:41 Mac.local Python[248] Error: kCGErrorFailure:
_CGSLockWindow: Unable to lock window
Sun Mar 15 13:53:41 Mac.local Python[248] Error: kCGErrorFailure:
_CGSBindWindowBacking: cannot map backing data shmem
Sun Mar 15 13:53:41 Mac.local Python[248] Error: kCGErrorFailure:
_CGSLockWindow: Unable to lock window



This is repeated many, many times until I see:


Python(248,0x3bd540) malloc: *** mmap(size=2097152) failed (error code=12)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug


This too is repeated many, many times.  Then the memory runs out and
Segmentation fault is printed and a window pops up saying that
Python died unexpectedly.

Regards,

Edward

On 15 March 2015 at 13:48, Edward d'Auvergne edw...@nmr-relax.com wrote:
 Hi Jack,

 Maybe you might be able to help solve this problem.  It is rather
 difficult and I think the easiest solution is to blacklist GUI tests
 from running on Mac OS X.  However despite the segfaults, I find the
 tests useful to make sure all is well in the GUI on a Mac.  The
 problem is either a bug in wxPython, well really wxWidgets, or a
 design flaw in Mac OS X.  From what I've read, it sounds more like a
 Mac design flaw.

 This was previously a problem on MS Windows, but I have solved it for
 that OS in relax 3.3.6 (http://wiki.nmr-relax.com/Relax_3.3.6).  All
 operating systems have a hard limit for the number of GUI objects that
 can be created (windows, panels, buttons, etc.).  In MS Windows, this
 is called User Objects and there the limit is 10,000, and GDI
 Object which has the same limit.  In Mac systems, I'm not sure what
 the equivalent are called.  In Linux, the limits are so high that
 we'll never encountered the problem.  In relax these limits are
 reached due to the design of the GUI, specifically the user function
 windows.  If all the user function windows are open simultaneously,
 then the Windows and Mac limits are reached and Python errors or
 segfaults are seen respectively.  The current design is that after
 closing a user function window, it remains in memory so that when you
 reopen it, all its settings and values from the previous execution are
 still there.  This is very useful for repetitive operations such as
 loading peak list data.  But when running the test suite, as the user
 function windows remain permanently open, the hard GUI limits are
 reached in both Windows and Macs.  This problem has only recently
 surfaced as the number of GUI tests have expanded and more of the user
 functions are executed.  In the future as the GUI tests expand even
 more, this will become more and more of a problem.

 The solution in relax 3.3.6 was to destroy all user function windows
 at the end of each GUI test (see
 http://www.nmr-relax.com/api/3.3/test_suite.gui_tests.base_classes-pysrc.html#GuiTestCase.tearDown
 and 
 http://www.nmr-relax.com/api/3.3/gui.spin_viewer.frame-pysrc.html#Spin_view_window.Destroy
 for this design).  This frees the User Objects and GDI Objects in MS
 Windows.  However this is were the Mac OS X design flaw hurts.  In the
 Mac, the system will not release the GUI objects until the program
 terminates!  So despite the window Destroy() function calls, the limit
 will be reached and a segfault will occur.  I have desperately
 searched for a solution for this for Mac systems, but have found none.
 It sounds like the wxWidget people blame the Mac OS design flaw.
 Maybe in the future, wxWidgets will find a workaround that can then be
 used in relax.  But until then, we are pretty much bound to have
 segfaults in Mac systems in the GUI tests.  I really have not idea
 what we can do to solve this issue!

 Regards,

 Edward





 On 14 March 2015 at 22:35, Jack Howarth
 no-reply.invalid-addr...@gna.org wrote:
 Follow-up Comment #1, bug #23389 (project relax):

 This failure also appears in 3.3.6 with 'relax --test-suite'. Oddly it 
 doesn't
 occur with 'relax --gui-tests'.

 ___

 Reply to this item at:

   http://gna.org/bugs/?23389

 ___
   Message sent via/by Gna!
   http://gna.org/


 ___
 relax (http://www.nmr-relax.com)

 This is the relax-devel mailing list
 relax-devel@gna.org

 To unsubscribe from this list, get a password

Re: [sr #3211] Provide veusz plots as an alternative to grace

2015-02-09 Thread Edward d'Auvergne
On 9 February 2015 at 08:08, Justin (jlec) j...@gentoo.org wrote:
 On 08/02/15 22:05, Edward d'Auvergne wrote:
 Hi Justin,

 Here is another resource that may be of assistance.  I have created a
 basic initial relax wiki page describing the plotting API:

 http://wiki.nmr-relax.com/Plotting_API

 Feel free to sign up to the wiki and modify this as you see fit
 (http://wiki.nmr-relax.com/index.php?title=Special:UserLoginreturnto=Plotting+APItype=signup).
 I'll expand this as the API is developed and refined.  It could
 benefit from additional code examples, better API documentation
 linking, and detailing specific graph types, etc.  Note that the API
 documentation at http://www.nmr-relax.com/api/3.3/ does not contain
 the recent changes for the Grace plotting and the
 pipe_control.plotting.write_xy() function.  This will be updated once
 relax 3.3.7 is released (http://wiki.nmr-relax.com/Relax_3.3.7).  The
 code should now be the maximal simplicity for implementing new
 functionality (http://wiki.nmr-relax.com/Plotting_API#Development).

 Regards,

 Edward


 Thank you Edward for all the mails and information!

No problems.  I'll use this myself to advance the plotting
capabilities.  I only recently added the gnuplot graph type for
creating a figure in paper I'm currently working on.  I've created
similar wiki pages to help design other parts of relax
(http://wiki.nmr-relax.com/Relax_source_design#The_check_.2A.28.29_functions
for example).


 Things came along so I couldn't look into it until now. But I just started.
 Creating something similar for veusz as for grace shouldn't be a problem.

 As soon as I have some results, I will send you patches and edit the wiki 
 page.

Hopefully you now have an easy way to play with the Veusz support.
Take your time though.


 Do you have sample data for the

 plotting.write_iso3D()

For this one, the implementation is currently the dx.map user
function.  I haven't shifted the modules around yet
(http://www.nmr-relax.com/api/3.2/lib.software.opendx-module.html to
http://www.nmr-relax.com/api/3.3/lib.plotting-module.html).  The
sample data is generated via the pipe_control.opendx.map function and
the Map class 
(http://www.nmr-relax.com/api/3.2/pipe_control.opendx-module.html#map).
This is more complicated as it uses the specific analysis API methods
(http://www.nmr-relax.com/api/3.3/specific_analyses.api_base.API_base-class.html)
to generate the data on the fly, see the Map class for details
(http://www.nmr-relax.com/api/3.2/pipe_control.opendx.Map-class.html).
It is used in a number of system tests:

$ grep dx test_suite/system_tests/*.py | grep def
test_suite/system_tests/frame_order.py:def fixme_test_opendx_map(self):
test_suite/system_tests/model_free.py:def test_opendx_s2_te_rex(self):
test_suite/system_tests/model_free.py:def test_opendx_theta_phi_da(self):
test_suite/system_tests/model_free.py:def test_opendx_tm_s2_te(self):
test_suite/system_tests/relax_disp.py:def
test_cpmg_synthetic_dx_map_points(self):
test_suite/system_tests/relax_disp.py:def test_dx_map_clustered(self):
test_suite/system_tests/relax_disp.py:def
test_dx_map_clustered_create_par_file(self):
$

For example the 2nd would be run as:

$ relax -sd Model_free.test_opendx_s2_te_rex


 plotting.write_2D_fitted_curves()

This is the current relax_disp.plot_disp_curves user function.  I also
haven't shifted this code around, as this is a more complicated task.
It will require creating new methods for the specific analysis API to
allow this graph type to be compatible with all analysis types which
implement the API methods
(http://www.nmr-relax.com/api/3.3/specific_analyses.api_base.API_base-class.html).
It is also similar to Troels' help.py script attached to
http://gna.org/support/?3210.  One system test that checks the
relax_disp.plot_disp_curves user function is:

$ ./relax -sd Relax_disp.test_r1rho_kjaergaard_auto_check_graphs


 ideas?

I hope this information helps and isn't too much.


 Second, I cannot figure out how to read in two saved data pipes. I would like 
 to
 write a sample script for J0 vs J0 on two fields plotting.

It might be better to start a new thread.  For this you should use the
results.write and results.read user functions.  These historical names
should probably one day be renamed to pipe.write and pipe.read.

Regards,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: [sr #3211] Provide veusz plots as an alternative to grace

2015-02-08 Thread Edward d'Auvergne
Hi Justin,

Here is another resource that may be of assistance.  I have created a
basic initial relax wiki page describing the plotting API:

http://wiki.nmr-relax.com/Plotting_API

Feel free to sign up to the wiki and modify this as you see fit
(http://wiki.nmr-relax.com/index.php?title=Special:UserLoginreturnto=Plotting+APItype=signup).
I'll expand this as the API is developed and refined.  It could
benefit from additional code examples, better API documentation
linking, and detailing specific graph types, etc.  Note that the API
documentation at http://www.nmr-relax.com/api/3.3/ does not contain
the recent changes for the Grace plotting and the
pipe_control.plotting.write_xy() function.  This will be updated once
relax 3.3.7 is released (http://wiki.nmr-relax.com/Relax_3.3.7).  The
code should now be the maximal simplicity for implementing new
functionality (http://wiki.nmr-relax.com/Plotting_API#Development).

Regards,

Edward

On 6 February 2015 at 14:58, Edward d'Auvergne edw...@nmr-relax.com wrote:
 Ok, this is done.  If you like, I could also duplicate the grace.write
 user function into a new plotting.write user function so that you have
 a software independent way into the plotting API, via the standard
 user interface.  Or maybe this could be plotting.write_xy.  I would
 then shift the pipe_control.grace.write() function:

 http://www.nmr-relax.com/api/3.3/pipe_control.grace-module.html#write

 into the pipe_control.plotting module:

 http://www.nmr-relax.com/api/3.3/pipe_control.plotting-module.html

 and add the format='grace' argument.  Actually, this moving of the
 write() function is so basic I'll do that now for setting up more
 infrastructure for you to work with.  Done:

 http://article.gmane.org/gmane.science.nmr.relax.scm/25348

 Regards,

 Edward




 On 6 February 2015 at 14:18, Edward d'Auvergne edw...@nmr-relax.com wrote:
 Hi Justin,

 If you are interested, then I'll do a quick code rearrangement of the
 Grace plotting code and then set up the API methods for plotting such
 data:

 http://www.nmr-relax.com/api/3.3/lib.software-module.html
 http://www.nmr-relax.com/api/3.3/lib.plotting-module.html

 You would then just need to write backend functions into the
 lib.plotting.veusz module I created for you.  You could use the
 lib.plotting.grace module, when created, as a template.  The API
 functions must have identical input arguments.  We would also need to
 discuss the different needs of Veusz vs. Grace so we can refine the
 API, as the first iteration will be very Grace specific.  One option
 we have is to also create a branch for you to play with where all your
 changes can be applied as patches.  I would also recommend having a
 read of the relax development chapter of the manual to familiarise
 yourself with the conventions used in relax:

 http://www.nmr-relax.com/manual/relax_development.html

 You would then have the option of pushing this development as far as you 
 wish.

 Cheers,

 Edward



 On 6 February 2015 at 12:57, Justin (jlec) j...@gentoo.org wrote:
 Hello Edward,

 thanks for you long mail!

 I already started to get used to the relax API, as I am currently working 
 on the
 ccpn import module.

 I will try to take a look into the veusz module. Shouldn't be to difficult.

 As soon  as I have some patches or question I will come back to you.

 Justin


___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: [sr #3211] Provide veusz plots as an alternative to grace

2015-02-06 Thread Edward d'Auvergne
Hi Justin,

This should be possible.  With discussions with Troels about 3D
isosurface plotting, I created the space_mapping_refactor relax
branch:

http://thread.gmane.org/gmane.science.nmr.relax.scm/24009
http://svn.gna.org/viewcvs/relax/branches/space_mapping_refactor/

However in the trunk I am slowly and progressively working on the
lib.plotting package:

http://article.gmane.org/gmane.science.nmr.relax.devel/7444

The lib.plotting package will be a software independent API for all
plotting/graphing/space mapping in relax.  I am slowly migrating
backend code into this API, and will probably abandon the
space_mapping_refactor branch as we can make the changes in the trunk
as small incremental changes which do not break the test suite.  For
example the lib.software.grace module and lib.software.opendx package
can be shifted into lib.plotting.  Then this software specific code
abstracted by the API, so that other software specific code can be
written for the API to output a different file type.  This would allow
the 2D XY-data plots to then have backends for Grace, matplotlib,
veusz, plain text output, or any other software.

For veusz, we could create the lib.plotting.veusz module for handling
this.  For each plot type, we create a new API function in
lib.plotting.api.  Then the veusz backend can be added to the API
function.  The back end function should be easy enough for any
developer to handle, it'll accept the data from relax and then it just
needs to be basic pseudo-script which opens the file and writes out
formatted content.  In any case, it would require a relax developer or
interested power-user to write such formatting code.  Justin, would
you be interested in playing around with such a veusz backend?  I just
created an empty module to play with:

http://article.gmane.org/gmane.science.nmr.relax.scm/25343

For the auto-analyses, we could have a setting whereby the user
chooses the plotting software (or a list of plotting software).  Or we
could output to all formats.  I'm not sure what would be best.  In the
GUI, this could be part of the analysis GUI element, or it could be
analysis independent and set via a settings dialog in the Tools menu.

For the user functions, we should create a new 'plotting' user
function class.  Then there could be new user functions such as
plotting.write_veusz and plottting.view_veusz for handing the Veusz
graphing.  The other plotting user function could migrate into this
class at a later date as:

grace.view - plotting.view_grace
grace.write - plotting.write_2D_grace
dx.execute - plotting.execute_dx
dx.map - plotting.map_dx (or plotting.write_iso3D_dx)

Or a different design would be to have one user function per graph
type for graph creation:

plotting.write_2D
plotting.write_iso3D
plotting.write_2D_fitted_curves

And one user function per software to view the results:

plotting.view_dx
plotting.view_grace
plotting.view_matplotlib
plotting.view_veusz

Or these could be combined into a single plotting.view or
plotting.execute user function.  The Veusz lib.plotting backend
support is should be a relatively easy task.  Justin, would you be
interested in seeing if you can create stand-alone Python scripts for
outputting in veusz format?  This could then be easily modified to
become modules of the lib.plotting package.

Regards,

Edward




On 6 February 2015 at 11:32, Justin no-reply.invalid-addr...@gna.org wrote:
 URL:
   http://gna.org/support/?3211

  Summary: Provide veusz plots as an alternative to grace
  Project: relax
 Submitted by: jlec
 Submitted on: Fri 06 Feb 2015 10:32:01 AM UTC
 Category: Feature request
 Priority: 5 - Normal
 Severity: 3 - Normal
   Status: None
  Assigned to: None
 Originator Email:
  Open/Closed: Open
  Discussion Lock: Any
 Operating System: None

 ___

 Details:

 I could list all the disadvatages of grace,  but instead let me point to a
 great FOSS project written in python to do great plotting.

 http://home.gna.org/veusz/

 Upstream is very friendly and cooperative.

 I think it would be a great addition do be able to directly write all the
 standard grace plots as veusz plots.




 ___

 Reply to this item at:

   http://gna.org/support/?3211

 ___
   Message sent via/by Gna!
   http://gna.org/


 ___
 relax (http://www.nmr-relax.com)

 This is the relax-devel mailing list
 relax-devel@gna.org

 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-devel


Re: [sr #3211] Provide veusz plots as an alternative to grace

2015-02-06 Thread Edward d'Auvergne
Ok, this is done.  If you like, I could also duplicate the grace.write
user function into a new plotting.write user function so that you have
a software independent way into the plotting API, via the standard
user interface.  Or maybe this could be plotting.write_xy.  I would
then shift the pipe_control.grace.write() function:

http://www.nmr-relax.com/api/3.3/pipe_control.grace-module.html#write

into the pipe_control.plotting module:

http://www.nmr-relax.com/api/3.3/pipe_control.plotting-module.html

and add the format='grace' argument.  Actually, this moving of the
write() function is so basic I'll do that now for setting up more
infrastructure for you to work with.  Done:

http://article.gmane.org/gmane.science.nmr.relax.scm/25348

Regards,

Edward




On 6 February 2015 at 14:18, Edward d'Auvergne edw...@nmr-relax.com wrote:
 Hi Justin,

 If you are interested, then I'll do a quick code rearrangement of the
 Grace plotting code and then set up the API methods for plotting such
 data:

 http://www.nmr-relax.com/api/3.3/lib.software-module.html
 http://www.nmr-relax.com/api/3.3/lib.plotting-module.html

 You would then just need to write backend functions into the
 lib.plotting.veusz module I created for you.  You could use the
 lib.plotting.grace module, when created, as a template.  The API
 functions must have identical input arguments.  We would also need to
 discuss the different needs of Veusz vs. Grace so we can refine the
 API, as the first iteration will be very Grace specific.  One option
 we have is to also create a branch for you to play with where all your
 changes can be applied as patches.  I would also recommend having a
 read of the relax development chapter of the manual to familiarise
 yourself with the conventions used in relax:

 http://www.nmr-relax.com/manual/relax_development.html

 You would then have the option of pushing this development as far as you wish.

 Cheers,

 Edward



 On 6 February 2015 at 12:57, Justin (jlec) j...@gentoo.org wrote:
 Hello Edward,

 thanks for you long mail!

 I already started to get used to the relax API, as I am currently working on 
 the
 ccpn import module.

 I will try to take a look into the veusz module. Shouldn't be to difficult.

 As soon  as I have some patches or question I will come back to you.

 Justin


___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: [sr #3211] Provide veusz plots as an alternative to grace

2015-02-06 Thread Edward d'Auvergne
Hi Justin,

If you are interested, then I'll do a quick code rearrangement of the
Grace plotting code and then set up the API methods for plotting such
data:

http://www.nmr-relax.com/api/3.3/lib.software-module.html
http://www.nmr-relax.com/api/3.3/lib.plotting-module.html

You would then just need to write backend functions into the
lib.plotting.veusz module I created for you.  You could use the
lib.plotting.grace module, when created, as a template.  The API
functions must have identical input arguments.  We would also need to
discuss the different needs of Veusz vs. Grace so we can refine the
API, as the first iteration will be very Grace specific.  One option
we have is to also create a branch for you to play with where all your
changes can be applied as patches.  I would also recommend having a
read of the relax development chapter of the manual to familiarise
yourself with the conventions used in relax:

http://www.nmr-relax.com/manual/relax_development.html

You would then have the option of pushing this development as far as you wish.

Cheers,

Edward



On 6 February 2015 at 12:57, Justin (jlec) j...@gentoo.org wrote:
 Hello Edward,

 thanks for you long mail!

 I already started to get used to the relax API, as I am currently working on 
 the
 ccpn import module.

 I will try to take a look into the veusz module. Shouldn't be to difficult.

 As soon  as I have some patches or question I will come back to you.

 Justin


___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: [bug #23244] Missing one fitting parameter in relaxation curve fitting report.

2015-02-04 Thread Edward d'Auvergne
Hi,

The problem is that in the relax application, you can't just replace
the file.  If you use the relax sources, the problem will be fixed.
Otherwise you could wait until I release a new version of relax, which
might happen soon.

Regards,

Edward


On 4 February 2015 at 18:11, Xiangyan Shi xyshi1...@gmail.com wrote:
 Hi Edward,

 I saw you posted the revised relax_fit.py.
 However, after replacing the anto_analysis/relax_fit.py with this revised 
 one, I still get same output files, which miss the reports (txt file or 
 graph) on I(inf). I’m using relax-GUI. Is it just a problem with relax-GUI?
 Thank you.

 Xiangyan


 On Feb 4, 2015, at 9:36 AM, Edward d'Auvergne edw...@nmr-relax.com wrote:

 Hi Xiangyan,

 I'll look at creating a system test with your data now, and seeing how
 this can be fixed.  For your suggestion of another graph, could you
 create a different report for this?  That would rather be a support
 request (https://gna.org/support/?group=relax).  It might be useful if
 you created a graph with a minimal data set and attach a PNG image of
 the graph to the report as well.  That way it will be very clear what
 you would like to do.

 Cheers,

 Edward


 On 4 February 2015 at 16:30, xiangyan shi
 no-reply.invalid-addr...@gna.org wrote:
 Follow-up Comment #2, bug #23244 (project relax):

 I have a test file attached including the peak list, all the output results
 from relax, and a copy-paste message of the log from the controller window.

 In addition of this missing report on I(inf) and associate error, another
 improvement can be made is providing a xmgrace plot of experimental data 
 point
 versus final fitting curve. This kind of plots is common for publication.
 Right now, without this feature, I have to use other program (matlab) to do
 this plot, which takes quite amount of time if one have hundreds of peaks to
 fit.

 Thank you!

 (file #23716)
___

 Additional Item Attachment:

 File name: test.zip   Size:155 KB


___

 Reply to this item at:

  http://gna.org/bugs/?23244

 ___
  Message sent via/by Gna!
  http://gna.org/



___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: [bug #23186] Error calculation of individual parameter dw from Monte-Carlo, is based on first spin.

2015-02-03 Thread Edward d'Auvergne
Hi Troels,

I was wondering if this bug is still present in relax?  The bug report
is still open.

Cheers,

Edward



On 14 January 2015 at 13:47, Troels E. Linnet
no-reply.invalid-addr...@gna.org wrote:
 URL:
   http://gna.org/bugs/?23186

  Summary: Error calculation of individual parameter dw from
 Monte-Carlo, is based on first spin.
  Project: relax
 Submitted by: tlinnet
 Submitted on: Wed 14 Jan 2015 12:47:37 PM UTC
 Category: None
 Specific analysis category: Relaxation dispersion
 Priority: 7 - High
 Severity: 4 - Important
   Status: None
  Assigned to: None
  Originator Name:
 Originator Email:
  Open/Closed: Open
  Release: Repository: trunk
  Discussion Lock: Any
 Operating System: All systems

 ___

 Details:

 This was discovered in post:

 http://thread.gmane.org/gmane.science.nmr.relax.user/1795

 The problem is in:
 specific_analyses.relax_disp/api.sim_return_param()

 --
 # Convert the parameter index.
 if model_param:
 param_name, si, mi = param_index_to_param_info(index=index,
 spins=spins)
 if not param_name in ['r2eff', 'i0']:
 si = 0
 else:
 param_name = aux_params[index - total_param_num]
 si = 0
 mi = 0

 ...

 # Model and auxiliary parameters.
 else:
 sim_data = getattr(spins[si], param_name + _sim)

 --

 Since si = 0, it takes dw values from initial spin, and uses this as error for
 all spins.

 This is not correct.





 ___

 Reply to this item at:

   http://gna.org/bugs/?23186

 ___
   Message sent via/by Gna!
   http://gna.org/


 ___
 relax (http://www.nmr-relax.com)

 This is the relax-devel mailing list
 relax-devel@gna.org

 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-devel

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: Fatal GUI Segmentation Fault bugs in wxPython 2.8.

2015-02-03 Thread Edward d'Auvergne
Hi,

I've actually found that these problems are only on the millisecond
time scale, and hence a normal user will never be able to move the
mouse so fast.  With recent GUI test changes:

r27444 - http://article.gmane.org/gmane.science.nmr.relax.scm/25195
r27445 - http://article.gmane.org/gmane.science.nmr.relax.scm/25196

the crashing on wxPython 2.8 disappears.  This is probably due to the
problem being hidden.  However as I don't believe that a user will
ever be quick enough to trigger these issues, I will revert the recent
changes disabling wxPython 2.8:

r27241 - http://article.gmane.org/gmane.science.nmr.relax.scm/24992
r27243 - http://article.gmane.org/gmane.science.nmr.relax.scm/24994

However I will leave the documentation as is, so that users move away
from the buggy wxPython 2.8 version.

Regards,

Edward


On 19 January 2015 at 11:42, Edward d'Auvergne edw...@nmr-relax.com wrote:
 Hi,

 Because of bug #23189 (https://gna.org/bugs/?23189), I'm considering
 depreciating wxPython 2.8 in relax.  As it will still be present on
 many systems, I am thinking of implementing this as follows:

 - The dep_check module gives a warning when the program is started
 that the wxPython 2.8 version is buggy and can result in segfaults.

 - Disable the GUI tests.  The new
 General.test_bug_23187_residue_delete_gui GUI test causes the GUI
 tests to regularly segfault on wxPython 2.8.  The problem is in the
 tree GUI element of the spin viewer window.  The bug was solved in
 wxPython 2.9.

 - Updating the dependencies in the relax manual
 (http://www.nmr-relax.com/manual/Dependencies.html) and the website
 (http://www.nmr-relax.com/download.html#Dependencies, though this is
 already done) for wxPython 2.9.

 Any suggestions are welcome.

 Regards,

 Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: r27225 - /trunk/user_functions/monte_carlo.py

2015-01-20 Thread Edward d'Auvergne
Hi Troels,

For the user function description, could you expand the STD acronym?
I guess this is the standard deviation
(https://en.wikipedia.org/wiki/Standard_deviation), but STD is not the
standard acronym for this (see https://en.wikipedia.org/wiki/STD and
https://en.wikipedia.org/wiki/Sexually_transmitted_infection).  SD is
the normal acronym.

Cheers,

Edward


On 20 January 2015 at 12:02,  tlin...@nmr-relax.com wrote:
 Author: tlinnet
 Date: Tue Jan 20 12:02:10 2015
 New Revision: 27225

 URL: http://svn.gna.org/viewcvs/relax?rev=27225view=rev
 Log:
 Extended the user function 'monte_carlo.create_data', to allow for the 
 defition of the STD to use in gauss distribution.

 This is for creation of Monte-Carlo simulations, where one has perhaps gained 
 information about the expected errors of the datapoints, which is not 
 measured.

 Task #7882 (https://gna.org/task/?7882): Implement Monte-Carlo simulation, 
 where errors are generated with width of standard deviation or residuals.): 
 Implement Monte-Carlo simulation, where errors are generated with width of 
 standard deviation or residuals.

 Modified:
 trunk/user_functions/monte_carlo.py

 Modified: trunk/user_functions/monte_carlo.py
 URL: 
 http://svn.gna.org/viewcvs/relax/trunk/user_functions/monte_carlo.py?rev=27225r1=27224r2=27225view=diff
 ==
 --- trunk/user_functions/monte_carlo.py (original)
 +++ trunk/user_functions/monte_carlo.py Tue Jan 20 12:02:10 2015
 @@ -87,16 +87,24 @@
  desc_short = distribution,
  desc = The error distribution method.,
  wiz_element_type = combo,
 -wiz_combo_choices = [Measured error, Reduced chi2],
 -wiz_combo_data = [measured, red_chi2],
 +wiz_combo_choices = [Measured error, Reduced chi2, Fixed error],
 +wiz_combo_data = [measured, red_chi2, fixed],
  wiz_read_only = True
 +)
 +uf.add_keyarg(
 +name = fixed_error,
 +py_type = float,
 +default = None,
 +desc_short = fixed error value for fixed error distribution.,
 +desc = The fixed value to use when distribution is set to 'fixed'.,
 +can_be_none = True
  )
  # Description.
  uf.desc.append(Desc_container())
  uf.desc[-1].add_paragraph(The method can either be set to back calculation 
 (Monte Carlo) or direct (bootstrapping), the choice of which determines the 
 simulation type.  If the values or parameters are calculated rather than 
 minimised, this option will have no effect.  Errors should only be propagated 
 via Monte Carlo simulations if errors have been measured. )
  uf.desc[-1].add_paragraph(For error analysis, the method should be set to 
 back calculation which will result in proper Monte Carlo simulations.  The 
 data used for each simulation is back calculated from the minimised model 
 parameters and is randomised using Gaussian noise where the standard 
 deviation is from the original error set.  When the method is set to back 
 calculation, this function should only be called after the model is fully 
 minimised.)
  uf.desc[-1].add_paragraph(The simulation type can be changed by setting the 
 method to direct.  This will result in bootstrapping simulations which cannot 
 be used in error analysis (and which are no longer Monte Carlo simulations).  
 However, these simulations are required for certain model selection 
 techniques (see the documentation for the model selection user function for 
 details), and can be used for other purposes.  Rather than the data being 
 back calculated from the fitted model parameters, the data is generated by 
 taking the original data and randomising using Gaussian noise with the 
 standard deviations set to the original error set.)
 -uf.desc[-1].add_paragraph(The errors generated per simulation can either be 
 generated indidual per datapoint and drawn from a gauss distrubtion described 
 by the STD of the indidual point, or it can be generated from a overall gauss 
 distribution described by the STD_fit of the goodness of fit, where STD_fit = 
 sqrt(chi2/(N-p)).)
 +uf.desc[-1].add_paragraph(The errors generated per simulation can either be 
 generated indidual per datapoint and drawn from a gauss distrubtion described 
 by the STD of the indidual point, or it can be generated from a overall gauss 
 distribution described by the STD_fit of the goodness of fit, where STD_fit = 
 sqrt(chi2/(N-p)).  The last possibility is to supply a fixed value of STD, 
 from which gauss distribution to draw errors from.)
  uf.desc.append(monte_carlo_desc)
  uf.backend = error_analysis.monte_carlo_create_data
  uf.menu_text = create_data


 ___
 relax (http://www.nmr-relax.com)

 This is the relax-commits mailing list
 relax-comm...@gna.org

 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-commits


Re: Releasing relax version 3.3.5.

2015-01-20 Thread Edward d'Auvergne
Hi Troels,

If you are happy with the current state of the trunk and you don't
plan on too many more changes for now, just say so and I'll tag relax
3.3.5 (after a bit of testing on different 32 and 64-bit Linux, Mac,
and Windows test machines).

Cheers,

Edward



On 15 January 2015 at 11:09, Edward d'Auvergne edw...@nmr-relax.com wrote:
 Well, the error I found is fixed.

 Great!  The pseudo-solution I suggested didn't work so well, but the
 new test is passing with your code.  I just wasn't sure if it was a
 complete solution as the bug report is still open
 (https://gna.org/bugs/?23186).


 Maybe there is a need, to also test for 2 field data.

 That might be useful for sanity purposes, just to make sure relax is
 behaving correctly for all dispersion parameter categories.


 The code ordinary_least_squares() is not used yet, as I still going back and
 forth about argumentation for which one to use.
 Depending on the statistic book I read, I change my meaning.

 Maybe just dump both side-by-side in a new relax library module (i.e.
 restore the old one that was deleted).  Then you could compare
 performance.  The differences are often due to edge cases, which in
 this case may not even be an issue.  Note that statistics books, and
 statisticians themselves, have strong opinions and biases based on
 their speciality.  So you need to be objective and test for yourself.
 So if you dump both into the library, you can use them as you wish, or
 forget about them.  You work on the auto-analysis will then be
 decoupled from this code, as the linear regression code will be
 separated, isolated, independent, and fixed.  This is the entire
 purpose of the library and why I created it :)  (see
 http://article.gmane.org/gmane.science.nmr.relax.devel/3789).

 If a function can operate by itself, having only simple data input and
 output and is not reliant on the relax data store, then the aim should
 be to shift it into the library to isolate it.  This has the effect of
 simplifying the auto-analyses by minimising the amount of code there.
 It also simplifies the pipe_control package, as these modules should
 only check arguments and manipulate the relax data store.  Migration
 of functions to the library is still an ongoing process, but already
 since relax 3.0.0 (http://wiki.nmr-relax.com/Relax_3.0.0) the
 auto_analyses, data_store, pipe_control, prompt, specific_analyses,
 and target_functions packages have been hugely simplified.  This
 decoupling is also a great aid for the debugging process due to the
 isolation and code simplification.

 Cheers,

 Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: r27209 - /trunk/user_functions/monte_carlo.py

2015-01-19 Thread Edward d'Auvergne
This looks good!

Cheers,

Edward


On 16 January 2015 at 23:20,  tlin...@nmr-relax.com wrote:
 Author: tlinnet
 Date: Fri Jan 16 23:20:04 2015
 New Revision: 27209

 URL: http://svn.gna.org/viewcvs/relax?rev=27209view=rev
 Log:
 Extended user function monte_carlo.create_data() to accept 
 'method=sum_squares', to create Monte-Carlo data.

 Task #7882 (https://gna.org/task/?7882): Implement Monte-Carlo simulation, 
 where errors are generated with width of standard deviation or residuals.

 Modified:
 trunk/user_functions/monte_carlo.py

 Modified: trunk/user_functions/monte_carlo.py
 URL: 
 http://svn.gna.org/viewcvs/relax/trunk/user_functions/monte_carlo.py?rev=27209r1=27208r2=27209view=diff
 ==
 --- trunk/user_functions/monte_carlo.py (original)
 +++ trunk/user_functions/monte_carlo.py Fri Jan 16 23:20:04 2015
 @@ -76,13 +76,13 @@
  desc_short = method,
  desc = The simulation method.,
  wiz_element_type = combo,
 -wiz_combo_choices = [Monte Carlo, Bootstrapping],
 -wiz_combo_data = [back_calc, direct],
 +wiz_combo_choices = [Monte Carlo, Bootstrapping, STD from sums of 
 squares],
 +wiz_combo_data = [back_calc, direct, sum_squares],
  wiz_read_only = True
  )
  # Description.
  uf.desc.append(Desc_container())
 -uf.desc[-1].add_paragraph(The method can either be set to back calculation 
 (Monte Carlo) or direct (bootstrapping), the choice of which determines the 
 simulation type.  If the values or parameters are calculated rather than 
 minimised, this option will have no effect.  Errors should only be propagated 
 via Monte Carlo simulations if errors have been measured. )
 +uf.desc[-1].add_paragraph(The method can either be set to back calculation 
 (Monte Carlo) or direct (bootstrapping) or sums of squares (STD from sums of 
 squares), the choice of which determines the simulation type.  If the values 
 or parameters are calculated rather than minimised, this option will have no 
 effect.  Errors should only be propagated via Monte Carlo simulations if 
 errors have been measured.  'STD from sums of squares' is where errors are 
 drawn from a distribution of sums of squares of the residual.)
  uf.desc[-1].add_paragraph(For error analysis, the method should be set to 
 back calculation which will result in proper Monte Carlo simulations.  The 
 data used for each simulation is back calculated from the minimised model 
 parameters and is randomised using Gaussian noise where the standard 
 deviation is from the original error set.  When the method is set to back 
 calculation, this function should only be called after the model is fully 
 minimised.)
  uf.desc[-1].add_paragraph(The simulation type can be changed by setting the 
 method to direct.  This will result in bootstrapping simulations which cannot 
 be used in error analysis (and which are no longer Monte Carlo simulations).  
 However, these simulations are required for certain model selection 
 techniques (see the documentation for the model selection user function for 
 details), and can be used for other purposes.  Rather than the data being 
 back calculated from the fitted model parameters, the data is generated by 
 taking the original data and randomising using Gaussian noise with the 
 standard deviations set to the original error set.)
  uf.desc.append(monte_carlo_desc)


 ___
 relax (http://www.nmr-relax.com)

 This is the relax-commits mailing list
 relax-comm...@gna.org

 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-commits

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: r27203 - /trunk/specific_analyses/relax_disp/optimisation.py

2015-01-19 Thread Edward d'Auvergne
Hi Troels,

Could you rename spin.sos to spin.sse?  This is the acronym used in
the field and by other software - the sum of squared errors
(https://en.wikipedia.org/wiki/Residual_sum_of_squares,
http://www.palmer.hs.columbia.edu/software/modelfree_manual.pdf).  If
the individual SSE elements are divided by the experimental error
sigma_i, then this is the chi2 value.  The SSE and chi2 statistics are
related, and are identical in the case of unit errors.  Other
acronyms, much less used in the NMR field, are SSR or RSS.  I don't
think I've ever encountered SOS before, outside of emergencies
(https://en.wikipedia.org/wiki/SOS).

Cheers,

Edward

On 16 January 2015 at 23:19,  tlin...@nmr-relax.com wrote:
 Author: tlinnet
 Date: Fri Jan 16 23:19:50 2015
 New Revision: 27203

 URL: http://svn.gna.org/viewcvs/relax?rev=27203view=rev
 Log:
 Implemented storing of sum of squares and the standard deviation of these for 
 relaxation dispersion, when doing a point calculation.

 Task #7882 (https://gna.org/task/?7882): Implement Monte-Carlo simulation, 
 where errors are generated with width of standard deviation or residuals.

 Modified:
 trunk/specific_analyses/relax_disp/optimisation.py

 Modified: trunk/specific_analyses/relax_disp/optimisation.py
 URL: 
 http://svn.gna.org/viewcvs/relax/trunk/specific_analyses/relax_disp/optimisation.py?rev=27203r1=27202r2=27203view=diff
 ==
 --- trunk/specific_analyses/relax_disp/optimisation.py  (original)
 +++ trunk/specific_analyses/relax_disp/optimisation.py  Fri Jan 16 23:19:50 
 2015
 @@ -119,7 +119,7 @@
  @type spin_lock_nu1:list of lists of numpy rank-1 float arrays
  @keyword relax_times_new:   The interpolated experiment specific fixed 
 time period for relaxation (in seconds).  The dimensions are {Ei, Mi, Oi, Di, 
 Ti}.
  @type relax_times_new:  rank-4 list of floats
 -@keyword store_chi2:A flag which if True will cause the spin 
 specific chi-squared value to be stored in the spin container.
 +@keyword store_chi2:A flag which if True will cause the spin 
 specific chi-squared value to be stored in the spin container together with 
 the sum of squares of the residuals and the standard deviation of the sum of 
 squares of the residuals.
  @type store_chi2:   bool
  @return:The back-calculated R2eff/R1rho value for 
 the given spin.
  @rtype: numpy rank-1 float array
 @@ -215,10 +215,15 @@
  # Make a single function call.  This will cause back calculation and the 
 data will be stored in the class instance.
  chi2 = model.func(param_vector)

 -# Store the chi-squared value.
 +# Get the sum of squares 'sos' of the residuals between the fitted 
 values and the measured values. Get the std deviation of these, std_sos.
 +sos, sos_std = model.get_sum_of_squares()
 +
 +# Store the chi-squared value, sums of squares of residual and the 
 standard deviation of sums of squares of residual.
  if store_chi2:
  for spin in spins:
  spin.chi2 = chi2
 +spin.sos = sos
 +spin.sos_std = sos_std

  # Return the structure.
  return model.get_back_calc()


 ___
 relax (http://www.nmr-relax.com)

 This is the relax-commits mailing list
 relax-comm...@gna.org

 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-commits

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: r27219 - /trunk/specific_analyses/relax_disp/api.py

2015-01-19 Thread Edward d'Auvergne
Hi Troels,

This still has the same problems with the R2eff model as mentioned at
http://thread.gmane.org/gmane.science.nmr.relax.scm/24963/focus=7490.

Regards,

Edward



On 17 January 2015 at 17:25,  tlin...@nmr-relax.com wrote:
 Author: tlinnet
 Date: Sat Jan 17 17:25:20 2015
 New Revision: 27219

 URL: http://svn.gna.org/viewcvs/relax?rev=27219view=rev
 Log:
 Added API function in relaxation dispersion to return error structure from 
 the reduced chi2 distribution.

 Task #7882 (https://gna.org/task/?7882): Implement Monte-Carlo simulation, 
 where errors are generated with width of standard deviation or residuals.): 
 Implement Monte-Carlo simulation, where errors are generated with width of 
 standard deviation or residuals.

 Modified:
 trunk/specific_analyses/relax_disp/api.py

 Modified: trunk/specific_analyses/relax_disp/api.py
 URL: 
 http://svn.gna.org/viewcvs/relax/trunk/specific_analyses/relax_disp/api.py?rev=27219r1=27218r2=27219view=diff
 ==
 --- trunk/specific_analyses/relax_disp/api.py   (original)
 +++ trunk/specific_analyses/relax_disp/api.py   Sat Jan 17 17:25:20 2015
 @@ -27,7 +27,7 @@
  # Python module imports.
  import bmrblib
  from copy import deepcopy
 -from numpy import int32, zeros
 +from numpy import int32, sqrt, zeros
  from re import match, search
  import string
  import sys
 @@ -1035,6 +1035,44 @@

  # Return the error list.
  return errors
 +
 +
 +def return_error_red_chi2(self, data_id=None):
 +Return the standard deviation data structure, where standard 
 deviation is from the overall gauss distribution described by the STD_fit of 
 the goodness of fit, where STD_fit = sqrt(chi2/(N-p))
 +
 +@param data_id: The tuple of the spin container and the exponential 
 curve identifying key, as yielded by the base_data_loop() generator method.
 +@type data_id:  SpinContainer instance and float
 +@return:The standard deviation data structure.
 +@rtype: list of float
 +
 +
 +# Get the errors structure as above.
 +errors = self.return_error(data_id=data_id)
 +
 +# Unpack the data.
 +spin, spin_id = data_id
 +
 +# Loop over the spin groupings for the model.
 +for spin_ids in self.model_loop():
 +# If the spin of interest is in the returned spin cluster.
 +if spin_id in spin_ids:
 +# Get the statistics
 +k, n, chi2 = self.model_statistics(model_info=spin_ids)
 +
 +# Calculate degrees of freedom.
 +dof = n - k
 +
 +# Calculate reduced chi2, or named as the variance of the 
 squared residuals.
 +red_chi2 = chi2 / float(dof)
 +
 +# Calculated the standard deviation.
 +std_red_chi2 = sqrt(red_chi2)
 +
 +# Replace values with the stored value.
 +for id in errors:
 +errors[id] = std_red_chi2
 +
 +return errors


  def return_value(self, spin, param, sim=None, bc=False):


 ___
 relax (http://www.nmr-relax.com)

 This is the relax-commits mailing list
 relax-comm...@gna.org

 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-commits

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: r27203 - /trunk/specific_analyses/relax_disp/optimisation.py

2015-01-19 Thread Edward d'Auvergne
Ah!  It could be what I've seen with the model-free analysis.  It
could be that the high precision optimisation in relax avoids the
problems of parameter error overestimation due to the real minimum
being located in a broad region or tunnel in the space.  Do you know
the reason for the large kex errors in the original analysis?  Is it
possible to investigate this?  How were the errors calculated, and do
you know the exact implementation details?  For example what was the
optimisation starting point for each error simulation?  I spent my
entire PhD time solving such problems, reading 3 statistics books
cover-to-cover in the maths library, so I may be able to help.  Or at
least point you in a useful direction.

Regards,

Edward


On 19 January 2015 at 10:33, Troels Emtekær Linnet
tlin...@nmr-relax.com wrote:
 Hi Edward.

 I actually think that I have created local minima in my dataset, which is
 not caught.

 I am looking into it.

 2015-01-19 10:30 GMT+01:00 Edward d'Auvergne edw...@nmr-relax.com:

 Hi,

 Maybe we should discuss on the original thread the problem in detail
 and see if there is a solution.  I wonder why the kex errors are so
 different?

 Regards,

 Edward



 On 19 January 2015 at 09:51, Troels Emtekær Linnet
 tlin...@nmr-relax.com wrote:
  Hi Edward.
 
  I was through sor (sum of residuals), sos(sum of squares), and now
  sse(sum
  of squared errors).
 
  I agree with sse being the best, but I have reverted all my commits, and
  found a solution through the API.
 
  Just using the chi2 value, and finding degrees of freedom with the API.
 
  If one wants .sse, one can just quickly do
 
  value.set(val=1.0, param=r2eff, error=True)
  minimise.calculate(verbosity=1)
 
  Anyway, in the end, the new method did not solve my problem.
  STD_fit = sqrt(chi2 / dof)
 
  Since dof is so big (many datapoints, small amounts of parameters for
  clustered fitting), STD_fit becomes close to 1.
 
 
  Best
  Troels
 
 
  2015-01-19 9:35 GMT+01:00 Edward d'Auvergne edw...@nmr-relax.com:
 
  Hi Troels,
 
  Could you rename spin.sos to spin.sse?  This is the acronym used in
  the field and by other software - the sum of squared errors
  (https://en.wikipedia.org/wiki/Residual_sum_of_squares,
  http://www.palmer.hs.columbia.edu/software/modelfree_manual.pdf).  If
  the individual SSE elements are divided by the experimental error
  sigma_i, then this is the chi2 value.  The SSE and chi2 statistics are
  related, and are identical in the case of unit errors.  Other
  acronyms, much less used in the NMR field, are SSR or RSS.  I don't
  think I've ever encountered SOS before, outside of emergencies
  (https://en.wikipedia.org/wiki/SOS).
 
  Cheers,
 
  Edward
 
  On 16 January 2015 at 23:19,  tlin...@nmr-relax.com wrote:
   Author: tlinnet
   Date: Fri Jan 16 23:19:50 2015
   New Revision: 27203
  
   URL: http://svn.gna.org/viewcvs/relax?rev=27203view=rev
   Log:
   Implemented storing of sum of squares and the standard deviation of
   these for relaxation dispersion, when doing a point calculation.
  
   Task #7882 (https://gna.org/task/?7882): Implement Monte-Carlo
   simulation, where errors are generated with width of standard
   deviation or
   residuals.
  
   Modified:
   trunk/specific_analyses/relax_disp/optimisation.py
  
   Modified: trunk/specific_analyses/relax_disp/optimisation.py
   URL:
  
   http://svn.gna.org/viewcvs/relax/trunk/specific_analyses/relax_disp/optimisation.py?rev=27203r1=27202r2=27203view=diff
  
  
   ==
   --- trunk/specific_analyses/relax_disp/optimisation.py  (original)
   +++ trunk/specific_analyses/relax_disp/optimisation.py  Fri Jan 16
   23:19:50 2015
   @@ -119,7 +119,7 @@
@type spin_lock_nu1:list of lists of numpy rank-1 float
   arrays
@keyword relax_times_new:   The interpolated experiment specific
   fixed time period for relaxation (in seconds).  The dimensions are
   {Ei, Mi,
   Oi, Di, Ti}.
@type relax_times_new:  rank-4 list of floats
   -@keyword store_chi2:A flag which if True will cause the
   spin specific chi-squared value to be stored in the spin container.
   +@keyword store_chi2:A flag which if True will cause the
   spin specific chi-squared value to be stored in the spin container
   together
   with the sum of squares of the residuals and the standard deviation
   of the
   sum of squares of the residuals.
@type store_chi2:   bool
@return:The back-calculated R2eff/R1rho
   value
   for the given spin.
@rtype: numpy rank-1 float array
   @@ -215,10 +215,15 @@
# Make a single function call.  This will cause back calculation
   and the data will be stored in the class instance.
chi2 = model.func(param_vector)
  
   -# Store the chi-squared value.
   +# Get the sum of squares 'sos' of the residuals between the
   fitted

Re: [task #7882] Implement Monte-Carlo simulation, where errors are generated with width of standard deviation or residuals

2015-01-19 Thread Edward d'Auvergne
Hi Troels,

Looking at page 28, note that they are using the SSE value of
sum(Y_data - Y_curve)^2 and not the chi2 value of sum((Y_data -
Y_curve)/sigma)^2.  This is a major difference!  The chi-squared value
is the SSE normalised to unit variance.  Any statistics or techniques
relying on the SSE value cannot be used when the chi-squared has been
used - i.e. it cannot be mapped to the relax results.  Also note that
this page/book is talking about non-linear regression
(https://en.wikipedia.org/wiki/Nonlinear_regression) whereas in relax
we use non-linear least squares fitting
(https://en.wikipedia.org/wiki/Non-linear_least_squares).  Although
related these are different fields, so care must be taken to when
using techniques from one in the other.  In most cases that would be
theoretically disallowed.  This statement from the regression
wikipedia article
https://en.wikipedia.org/wiki/Nonlinear_regression#Ordinary_and_weighted_least_squares
is useful:

The best-fit curve is often assumed to be that which minimizes
the sum of squared residuals. This is the (ordinary) least squares
(OLS) approach. However, in cases where the dependent variable does
not have constant variance, a sum of weighted squared residuals may be
minimized; see weighted least squares. Each weight should ideally be
equal to the reciprocal of the variance of the observation, but
weights may be recomputed on each iteration, in an iteratively
weighted least squares algorithm.

I.e. the two techniques are assumed to give the same result.  This is
often the case if the errors of all points are the same (though not
always due to the changing in curvature of the space if the errors are
not 1.0), that the noise is Gaussian, and there are no outliers.

Which part of page 28 is disturbing?  We do not make the second
assumption that the average amount of scatter is the same all the way
along the curve.  The chi-squared value takes care of this - each
point has its own independent error.  The first assumption is also
fine, unless the NMR experiment has failed in some strange way
affecting the spectral baseline or the spectral processing has
introduced baseline artefacts.  As for the weighting, in the
relaxation dispersion analysis, this is not needed.  It is used
sometimes in relax when combining RDC and PCS data in the N-state
model, but that is for when errors are not known and it is used to
make sure the two data types have roughly the same amount of weight
(which a full error analysis would have done).  I'll continue with the
other sections later.

I would also recommend that you have a read of the introduction
chapters 1 and 2 of Numerical Optimisation by Jorge Nocedal and
Stephen J. Wright.  This will give a good summary of the least squares
problem in comparison to this GraphPad Prism 4 software book which
covers regression.  This book will be in your maths library, or full
PDFs can be found online.  This book is a brilliant reference for all
optimisation concepts.

Cheers,

Edward

On 19 January 2015 at 10:53, Troels Emtekær Linnet
tlin...@nmr-relax.com wrote:
 Hi Edward.

 I have used this regression book.
 http://www.graphpad.com/faq/file/Prism4RegressionBook.pdf

 I like the language (fun and humoristic), and goes over a great detail.
 For example, there is quite a list of weighting methods.
 I find the comments on page 28 a little disturbing.
 (See also page 86+87)

 The Monte-Carlo simulation is described at page 104.

 1) Create an ideal data set.
 - Check. This is done with relax
 monte_carlo.create_data(method='back_calc')

 2) Add random scatter.
 relax now add random scatter, per individual datapoint. The random scatter
 is drawn from the measured error of the datapoint.
 But the book suggest adding errors described by variance of the residuals.
 This is described at page 33.
 If you chose to weight the values and minimize the relative distance
 squared (or some other weighting function), goodness-of-fit is quantified
 with the weighted sum- of-squares.

 Sy.x = sqrt(SS/dof) = sqrt(chi2 / dof)
 The question is of course, if SS should be sum of squared errors for the
 weighted points, or the non-weighted R2eff points.

 Best
 Troels

 2015-01-19 10:31 GMT+01:00 Edward d'Auvergne edw...@nmr-relax.com:

 Hi Troels,

 Do you have a reference for the technique?  You mentioned a 'fitting
 guide' in one of your commit messages, but without a reference to it.
 I would like to study the technique to understand the implementation.
 Does it have another name?  I would guess so as it breaks the
 statistical principles that the Monte Carlo simulation technique uses.
 That is why the monte_carlo.create_data user function says on the
 first line that the technique is called bootstrapping rather than
 Monte Carlo simulations if the 'method' argument is changed.   I would
 also like to check if it is implemented properly.  For example
 accessing the chi2, converting it to the reduced chi2 and using this
 as the SSE may not be correct

Re: [task #7882] Implement Monte-Carlo simulation, where errors are generated with width of standard deviation or residuals

2015-01-19 Thread Edward d'Auvergne
Hi Troels,

Do you have a reference for the technique?  You mentioned a 'fitting
guide' in one of your commit messages, but without a reference to it.
I would like to study the technique to understand the implementation.
Does it have another name?  I would guess so as it breaks the
statistical principles that the Monte Carlo simulation technique uses.
That is why the monte_carlo.create_data user function says on the
first line that the technique is called bootstrapping rather than
Monte Carlo simulations if the 'method' argument is changed.   I would
also like to check if it is implemented properly.  For example
accessing the chi2, converting it to the reduced chi2 and using this
as the SSE may not be correct, as the former is normalised by the
errors and the later is not.  You may need to recalculate the SSE as
there is no way to convert from the full/reduced chi2 value to an SSE
value.  I would also like to see if this implementation is a new
methodology that sits beside Monte Carlo simulations and Bootstrapping
simulations, or if it can be used for both of these.

Cheers,

Edward



On 16 January 2015 at 19:13, Edward d'Auvergne edw...@nmr-relax.com wrote:
 Hi,

 Sorry, I meant sum_i(residual_i / error_i)/N  1.0.  As for
 calculating the bias value, it looks like Wikipedia has a reasonable
 description (https://en.wikipedia.org/wiki/Bias_of_an_estimator).

 Regards,

 Edward


 On 16 January 2015 at 19:07, Edward d'Auvergne edw...@nmr-relax.com wrote:
 Hi,

 If you plot the R2eff errors from the Monte Carlo simulations of that
 model, are they Gaussian?  Well, that's assuming you have full
 dispersion curves.  Theoretically from the white noise in the NMR
 spectrum they should be.  Anyway, even if it not claimed that Monte
 Carlo simulations have failed, and you have small errors from MC
 simulations and large errors from other error analysis technique, and
 then pick the large errors, that implies that the Monte Carlo
 simulations have failed.  As for using residuals, this is a fall-back
 technique when experimental errors have not, or cannot, be measured.
 This uses another convergence assumption - if you have infinite data
 and the model has a bias value of exactly 0.0, then the residuals
 converge to the experimental errors.  For clustering, you might
 violate this bias == 0.0 condition (that is almost guaranteed).  You
 should also plot your residuals.  If the average residual value is not
 0.0, then you have model bias.  Of if you see a trend in the residual
 plot.

 For using the residuals, how do these values compare to the error
 values?  If the residuals are bigger than the experimental error, then
 this also indicates that abs(bias)  0.0.  A scatter plot of R2eff
 residuals vs. errors might be quite useful.  This should be a linear
 plot with a gradient of 1, anything else indicates bias.  There might
 even be a way of calculating the bias value from the residuals and
 errors, though I've forgotten how this is done.  Anyway, if you have a
 large bias due to the residuals being bigger than the R2eff error,
 using the residuals for error analysis is not correct.  It will
 introduce larger errors, that is guaranteed.  So you will have the
 result that kex has larger errors.  But it is useful to understand the
 theoretical reason why.  A large component of that kex error is the
 modelling bias.  So if sum_i(residual_i / error_i)  1.0, then you
 likely have under-fitting.  This could be caused by clustering or the
 2-site model being insufficient.  In any case, using the residuals for
 an error analysis to work around kex errors being too small only
 indicates a problem with the data modelling.

 What about testing the covariance matrix technique?  I guess that due
 to small amounts of data that single-item-out cross validation is not
 an option.

 Regards,

 Edward



 On 16 January 2015 at 18:25, Troels Emtekær Linnet
 tlin...@nmr-relax.com wrote:
 Hi Edward.

 I do not claim that Monte Carlo simulations is not the gold standard.

 I am merely trying to investigate the method by which one draw the errors.

 In the current case for dispersion, one trust the R2eff errors to be the
 distribution.
 These are individual per spin.

 Another distribution could be from how well the clustered fit performed.
 And this is what I am looking into.

 Best
 Troels

 2015-01-16 18:09 GMT+01:00 Edward d'Auvergne edw...@nmr-relax.com:

 Hi,

 Do the R2eff errors look reasonable?  Another issue is in clustered
 analysis, certain parameters can be over-constrained by being shared
 between multiple data sets.  This is the biased introduced by an
 under-fitted problem.  This can artificially decrease the errors.
 Anyway, you should plot the Monte Carlo simulations, a bit like I did
 in figure 4 of my paper:

d'Auvergne, E. J. and Gooley, P. R. (2006). Model-free model
 elimination: A new step in the model-free dynamic analysis of NMR
 relaxation data. J. Biomol. NMR, 35(2), 117-135.
 (http://dx.doi.org/10.1007

Fatal GUI Segmentation Fault bugs in wxPython 2.8.

2015-01-19 Thread Edward d'Auvergne
Hi,

Because of bug #23189 (https://gna.org/bugs/?23189), I'm considering
depreciating wxPython 2.8 in relax.  As it will still be present on
many systems, I am thinking of implementing this as follows:

- The dep_check module gives a warning when the program is started
that the wxPython 2.8 version is buggy and can result in segfaults.

- Disable the GUI tests.  The new
General.test_bug_23187_residue_delete_gui GUI test causes the GUI
tests to regularly segfault on wxPython 2.8.  The problem is in the
tree GUI element of the spin viewer window.  The bug was solved in
wxPython 2.9.

- Updating the dependencies in the relax manual
(http://www.nmr-relax.com/manual/Dependencies.html) and the website
(http://www.nmr-relax.com/download.html#Dependencies, though this is
already done) for wxPython 2.9.

Any suggestions are welcome.

Regards,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: [task #7882] Implement Monte-Carlo simulation, where errors are generated with width of standard deviation or residuals

2015-01-19 Thread Edward d'Auvergne
Hi Troels,

 I have used this regression book.
 http://www.graphpad.com/faq/file/Prism4RegressionBook.pdf

 I like the language (fun and humoristic), and goes over a great detail.
 For example, there is quite a list of weighting methods.
 I find the comments on page 28 a little disturbing.
 (See also page 86+87)

We already weight by the individual data point error.  As we are using
non-linear least squared fitting of the chi2 value, the weights
described on pages 86 and 87 are not relevant.  For dispersion data
they are also not relevant as the NMR spectrum is so complicated that
any of these weights will not reliably replicate the field dependent
effects, the peak height effects, etc.


 The Monte-Carlo simulation is described at page 104.

 1) Create an ideal data set.
 - Check. This is done with relax
 monte_carlo.create_data(method='back_calc')

This is correct.


 2) Add random scatter.
 relax now add random scatter, per individual datapoint. The random scatter
 is drawn from the measured error of the datapoint.

Point 2) is correct, it is how you perform Monte Carlo simulations for
non-linear regression.  The reason is two fold - because in regression
you don't know the error sigma_i, and because the residuals can be
used as an estimator of sigma_i.  But there is a much better error
estimator.  That is to use residuals in bootstrapping to estimate the
data errors (as mentioned on page 108).  This would be far superior!

However we are using non-linear least squares optimisation, not
regression.  Therefore we do not need an estimator of the errors, as
we already know the errors.  The residuals or error bootstrapping
techniques are only there to estimate the measured error, which we
already have.  If the residues or error bootstrapping have been
successful, these should converge to the measured errors.  So this is
unlikely to be the source of your too low kex error.


 But the book suggest adding errors described by variance of the residuals.
 This is described at page 33.
 If you chose to weight the values and minimize the relative distance
 squared (or some other weighting function), goodness-of-fit is quantified
 with the weighted sum- of-squares.

 Sy.x = sqrt(SS/dof) = sqrt(chi2 / dof)
 The question is of course, if SS should be sum of squared errors for the
 weighted points, or the non-weighted R2eff points.

Note that the variance of the residuals is an error estimator.  All
estimators also have an error (this is the error of an error, or sigma
of sigma_i).  In the case of a single spin system, as there are not
many R2eff points, sigma of sigma_i will be big (you need 500+ points
before sigma of sigma_i is reasonably small).  Hence your error
estimates from such methods will be very noisy.

In any case, because the chi-squared value has been optimised, this is
not the same solution as the regression of the SSE.  The two minima
are not necessarily the same.  They converge under certain strong
conditions in the regression problem (Gaussian errors, no outliers,
and errors for all points for all field strengths are the same).
Because the two solutions are not the same you cannot use the SSE
value, which would have to be calculated from the base data and
back-calculated data, for the error estimate.  It can only be used
strictly under the convergence condition.

I don't know of any error estimate for the non-linear least squares
optimisation problem.  But one probably has been derived for the cases
when the errors are not known.  This would require a different
reference, as the GraphPad Prism 4 book only covers regression and not
least squares and hence cannot give the correct answer.  The Numerical
Optimisation book by Nocedal and Wright
(https://books.google.de/books?id=VbHYoSyelFcClpg=PP1dq=numerical%20optimisation%20nocedal%20wrightpg=PP1#v=onepageq=numerical%20optimisation%20nocedal%20wrightf=false)
also doesn't seem to cover this.  Do you know the Numerical Recipes
books (http://www.nr.com/)?  Maybe there is something in there.  Monte
Carlo simulations are described very clearly in section 15.6 of the
second edition.  There might be something in chapter 15, the
modelling of data detailing the correct error estimate for this
problem.

As a side note, for the non-linear least squares problem when errors
are unknown and Monte Carlo simulations are not an option, the
covariance matrix might be the best error estimate.

Regards,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

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-devel


Re: [task #7882] Implement Monte-Carlo simulation, where errors are generated with width of standard deviation or residuals

2015-01-16 Thread Edward d'Auvergne
Hi Troels,

You should be very careful with your interpretation here.  The
curvature of the chi-squared space does not correlate with the
parameter errors!  Well, it most cases it doesn't.  You will see this
if you map the space for different Monte Carlo simulations.  Some
extreme edge cases might help in understanding the problem.  Lets say
you have a kex value of 100 with a real error of 1000.  In this case,
you could still have a small, perfectly quadratic minimum.  But this
minimum will jump all over the place with the simulations.  Another
extreme example might be kex of 100 with a real error of 0.0001.
In this case, the chi-squared space could look similar to the
screenshot you attached to the task ( http://gna.org/task/?7882).
However Monte Carlo simulations may hardly perturb the chi-squared
space.  I have observed scenarios similar to these hypothetical cases
with the Lipari and Szabo model-free protein dynamics analysis.

There is one case where the chi-squared space and error space match,
and that is at the limit of the minimum when the chi-squared space
becomes quadratic.  This happens when you zoom right into the minimum.
The correlation matrix approach makes this assumption.  Monte Carlo
simulations do not.  In fact, Monte Carlo simulations are the gold
standard.  There is no technique which is better than Monte Carlo
simulations, if you use enough simulations.  You can only match it by
deriving exact symbolic error equations.

Therefore you really should investigate how your optimisation space is
perturbed by Monte Carlo simulations to understand the correlation -
or non-correlation - of the chi-squared curvature and the parameter
errors.  Try mapping the minimum for the simulations and see if the
distribution of minima matches the chi-squared curvature
(http://gna.org/task/download.php?file_id=23527).

Regards,

Edward


On 16 January 2015 at 17:14, Troels E. Linnet
no-reply.invalid-addr...@gna.org wrote:
 URL:
   http://gna.org/task/?7882

  Summary: Implement Monte-Carlo simulation, where errors are
 generated with width of standard deviation or residuals
  Project: relax
 Submitted by: tlinnet
 Submitted on: Fri 16 Jan 2015 04:14:30 PM UTC
  Should Start On: Fri 16 Jan 2015 12:00:00 AM UTC
Should be Finished on: Fri 16 Jan 2015 12:00:00 AM UTC
 Category: relax's source code
 Priority: 5 - Normal
   Status: In Progress
 Percent Complete: 0%
  Assigned to: tlinnet
  Open/Closed: Open
  Discussion Lock: Any
   Effort: 0.00

 ___

 Details:

 This is implemented due to strange results.

 A relaxation dispersion on data with 61 spins, and a monte carlo simulation
 with 500 steps, showed un-expected low errors.

 ---
 results.read(file=fname_results, dir=dir_results)

 # Number of MC
 mc_nr = 500

 monte_carlo.setup(number=mc_nr)
 monte_carlo.create_data()
 monte_carlo.initial_values()
 minimise.execute(min_algor='simplex', func_tol=1e-25, max_iter=int(1e7),
 constraints=True)
 monte_carlo.error_analysis()
 

 The kex was 2111 and with error 16.6.

 When performing a dx.map, some weird results was found:

 i_sortdw_sortpA_sortkex_sort  chi2_sort
 471   4.50.993752125.04664.31083
 470   4.50.993751750.04665.23872

 So, even a small change with chi2, should reflect a larger
 deviation with kex.

 It seems, that change of R2eff values according to their errors, is not
 enough.

 According to the regression book of Graphpad
 http://www.graphpad.com/faq/file/Prism4RegressionBook.pdf

 Page 33, and 104.
 Standard deviation of residuals is:

 Sxy = sqrt(SS/(N-p))

 where SS is sum of squares. N - p, is the number of degrees of freedom.
 In relax, SS is spin.chi2, and is weighted.

 The random scatter to each R2eff point should be drawn from a gaussian
 distribution with a mean of Zero and SD equal to Sxy.

 Additional, find the 2.5 and 97.5 percentile for each parameter.
 The range between these values is the confidence interval.




 ___

 File Attachments:


 ---
 Date: Fri 16 Jan 2015 04:14:30 PM UTC  Name: Screenshot-1.png  Size: 161kB
 By: tlinnet

 http://gna.org/task/download.php?file_id=23527

 ___

 Reply to this item at:

   http://gna.org/task/?7882

 ___
   Message sent via/by Gna!
   http://gna.org/


 ___
 relax (http://www.nmr-relax.com)

 This is the relax-devel mailing list
 relax-devel@gna.org

 To unsubscribe from this list, get a password
 reminder, or change your subscription options,
 visit the list information page at
 

Re: [task #7882] Implement Monte-Carlo simulation, where errors are generated with width of standard deviation or residuals

2015-01-16 Thread Edward d'Auvergne
Hi,

Do the R2eff errors look reasonable?  Another issue is in clustered
analysis, certain parameters can be over-constrained by being shared
between multiple data sets.  This is the biased introduced by an
under-fitted problem.  This can artificially decrease the errors.
Anyway, you should plot the Monte Carlo simulations, a bit like I did
in figure 4 of my paper:

   d'Auvergne, E. J. and Gooley, P. R. (2006). Model-free model
elimination: A new step in the model-free dynamic analysis of NMR
relaxation data. J. Biomol. NMR, 35(2), 117-135.
(http://dx.doi.org/10.1007/s10858-006-9007-z)

That might indicate if something is wrong - i.e. if optimisation of
certain simulations have failed.  However this problem only causes
errors to be bigger than they should be (unless all simulations have
failed).  I don't know how Monte Carlo simulations could fail
otherwise.  Monte Carlo simulations are the gold standard for error
analysis.  All other error analysis techniques are judged based on how
close the approach this gold standard.  Saying that the Monte Carlo
simulations technique failed is about equivalent to claiming the Earth
is flat!  I challenge you to test the statement on a statistics
professor at your Uni ;)  Anyway, if Monte Carlo failed, using
residuals will not save you as the failure point will be present in
both techniques.  What could have failed is the model or the input
data.  Under-fitting due to too much R2eff data variability in the
spins of the cluster would be my guess.  Do you see similarly small
errors in the non-clustered analysis of the same data?

Regards,

Edward






On 16 January 2015 at 17:48, Troels Emtekær Linnet
tlin...@nmr-relax.com wrote:
 Hi Edward.

 At the moment, I am fairly confident that I should investigate the
 distribution from which the errors are drawn.

 The method in relax draws from a Gauss distribution of the R2eff errors, but
 I should try to draw errors from the
 overall residual instead.

 It is two different methods.

 My PI, has earlier has before analysed the data with the aforementioned
 method, and got errors in the hundreds.
 Errors are 5-10% of the fitted global parameters.

 Having 0.5-1 percent error is way to small, and I see this for 4 of my
 datasets.

 So, something is fishy.

 Best
 Troels

 2015-01-16 17:30 GMT+01:00 Edward d'Auvergne edw...@nmr-relax.com:

 Hi Troels,

 You should be very careful with your interpretation here.  The
 curvature of the chi-squared space does not correlate with the
 parameter errors!  Well, it most cases it doesn't.  You will see this
 if you map the space for different Monte Carlo simulations.  Some
 extreme edge cases might help in understanding the problem.  Lets say
 you have a kex value of 100 with a real error of 1000.  In this case,
 you could still have a small, perfectly quadratic minimum.  But this
 minimum will jump all over the place with the simulations.  Another
 extreme example might be kex of 100 with a real error of 0.0001.
 In this case, the chi-squared space could look similar to the
 screenshot you attached to the task ( http://gna.org/task/?7882).
 However Monte Carlo simulations may hardly perturb the chi-squared
 space.  I have observed scenarios similar to these hypothetical cases
 with the Lipari and Szabo model-free protein dynamics analysis.

 There is one case where the chi-squared space and error space match,
 and that is at the limit of the minimum when the chi-squared space
 becomes quadratic.  This happens when you zoom right into the minimum.
 The correlation matrix approach makes this assumption.  Monte Carlo
 simulations do not.  In fact, Monte Carlo simulations are the gold
 standard.  There is no technique which is better than Monte Carlo
 simulations, if you use enough simulations.  You can only match it by
 deriving exact symbolic error equations.

 Therefore you really should investigate how your optimisation space is
 perturbed by Monte Carlo simulations to understand the correlation -
 or non-correlation - of the chi-squared curvature and the parameter
 errors.  Try mapping the minimum for the simulations and see if the
 distribution of minima matches the chi-squared curvature
 (http://gna.org/task/download.php?file_id=23527).

 Regards,

 Edward


 On 16 January 2015 at 17:14, Troels E. Linnet
 no-reply.invalid-addr...@gna.org wrote:
  URL:
http://gna.org/task/?7882
 
   Summary: Implement Monte-Carlo simulation, where errors
  are
  generated with width of standard deviation or residuals
   Project: relax
  Submitted by: tlinnet
  Submitted on: Fri 16 Jan 2015 04:14:30 PM UTC
   Should Start On: Fri 16 Jan 2015 12:00:00 AM UTC
 Should be Finished on: Fri 16 Jan 2015 12:00:00 AM UTC
  Category: relax's source code
  Priority: 5 - Normal
Status: In Progress
  Percent Complete: 0%
   Assigned to: tlinnet
   Open

  1   2   3   4   5   6   7   8   9   10   >