|
1 | 1 | """Constants for the PEtab edit GUI.""" |
2 | 2 |
|
3 | 3 | import numpy as np |
| 4 | +import petab.v1.C as PETAB_C |
4 | 5 |
|
5 | 6 | #: Application name |
6 | 7 | APP_NAME = "PEtab-GUI" |
|
11 | 12 |
|
12 | 13 | COLUMNS = { |
13 | 14 | "measurement": { |
14 | | - "observableId": {"type": np.object_, "optional": False}, |
15 | | - "preequilibrationConditionId": {"type": np.object_, "optional": True}, |
16 | | - "simulationConditionId": {"type": np.object_, "optional": False}, |
17 | | - "time": {"type": np.float64, "optional": False}, |
18 | | - "measurement": {"type": np.float64, "optional": False}, |
19 | | - "observableParameters": {"type": np.object_, "optional": True}, |
20 | | - "noiseParameters": {"type": np.object_, "optional": True}, |
21 | | - "datasetId": {"type": np.object_, "optional": True}, |
22 | | - "replicateId": {"type": np.object_, "optional": True}, |
| 15 | + PETAB_C.OBSERVABLE_ID: {"type": np.object_, "optional": False}, |
| 16 | + PETAB_C.PREEQUILIBRATION_CONDITION_ID: { |
| 17 | + "type": np.object_, |
| 18 | + "optional": True, |
| 19 | + }, |
| 20 | + PETAB_C.SIMULATION_CONDITION_ID: { |
| 21 | + "type": np.object_, |
| 22 | + "optional": False, |
| 23 | + }, |
| 24 | + PETAB_C.TIME: {"type": np.float64, "optional": False}, |
| 25 | + PETAB_C.MEASUREMENT: {"type": np.float64, "optional": False}, |
| 26 | + PETAB_C.OBSERVABLE_PARAMETERS: {"type": np.object_, "optional": True}, |
| 27 | + PETAB_C.NOISE_PARAMETERS: {"type": np.object_, "optional": True}, |
| 28 | + PETAB_C.DATASET_ID: {"type": np.object_, "optional": True}, |
| 29 | + PETAB_C.REPLICATE_ID: {"type": np.object_, "optional": True}, |
23 | 30 | }, |
24 | 31 | "simulation": { |
25 | | - "observableId": {"type": np.object_, "optional": False}, |
26 | | - "preequilibrationConditionId": {"type": np.object_, "optional": True}, |
27 | | - "simulationConditionId": {"type": np.object_, "optional": False}, |
28 | | - "time": {"type": np.float64, "optional": False}, |
29 | | - "simulation": {"type": np.float64, "optional": False}, |
30 | | - "observableParameters": {"type": np.object_, "optional": True}, |
31 | | - "noiseParameters": {"type": np.object_, "optional": True}, |
32 | | - "datasetId": {"type": np.object_, "optional": True}, |
33 | | - "replicateId": {"type": np.object_, "optional": True}, |
| 32 | + PETAB_C.OBSERVABLE_ID: {"type": np.object_, "optional": False}, |
| 33 | + PETAB_C.PREEQUILIBRATION_CONDITION_ID: { |
| 34 | + "type": np.object_, |
| 35 | + "optional": True, |
| 36 | + }, |
| 37 | + PETAB_C.SIMULATION_CONDITION_ID: { |
| 38 | + "type": np.object_, |
| 39 | + "optional": False, |
| 40 | + }, |
| 41 | + PETAB_C.TIME: {"type": np.float64, "optional": False}, |
| 42 | + PETAB_C.SIMULATION: {"type": np.float64, "optional": False}, |
| 43 | + PETAB_C.OBSERVABLE_PARAMETERS: {"type": np.object_, "optional": True}, |
| 44 | + PETAB_C.NOISE_PARAMETERS: {"type": np.object_, "optional": True}, |
| 45 | + PETAB_C.DATASET_ID: {"type": np.object_, "optional": True}, |
| 46 | + PETAB_C.REPLICATE_ID: {"type": np.object_, "optional": True}, |
34 | 47 | }, |
35 | 48 | "observable": { |
36 | | - "observableId": {"type": np.object_, "optional": False}, |
37 | | - "observableName": {"type": np.object_, "optional": True}, |
38 | | - "observableFormula": {"type": np.object_, "optional": False}, |
39 | | - "observableTransformation": {"type": np.object_, "optional": True}, |
40 | | - "noiseFormula": {"type": np.object_, "optional": False}, |
41 | | - "noiseDistribution": {"type": np.object_, "optional": True}, |
| 49 | + PETAB_C.OBSERVABLE_ID: {"type": np.object_, "optional": False}, |
| 50 | + PETAB_C.OBSERVABLE_NAME: {"type": np.object_, "optional": True}, |
| 51 | + PETAB_C.OBSERVABLE_FORMULA: {"type": np.object_, "optional": False}, |
| 52 | + PETAB_C.OBSERVABLE_TRANSFORMATION: { |
| 53 | + "type": np.object_, |
| 54 | + "optional": True, |
| 55 | + }, |
| 56 | + PETAB_C.NOISE_FORMULA: {"type": np.object_, "optional": False}, |
| 57 | + PETAB_C.NOISE_DISTRIBUTION: {"type": np.object_, "optional": True}, |
42 | 58 | }, |
43 | 59 | "parameter": { |
44 | | - "parameterId": {"type": np.object_, "optional": False}, |
45 | | - "parameterName": {"type": np.object_, "optional": True}, |
46 | | - "parameterScale": {"type": np.object_, "optional": False}, |
47 | | - "lowerBound": {"type": np.float64, "optional": False}, |
48 | | - "upperBound": {"type": np.float64, "optional": False}, |
49 | | - "nominalValue": {"type": np.float64, "optional": False}, |
50 | | - "estimate": {"type": np.object_, "optional": False}, |
51 | | - "initializationPriorType": {"type": np.object_, "optional": True}, |
52 | | - "initializationPriorParameters": { |
| 60 | + PETAB_C.PARAMETER_ID: {"type": np.object_, "optional": False}, |
| 61 | + PETAB_C.PARAMETER_NAME: {"type": np.object_, "optional": True}, |
| 62 | + PETAB_C.PARAMETER_SCALE: {"type": np.object_, "optional": False}, |
| 63 | + PETAB_C.LOWER_BOUND: {"type": np.float64, "optional": False}, |
| 64 | + PETAB_C.UPPER_BOUND: {"type": np.float64, "optional": False}, |
| 65 | + PETAB_C.NOMINAL_VALUE: {"type": np.float64, "optional": False}, |
| 66 | + PETAB_C.ESTIMATE: {"type": np.object_, "optional": False}, |
| 67 | + PETAB_C.INITIALIZATION_PRIOR_TYPE: { |
| 68 | + "type": np.object_, |
| 69 | + "optional": True, |
| 70 | + }, |
| 71 | + PETAB_C.INITIALIZATION_PRIOR_PARAMETERS: { |
| 72 | + "type": np.object_, |
| 73 | + "optional": True, |
| 74 | + }, |
| 75 | + PETAB_C.OBJECTIVE_PRIOR_TYPE: {"type": np.object_, "optional": True}, |
| 76 | + PETAB_C.OBJECTIVE_PRIOR_PARAMETERS: { |
53 | 77 | "type": np.object_, |
54 | 78 | "optional": True, |
55 | 79 | }, |
56 | | - "objectivePriorType": {"type": np.object_, "optional": True}, |
57 | | - "objectivePriorParameters": {"type": np.object_, "optional": True}, |
58 | 80 | }, |
59 | 81 | "condition": { |
60 | | - "conditionId": {"type": np.object_, "optional": False}, |
61 | | - "conditionName": {"type": np.object_, "optional": False}, |
| 82 | + PETAB_C.CONDITION_ID: {"type": np.object_, "optional": False}, |
| 83 | + PETAB_C.CONDITION_NAME: {"type": np.object_, "optional": False}, |
62 | 84 | }, |
63 | 85 | "visualization": { |
64 | | - "plotId": {"type": np.object_, "optional": False}, |
65 | | - "plotName": {"type": np.object_, "optional": True}, |
66 | | - "plotTypeSimulation": { |
| 86 | + PETAB_C.PLOT_ID: {"type": np.object_, "optional": False}, |
| 87 | + PETAB_C.PLOT_NAME: {"type": np.object_, "optional": True}, |
| 88 | + PETAB_C.PLOT_TYPE_SIMULATION: { |
67 | 89 | "type": np.object_, |
68 | 90 | "optional": True, |
69 | 91 | }, |
70 | | - "plotTypeData": {"type": np.object_, "optional": True}, |
71 | | - "datasetId": {"type": np.object_, "optional": True}, |
72 | | - "xValues": {"type": np.object_, "optional": True}, |
73 | | - "xOffset": {"type": np.float64, "optional": True}, |
74 | | - "xLabel": {"type": np.object_, "optional": True}, |
75 | | - "xScale": {"type": np.object_, "optional": True}, |
76 | | - "yValues": {"type": np.object_, "optional": True}, |
77 | | - "yOffset": {"type": np.float64, "optional": True}, |
78 | | - "yLabel": {"type": np.object_, "optional": True}, |
79 | | - "yScale": {"type": np.object_, "optional": True}, |
80 | | - "legendEntry": {"type": np.object_, "optional": True}, |
| 92 | + PETAB_C.PLOT_TYPE_DATA: {"type": np.object_, "optional": True}, |
| 93 | + PETAB_C.DATASET_ID: {"type": np.object_, "optional": True}, |
| 94 | + PETAB_C.X_VALUES: {"type": np.object_, "optional": True}, |
| 95 | + PETAB_C.X_OFFSET: {"type": np.float64, "optional": True}, |
| 96 | + PETAB_C.X_LABEL: {"type": np.object_, "optional": True}, |
| 97 | + PETAB_C.X_SCALE: {"type": np.object_, "optional": True}, |
| 98 | + PETAB_C.Y_VALUES: {"type": np.object_, "optional": True}, |
| 99 | + PETAB_C.Y_OFFSET: {"type": np.float64, "optional": True}, |
| 100 | + PETAB_C.Y_LABEL: {"type": np.object_, "optional": True}, |
| 101 | + PETAB_C.Y_SCALE: {"type": np.object_, "optional": True}, |
| 102 | + PETAB_C.LEGEND_ENTRY: {"type": np.object_, "optional": True}, |
81 | 103 | }, |
82 | 104 | } |
83 | 105 |
|
|
126 | 148 |
|
127 | 149 | # Default Configurations of Default Values |
128 | 150 | ALLOWED_STRATEGIES_OBS = { |
129 | | - "observableId": STRATEGIES_DEFAULT, |
130 | | - "observableName": STRATEGIES_DEFAULT, |
131 | | - "observableFormula": STRATEGIES_DEFAULT, |
132 | | - "observableTransformation": [USE_DEFAULT, NO_DEFAULT, MODE], |
133 | | - "noiseFormula": [COPY_FROM, USE_DEFAULT, NO_DEFAULT, MODE], |
134 | | - "noiseDistribution": [USE_DEFAULT, NO_DEFAULT, MODE], |
| 151 | + PETAB_C.OBSERVABLE_ID: STRATEGIES_DEFAULT, |
| 152 | + PETAB_C.OBSERVABLE_NAME: STRATEGIES_DEFAULT, |
| 153 | + PETAB_C.OBSERVABLE_FORMULA: STRATEGIES_DEFAULT, |
| 154 | + PETAB_C.OBSERVABLE_TRANSFORMATION: [USE_DEFAULT, NO_DEFAULT, MODE], |
| 155 | + PETAB_C.NOISE_FORMULA: [COPY_FROM, USE_DEFAULT, NO_DEFAULT, MODE], |
| 156 | + PETAB_C.NOISE_DISTRIBUTION: [USE_DEFAULT, NO_DEFAULT, MODE], |
135 | 157 | } |
136 | 158 | ALLOWED_STRATEGIES_PAR = { |
137 | | - "parameterId": STRATEGIES_DEFAULT, |
138 | | - "parameterName": STRATEGIES_DEFAULT, |
139 | | - "parameterScale": [USE_DEFAULT, NO_DEFAULT, MODE], |
140 | | - "lowerBound": [MIN_COLUMN, MAX_COLUMN, USE_DEFAULT, NO_DEFAULT, MODE], |
141 | | - "upperBound": [MAX_COLUMN, MAX_COLUMN, USE_DEFAULT, NO_DEFAULT, MODE], |
142 | | - "nominalValue": [USE_DEFAULT, NO_DEFAULT, SBML_LOOK], |
143 | | - "estimate": [USE_DEFAULT, NO_DEFAULT, MODE], |
| 159 | + PETAB_C.PARAMETER_ID: STRATEGIES_DEFAULT, |
| 160 | + PETAB_C.PARAMETER_NAME: STRATEGIES_DEFAULT, |
| 161 | + PETAB_C.PARAMETER_SCALE: [USE_DEFAULT, NO_DEFAULT, MODE], |
| 162 | + PETAB_C.LOWER_BOUND: [ |
| 163 | + MIN_COLUMN, |
| 164 | + MAX_COLUMN, |
| 165 | + USE_DEFAULT, |
| 166 | + NO_DEFAULT, |
| 167 | + MODE, |
| 168 | + ], |
| 169 | + PETAB_C.UPPER_BOUND: [ |
| 170 | + MAX_COLUMN, |
| 171 | + MAX_COLUMN, |
| 172 | + USE_DEFAULT, |
| 173 | + NO_DEFAULT, |
| 174 | + MODE, |
| 175 | + ], |
| 176 | + PETAB_C.NOMINAL_VALUE: [USE_DEFAULT, NO_DEFAULT, SBML_LOOK], |
| 177 | + PETAB_C.ESTIMATE: [USE_DEFAULT, NO_DEFAULT, MODE], |
144 | 178 | } |
145 | 179 | ALLOWED_STRATEGIES_COND = { |
146 | | - "conditionId": STRATEGIES_DEFAULT, |
147 | | - "conditionName": STRATEGIES_DEFAULT, |
| 180 | + PETAB_C.CONDITION_ID: STRATEGIES_DEFAULT, |
| 181 | + PETAB_C.CONDITION_NAME: STRATEGIES_DEFAULT, |
148 | 182 | } |
149 | 183 | ALLOWED_STRATEGIES_MEAS = { |
150 | | - "observableId": STRATEGIES_DEFAULT, |
151 | | - "preequilibrationConditionId": STRATEGIES_DEFAULT_EXT, |
152 | | - "simulationConditionId": STRATEGIES_DEFAULT_EXT, |
153 | | - "time": [NO_DEFAULT, USE_DEFAULT, MODE], |
154 | | - "measurement": [NO_DEFAULT, USE_DEFAULT, MODE], |
155 | | - "observableParameters": STRATEGIES_DEFAULT_EXT, |
156 | | - "noiseParameters": STRATEGIES_DEFAULT_EXT, |
157 | | - "datasetId": [COPY_FROM, USE_DEFAULT, NO_DEFAULT, MODE], |
158 | | - "replicateId": [COPY_FROM, USE_DEFAULT, NO_DEFAULT, MODE], |
| 184 | + PETAB_C.OBSERVABLE_ID: STRATEGIES_DEFAULT, |
| 185 | + PETAB_C.PREEQUILIBRATION_CONDITION_ID: STRATEGIES_DEFAULT_EXT, |
| 186 | + PETAB_C.SIMULATION_CONDITION_ID: STRATEGIES_DEFAULT_EXT, |
| 187 | + PETAB_C.TIME: [NO_DEFAULT, USE_DEFAULT, MODE], |
| 188 | + PETAB_C.MEASUREMENT: [NO_DEFAULT, USE_DEFAULT, MODE], |
| 189 | + PETAB_C.OBSERVABLE_PARAMETERS: STRATEGIES_DEFAULT_EXT, |
| 190 | + PETAB_C.NOISE_PARAMETERS: STRATEGIES_DEFAULT_EXT, |
| 191 | + PETAB_C.DATASET_ID: [COPY_FROM, USE_DEFAULT, NO_DEFAULT, MODE], |
| 192 | + PETAB_C.REPLICATE_ID: [COPY_FROM, USE_DEFAULT, NO_DEFAULT, MODE], |
159 | 193 | } |
160 | 194 | ALLOWED_STRATEGIES = { |
161 | 195 | "observable": ALLOWED_STRATEGIES_OBS, |
|
164 | 198 | "measurement": ALLOWED_STRATEGIES_MEAS, |
165 | 199 | } |
166 | 200 | DEFAULT_OBS_CONFIG = { |
167 | | - "observableId": { |
| 201 | + PETAB_C.OBSERVABLE_ID: { |
168 | 202 | "strategy": COPY_FROM, |
169 | | - SOURCE_COLUMN: "observableFormula", |
| 203 | + SOURCE_COLUMN: PETAB_C.OBSERVABLE_FORMULA, |
170 | 204 | DEFAULT_VALUE: "new_observable", |
171 | 205 | }, |
172 | | - "observableName": {"strategy": COPY_FROM, SOURCE_COLUMN: "observableId"}, |
173 | | - "noiseFormula": {"strategy": USE_DEFAULT, DEFAULT_VALUE: 1}, |
174 | | - "observableTransformation": { |
| 206 | + PETAB_C.OBSERVABLE_NAME: { |
| 207 | + "strategy": COPY_FROM, |
| 208 | + SOURCE_COLUMN: PETAB_C.OBSERVABLE_ID, |
| 209 | + }, |
| 210 | + PETAB_C.NOISE_FORMULA: {"strategy": USE_DEFAULT, DEFAULT_VALUE: 1}, |
| 211 | + PETAB_C.OBSERVABLE_TRANSFORMATION: { |
| 212 | + "strategy": USE_DEFAULT, |
| 213 | + DEFAULT_VALUE: PETAB_C.LIN, |
| 214 | + }, |
| 215 | + PETAB_C.NOISE_DISTRIBUTION: { |
175 | 216 | "strategy": USE_DEFAULT, |
176 | | - DEFAULT_VALUE: "lin", |
| 217 | + DEFAULT_VALUE: PETAB_C.NORMAL, |
177 | 218 | }, |
178 | | - "noiseDistribution": {"strategy": USE_DEFAULT, DEFAULT_VALUE: "normal"}, |
179 | 219 | } |
180 | 220 | DEFAULT_PAR_CONFIG = { |
181 | | - "parameterName": { |
| 221 | + PETAB_C.PARAMETER_NAME: { |
182 | 222 | "strategy": COPY_FROM, |
183 | | - SOURCE_COLUMN: "parameterId", |
| 223 | + SOURCE_COLUMN: PETAB_C.PARAMETER_ID, |
184 | 224 | DEFAULT_VALUE: "new_parameter", |
185 | 225 | }, |
186 | | - "parameterScale": {"strategy": USE_DEFAULT, DEFAULT_VALUE: "log10"}, |
187 | | - "lowerBound": {"strategy": MIN_COLUMN}, |
188 | | - "upperBound": {"strategy": MAX_COLUMN}, |
189 | | - "estimate": {"strategy": USE_DEFAULT, DEFAULT_VALUE: 1}, |
190 | | - "nominalValue": {"strategy": SBML_LOOK}, |
| 226 | + PETAB_C.PARAMETER_SCALE: { |
| 227 | + "strategy": USE_DEFAULT, |
| 228 | + DEFAULT_VALUE: PETAB_C.LOG10, |
| 229 | + }, |
| 230 | + PETAB_C.LOWER_BOUND: {"strategy": MIN_COLUMN}, |
| 231 | + PETAB_C.UPPER_BOUND: {"strategy": MAX_COLUMN}, |
| 232 | + PETAB_C.ESTIMATE: {"strategy": USE_DEFAULT, DEFAULT_VALUE: 1}, |
| 233 | + PETAB_C.NOMINAL_VALUE: {"strategy": SBML_LOOK}, |
191 | 234 | } |
192 | 235 | DEFAULT_COND_CONFIG = { |
193 | | - "conditionId": {"strategy": USE_DEFAULT, DEFAULT_VALUE: "new_condition"}, |
194 | | - "conditionName": {"strategy": COPY_FROM, SOURCE_COLUMN: "conditionId"}, |
| 236 | + PETAB_C.CONDITION_ID: { |
| 237 | + "strategy": USE_DEFAULT, |
| 238 | + DEFAULT_VALUE: "new_condition", |
| 239 | + }, |
| 240 | + PETAB_C.CONDITION_NAME: { |
| 241 | + "strategy": COPY_FROM, |
| 242 | + SOURCE_COLUMN: PETAB_C.CONDITION_ID, |
| 243 | + }, |
195 | 244 | } |
196 | 245 | DEFAULT_MEAS_CONFIG = {} |
197 | 246 | DEFAULT_CONFIGS = { |
|
0 commit comments