3 DEFAULT_COLOR = 'orange'
9 self.color = DEFAULT_COLOR
11 self.style = DEFAULT_STYLE
20 self.has_multipliers = False
26 def get_pretty_value(self, column, value):
27 if self.has_multipliers and self.has_results():
28 multiplier = self.multipliers[column]
29 decimals = self.decimals[column]
30 return prettyformat.pretty_format(value, '', decimals, multiplier, True)
33 #def get_fit_result(self):
34 #if not(self.has_multipliers):
35 #self.set_multipliers()
37 #sResult = 'Contour length ['+prettyformat.get_prefix(self.multiplierContourLength) + 'm]' + self.separator
38 #sResult += prettyformat.pretty_format(self.contourLength[0], '', self.decimals, self.multiplierContourLength, True) + '\n'
39 #sResult += 'Persistence length ['+prettyformat.get_prefix(self.multiplierPersistenceLength) + 'm]' + self.separator
40 #sResult += prettyformat.pretty_format(self.persistenceLength[0], '', self.decimals, self.multiplierPersistenceLength, True) + '\n'
41 #sResult += 'Rupture force ['+prettyformat.get_prefix(self.multiplierRuptureForce) + 'N]' + self.separator
42 #sResult += prettyformat.pretty_format(self.ruptureForces[0], '', self.decimals, self.multiplierRuptureForce, True) + '\n'
43 #sResult += 'Loading rate ['+prettyformat.get_prefix(self.multiplierSlope) + 'N/m]' + self.separator
44 #sResult += prettyformat.pretty_format(self.slopes[0], '', self.decimals, self.multiplierSlope, True)+'\n'
45 #sResult += 'Sigma contour ['+prettyformat.get_prefix(self.multiplierContourLength) + 'm]' + self.separator
46 #sResult += prettyformat.pretty_format(self.contourLengthSigma[0], '', self.decimals, self.multiplierContourLength, True) + '\n'
47 #sResult += 'Sigma persistence ['+prettyformat.get_prefix(self.multiplierPersistenceLength) + 'm]' + self.separator
48 #sResult += prettyformat.pretty_format(self.persistenceLengthSigma[0], '', self.decimals, self.multiplierPersistenceLength, True)
52 #def get_fit_results(self, index):
53 #if index >= 0 and index < len(self.contourLength):
54 #if not(self.has_multipliers):
55 #self.set_multipliers()
56 #sLine = prettyformat.pretty_format(self.contourLength[index], '', self.decimals, self.multiplierContourLength, True) + self.separator
57 #sLine += prettyformat.pretty_format(self.persistenceLength[index], '', self.decimals, self.multiplierPersistenceLength, True) + self.separator
58 #sLine += prettyformat.pretty_format(self.ruptureForces[index], '', self.decimals, self.multiplierRuptureForce, True) + self.separator
59 #sLine += prettyformat.pretty_format(self.slopes[index], '', self.decimals, self.multiplierSlope, True) + self.separator
60 #sLine += prettyformat.pretty_format(self.contourLengthSigma[index], '', self.decimals, self.multiplierContourLength, True) + self.separator
61 #sLine += prettyformat.pretty_format(self.persistenceLengthSigma[index], '', self.decimals, self.multiplierPersistenceLength, True)
67 def has_results(self):
70 def header_as_list(self):
72 if self.has_results():
73 if not self.has_multipliers:
74 self.set_multipliers()
75 for column in self.columns:
76 #result will contain the results dictionary for 'column'
77 #result = self.results[0][0][column]
78 #result[1] contains the unit
79 unit_str = ''.join([prettyformat.get_prefix(self.multipliers[column]), self.units[column]])
80 header_str = ''.join([column, ' [', unit_str, ']'])
81 header.append(header_str)
84 #def header_as_str(self):
85 #if self.has_results():
86 #if not self.has_multipliers:
87 #self.set_multipliers()
89 #for column in self.columns:
90 ##result will contain the results dictionary for 'column'
91 #result = self.results[0][0][column]
92 ##result[1] contains the unit
93 #unit_str = ''.join([prettyformat.get_prefix(self.multipliers[column]), result[1]])
94 #header_str = ''.join([header_str, result_str, ' [', unit_str, ']', self.separator])
99 def set_decimal(self, column, decimal=DEFAULT_DECIMAL):
100 if self.decimals.has_key(name):
101 self.decimals[name] = decimal
103 def set_decimals(self, decimals=DEFAULT_DECIMAL):
105 #set default value if necessary
106 decimals = DEFAULT_DECIMAL
107 for column in self.columns:
108 self.decimals[column] = decimals
110 def set_multipliers(self, index=0):
111 if self.has_results():
112 if index >= 0 and index < len(self.results):
113 for column in self.columns:
114 #result will contain the results dictionary at 'index'
115 result = self.results[index][0]
116 #in position 0 of the result we find the value
117 self.multipliers[column] = prettyformat.get_multiplier(result[column][0])
118 self.has_multipliers = True
120 self.has_multipliers = False
123 class ResultsWLC(Results):
125 Results.__init__(self)
126 self.columns = ['Contour length', 'sigma contour length', 'Persistence length', 'sigma persistence length', 'Rupture force', 'Loading rate']
127 self.units['Contour length'] = 'm'
128 self.units['sigma contour length'] = 'm'
129 self.units['Persistence length'] = 'm'
130 self.units['sigma persistence length'] = 'm'
131 self.units['Rupture force'] = 'N'
132 self.units['Loading rate'] = 'N/m'
135 def set_multipliers(self, index=0):
136 if self.has_results():
137 if index >= 0 and index < len(self.results):
138 for column in self.columns:
139 #result will contain the results dictionary at 'index'
140 result = self.results[index].result
141 #in position 0 of the result we find the value
142 if column == 'sigma contour length':
143 self.multipliers[column] = self.multipliers['Contour length']
144 elif column == 'sigma persistence length':
145 self.multipliers[column] = self.multipliers['Persistence length']
147 self.multipliers[column] = prettyformat.get_multiplier(result[column])
148 self.has_multipliers = True
150 self.has_multipliers = False