mail[Fwd: relax-users Digest, Vol 74, Issue 3]


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

Header


Content

Posted by Maddy Strickland on September 03, 2012 - 21:58:
Hello Nicolas,

Just to let you know as well, for the error analysis, if you have
duplicated spectra, you set them as duplicated, like you have done, but if
they are not, you need to get the RMSD noise value from Sparky (using
command 'rm'), and then put the value into the script as well, see below. 
  However, I think your problem is coming with the load of the peak lists
or the pdb structure.  I've done a couple of things differently, I've used
a sequence file to load the spins (which keeps things really simple - it
means that you can change it to match the residues you're actually looking
at where a pdb file might be missing some) and used 'i' to load spectra,
rather than writing them all out (less likely to make a mistake that way).
 Feel free to ask me if you'd like to see my input files, but bear in mind
I use CCPN Analysis to peak pick, so they will look slightly different
(but still work).  My python script is straight from the sample scripts
with minimal changes.

Input files:
Peak lists -

      Assignment         w1         w2       Intensity

       W42N-HN    131.717      9.666   2.24E+07
       I79N-HN    125.940      7.871   4.57E+07

Sequence file for spins -

Res_num Res_name        Spin_name
1       Trp     N
2       Trp    N

The text files might give you a better idea of the formatting (spaces vs
tabs) so let me know if you would like to look at them.

It's worth getting it to run on Relax, because then doing model-free
calculations is fairly straightforwards (as long as you have data at more
than one field!).

Bonne chance!

Madeleine Strickland


# Script for relaxation curve fitting.
######################################


# Create the 'rx' data pipe.
pipe.create('rx', 'relax_fit')

# Load sequence and spins
sequence.read('sequence.out', spin_name_col=2)

# Spectrum names.
names = [
    'T1_0111',
    'T1b_0111',
    'T1_0333',
    'T1b_0333',
    'T1_0555',
    'T1b_0555',
    'T1_111',
    'T1b_111',
    'T1_1998',
    'T1b_1998',
    'T1_333',
    'T1b_333',
    'T1_4995',
    'T1b_4995',
    'T1_666',
    'T1b_666',
    'T1b_8325',
    'T1_888',
    'T1b_999'
]

# Relaxation times (in seconds).
times = [
    0.0111,
    0.0111,
    0.0333,
    0.0333,
    0.0555,
    0.0555,
    0.111,
    0.111,
    0.1998,
    0.1998,
    0.333,
    0.333,
    0.4995,
    0.4995,
    0.666,
    0.666,
    0.8325,
    0.888,
    0.999
]

# Loop over the spectra.
for i in xrange(len(names)):
    # Load the peak intensities.
    spectrum.read_intensities(file=names[i]+'.list', spectrum_id=names[i],
int_method='height')

    # Set the relaxation times.
    relax_fit.relax_time(time=times[i], spectrum_id=names[i])

# Specify the duplicated spectra.
spectrum.replicated(spectrum_ids=['T1_0111', 'T1b_0111'])
spectrum.replicated(spectrum_ids=['T1_0333', 'T1b_0333'])
spectrum.replicated(spectrum_ids=['T1_0555', 'T1b_0555'])
spectrum.replicated(spectrum_ids=['T1_111', 'T1b_111'])
spectrum.replicated(spectrum_ids=['T1_1998', 'T1b_1998'])
spectrum.replicated(spectrum_ids=['T1_333', 'T1b_333'])
spectrum.replicated(spectrum_ids=['T1_4995', 'T1b_4995'])
spectrum.replicated(spectrum_ids=['T1_666', 'T1b_666'])

# Set the baseplane error
spectrum.baseplane_rmsd(error=383910, spectrum_id='T1b_8325')
spectrum.baseplane_rmsd(error=164550, spectrum_id='T1_888')
spectrum.baseplane_rmsd(error=314800, spectrum_id='T1b_999')

# Peak intensity error analysis.
spectrum.error_analysis()

# Deselect unresolved spins.
deselect.read(file='unresolved')

# Set the relaxation curve type.
relax_fit.select_model('exp')

# Grid search.
grid_search(inc=11)

# Minimise.
minimise('simplex', scaling=False, constraints=False)

# Monte Carlo simulations.
monte_carlo.setup(number=500)
monte_carlo.create_data()
monte_carlo.initial_values()
minimise('simplex', scaling=False, constraints=False)
monte_carlo.error_analysis()

# Save the relaxation rates.
value.write(param='rx', file='rx.out', force=True)

# Save the results.
results.write(file='results', force=True)

# Create Grace plots of the data.
grace.write(y_data_type='rx', file='rx.agr', force=True)    # Relaxation
rate.

# Display the Grace plots.
grace.view(file='rx.agr')

# Save the program state.
state.save('rx.save', force=True)

---------------------------- Original Message ----------------------------
Subject: relax-users Digest, Vol 74, Issue 3
From:    relax-users-request@xxxxxxx
Date:    Mon, September 3, 2012 8:32 pm
To:      relax-users@xxxxxxx
--------------------------------------------------------------------------

Send relax-users mailing list submissions to
        relax-users@xxxxxxx

To subscribe or unsubscribe via the World Wide Web, visit
        https://mail.gna.org/listinfo/relax-users
or, via email, send a message with subject or body 'help' to
        relax-users-request@xxxxxxx

You can reach the person managing the list at
        relax-users-owner@xxxxxxx

When replying, please edit your Subject line so it is more specific
than "Re: Contents of relax-users digest..."


Today's Topics:

   1. Re: R1, R2 and/or NOE Analysis with relax (Edward d'Auvergne)
   2. Re: R1, R2 and/or NOE Analysis with relax (Edward d'Auvergne)


----------------------------------------------------------------------

Message: 1
Date: Mon, 3 Sep 2012 21:17:08 +0200
From: "Edward d'Auvergne" <edward@xxxxxxxxxxxxx>
To: Nicolas Doucet <nicolas.doucet@xxxxxxxxxxx>
Cc: relax-users@xxxxxxx
Subject: Re: R1, R2 and/or NOE Analysis with relax
Message-ID:
        <CAED9pY_qWDp_t_Stbk=DNK+W6Brb+3b7tXQqLmNR23jPhH9FTQ@xxxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8

Hi Nick,

Have a look in the directory 'test_suite/shared_data/peak_lists'.
There you'll find a number of examples.  I would recommend the NOE
analysis files 'ref_ave.list' and 'sat_ave.list', as well as the
'*.list' files in the 'bug_19887' subdirectory.  These are all Sparky
peak lists which conform to the PDB nomenclature.  The format is
essentially as follows:

- First 3 letters are the standard PDB amino-acid residue codes
(capitalised).
- The next x numbers are the residue numbers.  This and the above are
the Sparky 'Group'.
- The next characters are the standard PDB atom names for w1 (capitalised).
- Then there is a dash (-).
- The last characters are the standard PDB atom names for w2 (capitalised).

Unfortunately Sparky does not enforce an assignment naming system,
which then makes it very difficult to properly read Sparky peak lists.
 The Sparky 'Group' concept is a bit of a nasty kludge!  You should
not remove any header lines or empty lines from the peak list files as
these are essential for relax to determine the file format.  That is
why you are seeing "Generic formatted data file" from the
spectrum.read_intensities user function - this is because the headers
were removed.  If you have the format above, then it should not be a
problem reading in the Sparky lists.  I hope this helps.

Regards

Edward


P. S.  Here is one of the example files for reference:

$ cat test_suite/shared_data/peak_lists/bug_19887/T1_304.040.list
Assignment      w1      w2      Data Height

GLU24N-HN       123.067 7.811   1095970
LYS28N-HN       116.691 7.960   1466770
GLN29N-HN       119.487 7.990   1411100
$



On 3 September 2012 19:36, Nicolas Doucet <nicolas.doucet@xxxxxxxxxxx> wrote:
Edward,

Thanks for your response. We're progressing slowly and, as you can see from
our last email, we stumbled upon pretty obvious answers...

That being said, we still run into many error messages. Mainly, we're
struggling with the 'spectrum.read_intensities' section and I believe it's
merely a question of file format, column identification and/or character
recognition.

Anyway, so far we've tried many edits to our lists:

1) We separated residue names into different columns. Example: ARG1N-HN
became ARG 1 N-HN because residue names weren't recognized.
2) We got rid of column titles, which yielded an error.
3) We also got rid of the 'none' qualifier in the lists and replaced
them by
zeros. However, as per your last email, we might just get rid of those
residues altogether.
4) We added columns for the molecule name and the spin id, but those didn't
change anything.

As you will see from the commented lines in our script below, we also tried
working on the spectrum.read_intensities section but we can't figure out
what's wrong. We tried a bunch of combinations and keep getting errors.

We also got an error from the "set relaxation time" section. The following
yielded a "spectrum_id already exists" message:

    # Set the relaxation times.
    relax_fit.relax_time(time=0.0100, spectrum_id='1')
    relax_fit.relax_time(time=0.1000, spectrum_id='2')
    relax_fit.relax_time(time=0.1000, spectrum_id='3')
    relax_fit.relax_time(time=0.7000, spectrum_id='4')
    relax_fit.relax_time(time=1.1000, spectrum_id='5')
    relax_fit.relax_time(time=1.4000, spectrum_id='6')

Replacing the spectrum_id number yielded an error message saying it can't
find spectrum_ids... Well, duh!

Anyway, as you can see, those are details beginners don't know how to
handle
in relax. It would be SOOO much easier if we could just compare our own
files with a known "default example" run for R1, R2, NOE and subsequently
ModelFree. For us, it would then just be a matter of comparing our file
edits with known file formats for scripts, lists and pdbs of a "standard"
run.

The manual is very thorough, but sometimes a bit overwhelming. Learning by
comparing our files with those of a real example that we can run flawlessly
is often much easier.

Nick


"""Script for relaxation curve fitting."""

# Create the 'rx' data pipe.
pipe.create('rx', 'relax_fit')

# Load the backbone amide 15N spins from a PDB file.
structure.read_pdb('1QMT.pdb')
structure.load_spins('#1QMT_mol1@N')

# Spectrum names.
names = [
    'T1_0.01s_800',
    'T1_0.10s_800',
    'T1_0.10s-dup_800'
    'T1_0.70s_800',
    'T1_1.10s_800',
    'T1_1.40s_800'
]

# Relaxation times (in seconds).
times = [
    0.0100,
    0.1000,
    0.1000,
    0.7000,
    1.1000,
    1.4000
]

# Loop over the spectra.
for i in xrange(len(names)):
    # Load the peak intensities.
#    spectrum.read_intensities(file='T1_0.01s_800.list', dir=None,
spectrum_id='1', int_col=6)
#    spectrum.read_intensities(file='T1_0.10s_800.list', dir=None,
spectrum_id='2', int_col=6)
#    spectrum.read_intensities(file='T1_0.10s-dup_800.list', dir=None,
spectrum_id='3', int_col=6)
#    spectrum.read_intensities(file='T1_0.70s_800.list', dir=None,
spectrum_id='4', int_col=6)
#    spectrum.read_intensities(file='T1_1.10s_800.list', dir=None,
spectrum_id='5', int_col=6)
#    spectrum.read_intensities(file='T1_1.40s_800.list', dir=None,
spectrum_id='6', int_col=6)
#    spectrum.read_intensities(file='T1_0.01s_800.list', spectrum_id='1',
int_method='height')
#    spectrum.read_intensities(file='T1_0.10s_800.list', spectrum_id='2',
int_method='height')
#    spectrum.read_intensities(file='T1_0.10s-dup_800.list',
spectrum_id='3', int_method='height')
#    spectrum.read_intensities(file='T1_0.70s_800.list', spectrum_id='4',
int_method='height')
#    spectrum.read_intensities(file='T1_1.10s_800.list', spectrum_id='5',
int_method='height')
#    spectrum.read_intensities(file='T1_1.40s_800.list', spectrum_id='6',
int_method='height')
#    spectrum.read_intensities(file='T1_0.01s_800', spectrum_id='1',
relax_time=0.0100, int_col=6)
#    spectrum.read_intensities(file='T1_0.10s_800', spectrum_id='2',
relax_time=0.1000, int_col=6)
#    spectrum.read_intensities(file='T1_0.10s-dup_800', spectrum_id='3',
relax_time=0.1000, int_col=6)
#    spectrum.read_intensities(file='T1_0.70s_800', spectrum_id='4',
relax_time=0.7000, int_col=6)
#    spectrum.read_intensities(file='T1_1.10s_800', spectrum_id='5',
relax_time=1.1000, int_col=6)
#    spectrum.read_intensities(file='T1_1.40s_800', spectrum_id='6',
relax_time=1.4000, int_col=6)
    spectrum.read_intensities(file='T1_0.01s_800.list', dir=None,
spectrum_id='1', heteronuc='N', proton='HN', int_method='height',
int_col=6,
spin_id_col=None, mol_name_col=None, res_num_col=2, res_name_col=1,
spin_num_col=None, spin_name_col=None, sep=None, spin_id=None, ncproc=None)
    spectrum.read_intensities(file='T1_0.10s_800.list', dir=None,
spectrum_id='2', heteronuc='N', proton='HN', int_method='height',
int_col=6,
spin_id_col=None, mol_name_col=None, res_num_col=2, res_name_col=1,
spin_num_col=None, spin_name_col=None, sep=None, spin_id=None, ncproc=None)
    spectrum.read_intensities(file='T1_0.10s-dup_800.list', dir=None,
spectrum_id='3', heteronuc='N', proton='HN', int_method='height',
int_col=6,
spin_id_col=None, mol_name_col=None, res_num_col=2, res_name_col=1,
spin_num_col=None, spin_name_col=None, sep=None, spin_id=None, ncproc=None)
    spectrum.read_intensities(file='T1_0.70s_800.list', dir=None,
spectrum_id='4', heteronuc='N', proton='HN', int_method='height',
int_col=6,
spin_id_col=None, mol_name_col=None, res_num_col=2, res_name_col=1,
spin_num_col=None, spin_name_col=None, sep=None, spin_id=None, ncproc=None)
    spectrum.read_intensities(file='T1_1.10s_800.list', dir=None,
spectrum_id='5', heteronuc='N', proton='HN', int_method='height',
int_col=6,
spin_id_col=None, mol_name_col=None, res_num_col=2, res_name_col=1,
spin_num_col=None, spin_name_col=None, sep=None, spin_id=None, ncproc=None)
    spectrum.read_intensities(file='T1_1.40s_800.list', dir=None,
spectrum_id='6', heteronuc='N', proton='HN', int_method='height',
int_col=6,
spin_id_col=None, mol_name_col=None, res_num_col=2, res_name_col=1,
spin_num_col=None, spin_name_col=None, sep=None, spin_id=None, ncproc=None)

    # Set the relaxation times.
    relax_fit.relax_time(time=0.0100, spectrum_id='11')
    relax_fit.relax_time(time=0.1000, spectrum_id='12')
    relax_fit.relax_time(time=0.1000, spectrum_id='13')
    relax_fit.relax_time(time=0.7000, spectrum_id='14')
    relax_fit.relax_time(time=1.1000, spectrum_id='15')
    relax_fit.relax_time(time=1.4000, spectrum_id='16')

# Specify the duplicated spectra.
spectrum.replicated(spectrum_ids=['T1_0.10s_800.list',
'T1_0.10s-dup_800.list'])

# Peak intensity error analysis.
spectrum.error_analysis(700)

# Deselect unresolved spins.
deselect.read(file='unresolved', mol_name_col=1, res_num_col=2,
res_name_col=3, spin_num_col=4, spin_name_col=5)

# Set the relaxation curve type.
relax_fit.select_model('exp')

# Grid search.
grid_search(inc=11)

# Minimise.
minimise('simplex', scaling=False, constraints=False)

# Monte Carlo simulations.
monte_carlo.setup(number=500)
monte_carlo.create_data()
monte_carlo.initial_values()
minimise('simplex', scaling=False, constraints=False)
monte_carlo.error_analysis()

# Save the relaxation rates.
value.write(param='rx', file='rx.out', force=True)

# Save the results.
results.write(file='results', force=True)

# Create Grace plots of the data.
grace.write(y_data_type='chi2', file='chi2.agr', force=True)    # Minimised
chi-squared value.
grace.write(y_data_type='i0', file='i0.agr', force=True)    # Initial peak
intensity.
grace.write(y_data_type='rx', file='rx.agr', force=True)    # Relaxation
rate.
grace.write(x_data_type='relax_times', y_data_type='intensities',
file='intensities.agr', force=True)    # Average peak intensities.
grace.write(x_data_type='relax_times', y_data_type='intensities',
norm=True,
file='intensities_norm.agr', force=True)    # Average peak intensities
(normalised).

# Display the Grace plots.
grace.view(file='chi2.agr')
grace.view(file='i0.agr')
grace.view(file='rx.agr')
grace.view(file='intensities.agr')
grace.view(file='intensities_norm.agr')

# Save the program state.
state.save('rx.save', force=True)
----------------------------------------------------------------------------------------------------

relax> pipe.create(pipe_name='rx', pipe_type='relax_fit', bundle=None)

relax> structure.read_pdb(file='1QMT.pdb', dir=None, read_mol=None,
set_mol_name=None, read_model=None, set_model_num=None, parser='internal')

Internal relax PDB parser.
Opening the file '1QMT.pdb' for reading.
Adding molecule '1QMT_mol1' to model None (from the original molecule
number
1 of model None)

relax> structure.load_spins(spin_id='#1QMT_mol1@N', ave_pos=True)
Adding the following spins to the relax data store.

# mol_name    res_num    res_name    spin_num    spin_name
1QMT_mol1     0          MET         1           N
1QMT_mol1     1          ARG         9           N
1QMT_mol1     2          PRO         20          N
1QMT_mol1     3          PRO         27          N
1QMT_mol1     4          GLN         34          N
1QMT_mol1     5          PHE         43          N
1QMT_mol1     6          THR         54          N
1QMT_mol1     7          ARG         61          N
1QMT_mol1     8          ALA         72          N
1QMT_mol1     9          GLN         77          N
1QMT_mol1     10         TRP         86          N
1QMT_mol1     11         PHE         100         N
1QMT_mol1     12         ALA         111         N
1QMT_mol1     13         ILE         116         N
1QMT_mol1     14         GLN         124         N
1QMT_mol1     15         HIS         133         N
1QMT_mol1     16         ILE         143         N
1QMT_mol1     17         SER         151         N
1QMT_mol1     18         LEU         157         N
1QMT_mol1     19         ASN         165         N
1QMT_mol1     20         PRO         173         N
1QMT_mol1     21         PRO         180         N
1QMT_mol1     22         ARG         187         N
1QMT_mol1     23         CYS         198         N
1QMT_mol1     24         THR         204         N
1QMT_mol1     25         ILE         211         N
1QMT_mol1     26         ALA         219         N
1QMT_mol1     27         MET         224         N
1QMT_mol1     28         ARG         232         N
1QMT_mol1     29         ALA         243         N
1QMT_mol1     30         ILE         248         N
1QMT_mol1     31         ASN         256         N
1QMT_mol1     32         ASN         264         N
1QMT_mol1     33         TYR         272         N
1QMT_mol1     34         ARG         284         N
1QMT_mol1     35         TRP         295         N
1QMT_mol1     36         ARG         309         N
1QMT_mol1     37         CYS         320         N
1QMT_mol1     38         LYS         326         N
1QMT_mol1     39         ASN         335         N
1QMT_mol1     40         GLN         343         N
1QMT_mol1     41         ASN         352         N
1QMT_mol1     42         THR         360         N
1QMT_mol1     43         PHE         367         N
1QMT_mol1     44         LEU         378         N
1QMT_mol1     45         ARG         386         N
1QMT_mol1     46         THR         397         N
1QMT_mol1     47         THR         404         N
1QMT_mol1     48         PHE         411         N
1QMT_mol1     49         ALA         422         N
1QMT_mol1     50         ASN         427         N
1QMT_mol1     51         VAL         435         N
1QMT_mol1     52         VAL         442         N
1QMT_mol1     53         ASN         449         N
1QMT_mol1     54         VAL         457         N
1QMT_mol1     55         CYS         464         N
1QMT_mol1     56         GLY         470         N
1QMT_mol1     57         ASN         474         N
1QMT_mol1     58         GLN         482         N
1QMT_mol1     59         SER         491         N
1QMT_mol1     60         ILE         497         N
1QMT_mol1     61         ARG         505         N
1QMT_mol1     62         CYS         516         N
1QMT_mol1     63         PRO         522         N
1QMT_mol1     64         HIS         529         N
1QMT_mol1     65         ASN         539         N
1QMT_mol1     66         ARG         547         N
1QMT_mol1     67         THR         558         N
1QMT_mol1     68         LEU         565         N
1QMT_mol1     69         ASN         573         N
1QMT_mol1     70         ASN         581         N
1QMT_mol1     71         CYS         589         N
1QMT_mol1     72         HIS         595         N
1QMT_mol1     73         ARG         605         N
1QMT_mol1     74         SER         616         N
1QMT_mol1     75         ARG         622         N
1QMT_mol1     76         PHE         633         N
1QMT_mol1     77         ARG         644         N
1QMT_mol1     78         VAL         655         N
1QMT_mol1     79         PRO         662         N
1QMT_mol1     80         LEU         669         N
1QMT_mol1     81         LEU         677         N
1QMT_mol1     82         HIS         685         N
1QMT_mol1     83         CYS         695         N
1QMT_mol1     84         ASP         701         N
1QMT_mol1     85         LEU         709         N
1QMT_mol1     86         ILE         717         N
1QMT_mol1     87         ASN         725         N
1QMT_mol1     88         PRO         733         N
1QMT_mol1     89         GLY         740         N
1QMT_mol1     90         ALA         744         N
1QMT_mol1     91         GLN         749         N
1QMT_mol1     92         ASN         758         N
1QMT_mol1     93         ILE         766         N
1QMT_mol1     94         SER         774         N
1QMT_mol1     95         ASN         780         N
1QMT_mol1     96         CYS         788         N
1QMT_mol1     97         ARG         794         N
1QMT_mol1     98         TYR         805         N
1QMT_mol1     99         ALA         817         N
1QMT_mol1     100        ASP         822         N
1QMT_mol1     101        ARG         830         N
1QMT_mol1     102        PRO         841         N
1QMT_mol1     103        GLY         848         N
1QMT_mol1     104        ARG         852         N
1QMT_mol1     105        ARG         863         N
1QMT_mol1     106        PHE         874         N
1QMT_mol1     107        TYR         885         N
1QMT_mol1     108        VAL         897         N
1QMT_mol1     109        VAL         904         N
1QMT_mol1     110        ALA         911         N
1QMT_mol1     111        CYS         916         N
1QMT_mol1     112        ASP         922         N
1QMT_mol1     113        ASN         930         N
1QMT_mol1     114        ARG         938         N
1QMT_mol1     115        ASP         949         N
1QMT_mol1     116        PRO         957         N
1QMT_mol1     117        ARG         964         N
1QMT_mol1     118        ASP         975         N
1QMT_mol1     119        SER         983         N
1QMT_mol1     120        PRO         989         N
1QMT_mol1     121        ARG         996         N
1QMT_mol1     122        TYR         1007        N
1QMT_mol1     123        PRO         1019        N
1QMT_mol1     124        VAL         1026        N
1QMT_mol1     125        VAL         1033        N
1QMT_mol1     126        PRO         1040        N
1QMT_mol1     127        VAL         1047        N
1QMT_mol1     128        HIS         1054        N
1QMT_mol1     129        LEU         1064        N
1QMT_mol1     130        ASP         1072        N
1QMT_mol1     131        THR         1080        N
1QMT_mol1     132        THR         1087        N
1QMT_mol1     133        ILE         1094        N

relax> spectrum.read_intensities(file='T1_0.01s_800.list', dir=None,
spectrum_id='1', heteronuc='N', proton='HN', int_method='height',
int_col=6,
spin_id_col=None, mol_name_col=None, res_num_col=2, res_name_col=1,
spin_num_col=None, spin_name_col=None, sep=None, spin_id=None, ncproc=None)
Opening the file 'T1_0.01s_800.list' for reading.
Generic formatted data file.


relax> spectrum.read_intensities(file='T1_0.10s_800.list', dir=None,
spectrum_id='2', heteronuc='N', proton='HN', int_method='height',
int_col=6,
spin_id_col=None, mol_name_col=None, res_num_col=2, res_name_col=1,
spin_num_col=None, spin_name_col=None, sep=None, spin_id=None, ncproc=None)
Opening the file 'T1_0.10s_800.list' for reading.
Generic formatted data file.


relax> spectrum.read_intensities(file='T1_0.10s-dup_800.list', dir=None,
spectrum_id='3', heteronuc='N', proton='HN', int_method='height',
int_col=6,
spin_id_col=None, mol_name_col=None, res_num_col=2, res_name_col=1,
spin_num_col=None, spin_name_col=None, sep=None, spin_id=None, ncproc=None)
Opening the file 'T1_0.10s-dup_800.list' for reading.
Generic formatted data file.


relax> spectrum.read_intensities(file='T1_0.70s_800.list', dir=None,
spectrum_id='4', heteronuc='N', proton='HN', int_method='height',
int_col=6,
spin_id_col=None, mol_name_col=None, res_num_col=2, res_name_col=1,
spin_num_col=None, spin_name_col=None, sep=None, spin_id=None, ncproc=None)
Opening the file 'T1_0.70s_800.list' for reading.
Generic formatted data file.


relax> spectrum.read_intensities(file='T1_1.10s_800.list', dir=None,
spectrum_id='5', heteronuc='N', proton='HN', int_method='height',
int_col=6,
spin_id_col=None, mol_name_col=None, res_num_col=2, res_name_col=1,
spin_num_col=None, spin_name_col=None, sep=None, spin_id=None, ncproc=None)
Opening the file 'T1_1.10s_800.list' for reading.
Generic formatted data file.


relax> spectrum.read_intensities(file='T1_1.40s_800.list', dir=None,
spectrum_id='6', heteronuc='N', proton='HN', int_method='height',
int_col=6,
spin_id_col=None, mol_name_col=None, res_num_col=2, res_name_col=1,
spin_num_col=None, spin_name_col=None, sep=None, spin_id=None, ncproc=None)
Opening the file 'T1_1.40s_800.list' for reading.
Generic formatted data file.


relax> relax_fit.relax_time(time=0.01, spectrum_id='11')
RelaxError: The peak heights corresponding to spectrum id '11' have not
been
loaded.

--
Nicolas Doucet
Assistant Professor
INRS - Institut Armand-Frappier
University of Quebec
Institut Pasteur International Network
531 Boulevard des Prairies
Laval (Quebec) H7V 1B7 CANADA
Phone: (450) 687-5010 #4212
Fax: (450) 686-5501
Email: nicolas.doucet@xxxxxxxxxxx
Web: http://www.profs.inrs.ca/ndoucet/
--



On 2012-08-31, at 12:40 PM, Edward d'Auvergne <edward@xxxxxxxxxxxxx> wrote:

Hi Nick,

I'll answer your questions below:


1) Default lists created by Sparky look like this:

Assignment         w1         w2   Data Height

           R1N-H    126.139      8.573       108076
           Q4N-H    118.070      8.861        50515
           F5N-H    119.682      7.577       111977
           T6N-H    113.163      8.827        95306
           R7N-H    120.731      8.903       108430
           A8N-H    126.058     10.299        92981
           Q9N-H    118.747      8.300       127858
          W10N-H    122.375      9.005       102254
          F11N-H    121.361      8.698       114173
          A12N-H    122.049      8.175        59426
          I13N-H    118.046      7.753       129168
          Q14N-H    111.972      7.184        73155
          H15N-H    106.081      7.773       119082
          I16N-H    122.326      8.294       156604
          S17N-H    120.624      7.734       133194
          L18N-H    128.309      8.660       163834
          N19N-H    115.816      8.450       241597


It depends on how you assigned the peaks.  If you use the full
3-letter code, then it'll look like your example below.  When I use
Sparky, in the 'at' window I use text such as 'TRP100' for the group.
You can pretty much use what you like, but it's difficult for relax to
then match everything up.  It would be good to have proper residue
identification and then conversion of the different residue name
formats, but this is quite complex if you take modified residues, DNA,
RNA, sugars, and organic molecules into account - something which
cannot be ignored.


According to the relax manual, we need to convert lists to the following
format:

Assignment   w1       w2       Data Height

ARG1N-HN   126.139           8.573   108076
GLN4N-HN   118.07            8.861    50515
PHE5N-HN    119.682           7.577   111977
THR6N-HN   113.163           8.827   95306
ARG7N-HN   120.731           8.903   108430
ALA8N-HN   126.058           10.299 92981
GLN9N-HN   118.747           8.3       127858
TRP10N-HN  122.375           9.005   102254
PHE11N-HN  121.361           8.698   114173
ALA12N-HN 122.049           8.175   59426
ILE13N-HN   118.046           7.753   129168
GLN14N-HN 111.972           7.184   73155
HIS15N-HN   106.081           7.773   119082
ILE16N-HN    122.326           8.294   156604
SER17N-HN   120.624           7.734   133194
LEU18N-HN  128.309           8.66     163834
ASN19N-HN  115.816           8.45     241597


To match the PDB file later on, this is important.  At some point a
conversion will need to be performed.  No one has had a need yet, but
anyone could contribute such conversion code.  It would require a set
of conversion tables added to 'generic_fns/mol_res_spin.py', and some
new user function arguments for all of the data loading functions to
active the conversion only when asked.  This is a perfect small
project for any power users out there ;)


First, do we need to add any unused/unassigned residues like this or is
this
irrelevant:

PRO2N-HN    None              None    None
PRO3N-HN    None              None    None

?


Those shouldn't appear in the 2D peak lists and are not needed.  There
are no proline backbone N spin systems with proton attached (I would
hope), so data for such spin systems need not be loaded.  relax will
handle all of such issues automatically.


2) Does anyone have a script to automatically convert Sparky lists to the
right format for relax? This is a tedious process to run manually.


I don't have one, but maybe someone else on this list does?  Such a
script, if written in Python, could be absorbed into
'generic_fns/mol_res_spin.py' and then be part of the core of relax
(as I described above).


3) After modifying the sample script to run a simple R1 analysis with our
own modified Sparky lists and PDB, the 'python relax_fit.py' command
yielded
the following error:

 File "relax_fit.py", line 26, in <module>
   pipe.create('rx', 'relax_fit')
NameError: name 'pipe' is not defined

Any idea what's going on? Are we using the command correctly?


From the 'Scripting' section of the introductory chapter of the relax
manual, it says:

What ever is done within the prompt is also accessible through
scripting (Figure 1.2). Just type your commands into a text ?le ending
in ?*.py? and then at the terminal type

$ relax your script.py

The user functions in the script are specific to relax and will not be
available from the Python interpreter.

I hope this helps.

Regards,

Edward



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

This is the relax-users mailing list
relax-users@xxxxxxx

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




------------------------------

Message: 2
Date: Mon, 3 Sep 2012 21:32:09 +0200
From: "Edward d'Auvergne" <edward@xxxxxxxxxxxxx>
To: Nicolas Doucet <nicolas.doucet@xxxxxxxxxxx>
Cc: relax-users@xxxxxxx
Subject: Re: R1, R2 and/or NOE Analysis with relax
Message-ID:
        <CAED9pY_q6+=BD8qBB5waFAq0n6ccKHBtB4zJ9LVZiqhr+31Fdg@xxxxxxxxxxxxxx>
Content-Type: text/plain; charset=ISO-8859-1

Hi,

A few more small things:

1) We separated residue names into different columns. Example: ARG1N-HN
became ARG 1 N-HN because residue names weren't recognized.

Although not very nice - I would not recommend going this way - this
format should work as the 'generic' format.  You would have to remove
all header lines so that relax doesn't mistake this for a Sparky peak
list.  You would then specify res_num_col=2 (the residue name is
redundant, so doesn't need to be specified).  For your Trp indole NH
data, you would need to load those spins:

relax> structure.load_spins(spin_id='@NE1', ave_pos=True)

and also remove the hyphen from between the two atom names.  Then also
specify the spin name column with spin_name_col=3 (the spin number is
not needed).


2) We got rid of column titles, which yielded an error.

This will confuse relax, it will think that it is the generic
formatted peak list with whitespace between all elements.


3) We also got rid of the 'none' qualifier in the lists and replaced
them by
zeros. However, as per your last email, we might just get rid of those
residues altogether.

Why is there 'none' in your Sparky peak lists?  Sparky, as far as I
know, does not create peak lists with 'none' elements.


4) We added columns for the molecule name and the spin id, but those didn't
change anything.

These are all alternatives.  To give the user the most flexibility
possible, relax does not enforce any format (just that it should match
the PDB, if you are using the PDB file for info).  There's no need for
the molecule name, unless you're working with some form of complex.
The spin ID is useful only in some scripting instances.  All of the
column arguments apply only for the generic formatted peak list and
will be ignored when a Sparky peak list is detected.

Regards,

Edward



------------------------------

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

This is the relax-users mailing list
relax-users@xxxxxxx

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

End of relax-users Digest, Vol 74, Issue 3
******************************************


Madeleine Strickland

MCJC Group
N317, School of Chemistry, Bristol University




Related Messages


Powered by MHonArc, Updated Tue Sep 04 18:00:06 2012