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

