5 DEFAULT_COLOR = 'orange'
11 self.color = DEFAULT_COLOR
13 self.style = DEFAULT_STYLE
22 self.has_multipliers = False
28 def get_pretty_value(self, column, value):
29 if self.has_multipliers and self.has_results():
30 multiplier = self.multipliers[column]
31 decimals = self.decimals[column]
32 return prettyformat.pretty_format(value, '', decimals, multiplier, True)
35 #def get_fit_result(self):
36 #if not(self.has_multipliers):
37 #self.set_multipliers()
39 #sResult = 'Contour length ['+prettyformat.get_prefix(self.multiplierContourLength) + 'm]' + self.separator
40 #sResult += prettyformat.pretty_format(self.contourLength[0], '', self.decimals, self.multiplierContourLength, True) + '\n'
41 #sResult += 'Persistence length ['+prettyformat.get_prefix(self.multiplierPersistenceLength) + 'm]' + self.separator
42 #sResult += prettyformat.pretty_format(self.persistenceLength[0], '', self.decimals, self.multiplierPersistenceLength, True) + '\n'
43 #sResult += 'Rupture force ['+prettyformat.get_prefix(self.multiplierRuptureForce) + 'N]' + self.separator
44 #sResult += prettyformat.pretty_format(self.ruptureForces[0], '', self.decimals, self.multiplierRuptureForce, True) + '\n'
45 #sResult += 'Loading rate ['+prettyformat.get_prefix(self.multiplierSlope) + 'N/m]' + self.separator
46 #sResult += prettyformat.pretty_format(self.slopes[0], '', self.decimals, self.multiplierSlope, True)+'\n'
47 #sResult += 'Sigma contour ['+prettyformat.get_prefix(self.multiplierContourLength) + 'm]' + self.separator
48 #sResult += prettyformat.pretty_format(self.contourLengthSigma[0], '', self.decimals, self.multiplierContourLength, True) + '\n'
49 #sResult += 'Sigma persistence ['+prettyformat.get_prefix(self.multiplierPersistenceLength) + 'm]' + self.separator
50 #sResult += prettyformat.pretty_format(self.persistenceLengthSigma[0], '', self.decimals, self.multiplierPersistenceLength, True)
54 #def get_fit_results(self, index):
55 #if index >= 0 and index < len(self.contourLength):
56 #if not(self.has_multipliers):
57 #self.set_multipliers()
58 #sLine = prettyformat.pretty_format(self.contourLength[index], '', self.decimals, self.multiplierContourLength, True) + self.separator
59 #sLine += prettyformat.pretty_format(self.persistenceLength[index], '', self.decimals, self.multiplierPersistenceLength, True) + self.separator
60 #sLine += prettyformat.pretty_format(self.ruptureForces[index], '', self.decimals, self.multiplierRuptureForce, True) + self.separator
61 #sLine += prettyformat.pretty_format(self.slopes[index], '', self.decimals, self.multiplierSlope, True) + self.separator
62 #sLine += prettyformat.pretty_format(self.contourLengthSigma[index], '', self.decimals, self.multiplierContourLength, True) + self.separator
63 #sLine += prettyformat.pretty_format(self.persistenceLengthSigma[index], '', self.decimals, self.multiplierPersistenceLength, True)
69 def has_results(self):
72 def header_as_list(self):
74 if self.has_results():
75 if not self.has_multipliers:
76 self.set_multipliers()
77 for column in self.columns:
78 #result will contain the results dictionary for 'column'
79 #result = self.results[0][0][column]
80 #result[1] contains the unit
81 unit_str = ''.join([prettyformat.get_prefix(self.multipliers[column]), self.units[column]])
82 header_str = ''.join([column, ' [', unit_str, ']'])
83 header.append(header_str)
86 #def header_as_str(self):
87 #if self.has_results():
88 #if not self.has_multipliers:
89 #self.set_multipliers()
91 #for column in self.columns:
92 ##result will contain the results dictionary for 'column'
93 #result = self.results[0][0][column]
94 ##result[1] contains the unit
95 #unit_str = ''.join([prettyformat.get_prefix(self.multipliers[column]), result[1]])
96 #header_str = ''.join([header_str, result_str, ' [', unit_str, ']', self.separator])
101 def set_decimal(self, column, decimal=DEFAULT_DECIMAL):
102 if self.decimals.has_key(name):
103 self.decimals[name] = decimal
105 def set_decimals(self, decimals=DEFAULT_DECIMAL):
107 #set default value if necessary
108 decimals = DEFAULT_DECIMAL
109 for column in self.columns:
110 self.decimals[column] = decimals
112 def set_multipliers(self, index=0):
113 if self.has_results():
114 if index >= 0 and index < len(self.results):
115 for column in self.columns:
116 #result will contain the results dictionary at 'index'
117 result = self.results[index][0]
118 #in position 0 of the result we find the value
119 self.multipliers[column] = prettyformat.get_multiplier(result[column][0])
120 self.has_multipliers = True
122 self.has_multipliers = False
125 class ResultsWLC(Results):
127 Results.__init__(self)
128 self.columns = ['Contour length', 'sigma contour length', 'Persistence length', 'sigma persistence length', 'Rupture force', 'Loading rate']
129 self.units['Contour length'] = 'm'
130 self.units['sigma contour length'] = 'm'
131 self.units['Persistence length'] = 'm'
132 self.units['sigma persistence length'] = 'm'
133 self.units['Rupture force'] = 'N'
134 self.units['Loading rate'] = 'N/m'
137 def set_multipliers(self, index=0):
138 if self.has_results():
139 if index >= 0 and index < len(self.results):
140 for column in self.columns:
141 #result will contain the results dictionary at 'index'
142 result = self.results[index].result
143 #in position 0 of the result we find the value
144 if column == 'sigma contour length':
145 self.multipliers[column] = self.multipliers['Contour length']
146 elif column == 'sigma persistence length':
147 self.multipliers[column] = self.multipliers['Persistence length']
149 self.multipliers[column] = prettyformat.get_multiplier(result[column])
150 self.has_multipliers = True
152 self.has_multipliers = False