Module relax_fit
[hide private]
[frames] | no frames]

Source Code for Module relax_fit

 1  # Relaxation curve fitting. 
 2   
 3  import sys 
 4   
 5  from common_ops import common_ops 
 6   
 7   
8 -class relax_fit(common_ops):
9 - def __init__(self):
10 "Relaxation curve fitting." 11 12 raise NameError, "End of code."
13 14
15 - def curvefit_input(self):
16 # Loop through each time point. 17 for spectra in range(len(self.usr_param.input_info)): 18 print '\nProcessing data for time point ' + self.xmf.r1_data.input[i][0] + ' sec' 19 for j in range(len(self.xmf.r1_data.input[i])): # Go through the three columns of the input file. 20 if j == 0: # The time column. 21 self.xmf.r1_data.times.append(self.xmf.r1_data.input[i][0]) # Add the time to the 'times' array. 22 self.xmf.r1_data.input_data[i][0] = self.xmf.r1_data.input[i][0] 23 continue # Go to the next column. 24 file = self.xmf.r1_data.input[i][j] 25 self.xmf.r1_data.input_data[i][j] = self.xmf.file_ops.extract_data(file) 26 equal_size(len(self.xmf.r1_data.input_data[0][1]),len(self.xmf.r1_data.input_data[i][j])) # Test if both are the same length. 27 if j == 2: # The duplicate spectra column. 28 diff_list = [] # List of peak intensity differences for backbone peaks. 29 bb_no = 0 # Number of backbone peaks. 30 indole_no = 0 # Number of tryptophane indole peaks. 31 for k in range(len(self.xmf.r1_data.input_data[i][j])): # Go through the lines of each spectra. 32 if non_residue(self.xmf.r1_data.input_data[i][j][k]): 33 continue # Skip all non-residue lines. 34 test_res_no(self.xmf.r1_data.input_data[0][1][k][0],self.xmf.r1_data.input_data[i][j][k][0]) # Test if residue numbers match. 35 if backbone(self.xmf.r1_data.input_data[i][j][k][4]): # Backbone peak. 36 if unresolved_peak(self.xmf.r1_data.input_data[i][j][k][5],'test/R1/unresolved'): 37 continue # Skip unresolved peaks. 38 self.xmf.r1_data.bb_intense = create_2Dint(i, j, k, self.xmf.r1_data.input_data, self.xmf.r1_data.bb_intense, bb_no) 39 if j == 2: # Duplicate spectra data set. 40 diff_val = float(self.xmf.r1_data.input_data[i][1][k][10]) - float(self.xmf.r1_data.input_data[i][2][k][10]) 41 diff_list.append(diff_val) 42 bb_no = bb_no + 1 43 elif indole(self.xmf.r1_data.input_data[i][j][k][4]): # Tryptophane indole peak. 44 if unresolved_peak(self.xmf.r1_data.input_data[i][j][k][5],'R1/indole_unresolved'): 45 continue # Skip unresolved peaks. 46 self.xmf.r1_data.indole_intense = create_2Dint(i, j, k, self.xmf.r1_data.input_data, self.xmf.r1_data.indole_intense, indole_no) 47 indole_no = indole_no + 1 48 if j == 2: 49 self.xmf.r1_data.diff.append(diff_list) 50 self.xmf.r1_data.bb_intense.sort() 51 self.xmf.r1_data.indole_intense.sort() 52 sumSd = 0 # The sum of all the standard deviations. 53 for set in range(len(self.xmf.r1_data.diff)): 54 sd = stand_dev(self.xmf.r1_data.diff[set]) 55 print '\nThe standard deviation is: ' + `sd` 56 sumSd = sumSd + sd 57 aveSd = sumSd / len(self.xmf.r1_data.diff) 58 print '\nThe average standard deviation is: ' + `aveSd` 59 60 print '\nCreating grace files\n' 61 self.xmf.grace.intensity('R1_backbone', self.xmf.r1_data.bb_intense, self.xmf.r1_data.times, aveSd) 62 self.xmf.grace.intensity('R1_trp_indole', self.xmf.r1_data.indole_intense, self.xmf.r1_data.times, aveSd) 63 rx_log('r1.log', self.xmf.r1_data.times, self.xmf.r1_data.bb_intense, self.xmf.r1_data.indole_intense, self.xmf.r1_data.diff, aveSd)
64
65 - def test_res_no(self, first_no, second_no):
66 if first_no != second_no: 67 text = 'Residues don\'t line up\n' 68 print str(first_no) + ' != ' + str(second_no) 69 while 1: 70 pass
71