mailRe: pipe.create() user function


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

Header


Content

Posted by Sébastien Morin on May 31, 2011 - 14:10:
Dear Shantanu,

The error comes from the following command:

    value.set('15N', 'heteronucleus')

Indeed, when manually typing this command on the relax command line, the same error as you get from the script arises. However, after creation of a data pipe, this error is gone.

The reason why you get the error in all scripts is that the command is always performed before the pipe creation, i.e. the command is performed once for the entire script before looping around whatever loop a script might contain (where data pipes are created).

One possibility is that the behaviour of the function "value.set" has been changed such that a pipe must exist when it is used, but the sample scripts have not been updated...

A reason why this problem would not have been catched by the system tests suite is that in the test suite, for an unknown reason, this value is set after the creation of the data pipe, hence fixing the problem...

A rapid fix before we correct the problem in the relax source code is to place the command after the creation of the pipe, from:

====
# Nuclei type
value.set('15N', 'heteronucleus')

# Loop over the pipes.
for name in pipes:
    # Create the data pipe.
    pipe.create(name, 'mf')
====

to:

====
# Loop over the pipes.
for name in pipes:
    # Create the data pipe.
    pipe.create(name, 'mf')

    # Nuclei type
    value.set('15N', 'heteronucleus')
====

taking care to adjust the indentation...

I hope this helps...


Séb  :)


On 11-05-27 11:40 PM, Shantanu S. Bhattacharyya Mr wrote:
Hello,

I am getting the error
RelaxError: No data pipes currently exist.  Please use the pipe.create()
user function first
for most of the scripts I am trying to run.
Here is the output for my attempt to run dasha.py :

*********************************************************************

rulelab-desktop:/usr/local/relax-1.3.10/run_scripts>  sudo relax dasha.py



                                             relax 1.3.10

                               Molecular dynamics by NMR data analysis

                              Copyright (C) 2001-2006 Edward d'Auvergne
                          Copyright (C) 2006-2011 the relax development team

This is free software which you are welcome to modify and redistribute
under the conditions of the
GNU General Public License (GPL).  This program, including all modules, is
licensed under the GPL
and comes with absolutely no warranty.  For details type 'GPL' within the
relax prompt.

Assistance in using the relax prompt and scripting interface can be
accessed by typing 'help' within
the prompt.

ImportError: relaxation curve fitting is unavailable, the corresponding C
modules have not been compiled.

script = 'dasha.py'
----------------------------------------------------------------------------------------------------
# Script for model-free analysis using the program Dasha.

# Set the data pipe names (also the names of preset model-free models).
#pipes = ['m1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm7', 'm8', 'm9']
pipes = ['m1', 'm2', 'm3', 'm4', 'm5']

# Nuclei type
value.set('15N', 'heteronucleus')

# Loop over the pipes.
for name in pipes:
     # Create the data pipe.
     pipe.create(name, 'mf')

     # Load the sequence.
     sequence.read('noe.500.out', res_num_col=1)

     # Load a PDB file.
     #structure.read_pdb('example.pdb')

     # Load the relaxation data.
     relax_data.read('R1', '600', 600.0 * 1e6, 'r1.600.out', res_num_col=1,
data_col=3, error_col=4)
     relax_data.read('R2', '600', 600.0 * 1e6, 'r2.600.out', res_num_col=1,
data_col=3, error_col=4)
     relax_data.read('NOE', '600', 600.0 * 1e6, 'noe.600.out',
res_num_col=1, data_col=3, error_col=4)
     relax_data.read('R1', '500', 500.0 * 1e6, 'r1.500.out', res_num_col=1,
data_col=3, error_col=4)
     relax_data.read('R2', '500', 500.0 * 1e6, 'r2.500.out', res_num_col=1,
data_col=3, error_col=4)
     relax_data.read('NOE', '500', 500.0 * 1e6, 'noe.500.out',
res_num_col=1, data_col=3, error_col=4)

     # Setup other values.
     diffusion_tensor.init(10e-9, fixed=1)
     #diffusion_tensor.init((10e-9, 0, 0, 40, 30, 80), fixed=1)
     value.set(1.02 * 1e-10, 'bond_length')
     value.set(-172 * 1e-6, 'csa')

     # Select the model-free model.
     model_free.select_model(model=name)

     # Create the Dasha script.
     dasha.create(algor='NR', force=True)

     # Execute Dasha.
     dasha.execute()

     # Read the data.
     dasha.extract()

     # Write the results.
     results.write(file='results_dasha', force=True)
----------------------------------------------------------------------------------------------------

relax>  value.set(val='15N', param='heteronucleus', spin_id=None)
RelaxError: No data pipes currently exist.  Please use the pipe.create()
user function first.

rulelab-desktop:/usr/local/relax-1.3.10/run_scripts>

***********************************************************

Has anyone else faced this problem ?? I am using Ubuntu 10.10 OS.
The strange thing is that sometimes when I copy paste the script into a
new text file and rename it as something-else.py, it works !
With dasha.py, even this is not helping. I am sorry if it sounds weird but
I am really puzzled as well.

Thanks,
Shantanu S. Bhattacharyya


--
Sébastien Morin, Ph.D.
Postdoctoral Fellow, S. Grzesiek NMR Laboratory
Department of Structural Biology
Biozentrum, Universität Basel
Klingelbergstrasse 70
4056 Basel
Switzerland




Related Messages


Powered by MHonArc, Updated Tue May 31 15:00:16 2011