"""Script for reduced spectral density mapping.""" # Create the data pipe. pipe.create(pipe_name='my_protein', pipe_type='jw') # Set up the 15N spins. sequence.read(file='noe.600.out', res_num_col=1, res_name_col=2) spin.name(name='N') spin.element(element='N') spin.isotope(isotope='15N', spin_id='@N') # Load the 15N relaxation data. relax_data.read(ri_id='R1_600', ri_type='R1', frq=600.0*1e6, file='r1.600.out', res_num_col=1, data_col=3, error_col=4) relax_data.read(ri_id='R2_600', ri_type='R2', frq=600.0*1e6, file='r2.600.out', res_num_col=1, data_col=3, error_col=4) relax_data.read(ri_id='NOE_600', ri_type='NOE', frq=600.0*1e6, file='noe.600.out', res_num_col=1, data_col=3, error_col=4) # Generate 1H spins for the magnetic dipole-dipole relaxation interaction. sequence.attach_protons() # Define the magnetic dipole-dipole relaxation interaction. interatom.define(spin_id1='@N', spin_id2='@H', direct_bond=True) interatom.set_dist(spin_id1='@N', spin_id2='@H', ave_dist=1.02 * 1e-10) # Define the chemical shift relaxation interaction. value.set(val=-172 * 1e-6, param='csa') # Select the frequency. jw_mapping.set_frq(frq=600.0 * 1e6) # Reduced spectral density mapping. minimise.calculate() # Monte Carlo simulations (well, bootstrapping as this is a calculation and not a fit!). monte_carlo.setup(number=500) monte_carlo.create_data() minimise.calculate() monte_carlo.error_analysis() # Create grace files. grace.write(y_data_type='j0', file='j0.agr', force=True) grace.write(y_data_type='jwx', file='jwx.agr', force=True) grace.write(y_data_type='jwh', file='jwh.agr', force=True) # View the grace files. grace.view(file='j0.agr') grace.view(file='jwx.agr') grace.view(file='jwh.agr') # Write out the values. value.write(param='j0', file='j0.txt', force=True) value.write(param='jwx', file='jwx.txt', force=True) value.write(param='jwh', file='jwh.txt', force=True) # Finish. results.write(file='results', force=True) state.save('save', force=True)