Hi,

Along the same lines of using a sequence file rather than PDB file for
setting up relax, I have made a few more modifications to the relax
user manual in this respect.  Have a look at the latest (r17441)
development version of the manual at
http://download.gna.org/relax/manual/.  The new chapter "The relax
data model" describes how to perform this in both the script/prompt
mode and in the GUI mode.  Hopefully this might help.

Regards,

Edward


On 3 September 2012 21:56, Maddy Strickland <[email protected]> wrote:
> 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:    [email protected]
> Date:    Mon, September 3, 2012 8:32 pm
> To:      [email protected]
> --------------------------------------------------------------------------
>
> Send relax-users mailing list submissions to
>         [email protected]
>
> 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
>         [email protected]
>
> You can reach the person managing the list at
>         [email protected]
>
> 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" <[email protected]>
> To: Nicolas Doucet <[email protected]>
> Cc: [email protected]
> Subject: Re: R1, R2 and/or NOE Analysis with relax
> Message-ID:
>         <CAED9pY_qWDp_t_Stbk=dnk+w6brb+3b7txqqlmnr23jphh9...@mail.gmail.com>
> 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 <[email protected]> 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: [email protected]
>> Web: http://www.profs.inrs.ca/ndoucet/
>> --
>>
>>
>>
>> On 2012-08-31, at 12:40 PM, Edward d'Auvergne <[email protected]> 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
>> [email protected]
>>
>> To unsubscribe from this list, get a password
>> reminder, or change your subscription options,
>> visit the list information page at
>> https://mail.gna.org/listinfo/relax-users
>>
>
>
>
> ------------------------------
>
> Message: 2
> Date: Mon, 3 Sep 2012 21:32:09 +0200
> From: "Edward d'Auvergne" <[email protected]>
> To: Nicolas Doucet <[email protected]>
> Cc: [email protected]
> Subject: Re: R1, R2 and/or NOE Analysis with relax
> Message-ID:
>         <CAED9pY_q6+=bd8qbb5wafaq0n6cckhbtb4zj9lvziqhr+31...@mail.gmail.com>
> 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
> [email protected]
>
> To unsubscribe from this list, get a password
> reminder, or change your subscription options,
> visit the list information page at
> https://mail.gna.org/listinfo/relax-users
>
> End of relax-users Digest, Vol 74, Issue 3
> ******************************************
>
>
> Madeleine Strickland
>
> MCJC Group
> N317, School of Chemistry, Bristol University
>
>
> _______________________________________________
> relax (http://www.nmr-relax.com)
>
> This is the relax-users mailing list
> [email protected]
>
> To unsubscribe from this list, get a password
> reminder, or change your subscription options,
> visit the list information page at
> https://mail.gna.org/listinfo/relax-users

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

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

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

Reply via email to