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 -- On 2012-08-31, at 12:40 PM, Edward d'Auvergne <edward@xxxxxxxxxxxxx> wrote: Hi Nick, |