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