Features and functionality described on this page are available with our new Pro and Enterprise plans. Learn More... |
Prism's nonlinear regression can fit curves directly to data stored in Multiple Variables tables. This gives you the flexibility to keep your dose-response, binding, enzyme kinetics, and other curve-fitting data in standard database format, making it easier to work with data from plate readers, laboratory information systems, and other statistical software.
The curve fitting itself is identical: it uses the same algorithms, fits the same equations, generates the same parameter estimates and statistics. The only difference is how you organize your data and tell Prism which columns contain your X and Y values, and which define the groups you want to fit separately.
When you run nonlinear regression from a Multiple Variables table, you'll see a new Data tab in the analysis parameters dialog. This is where you assign variables to their roles:
•Response (Y) variables: The measured outcomes (binding, response, activity, etc.)
•Predictor (X) variable: The independent variable (concentration, dose, time, etc.)
•Grouping variables: Optional categorical variables to fit separate curves for different conditions
All of the other tabs - including the Model tab for choosing equations, the Constrain tab for setting parameter limits, diagnostics, output options - work exactly as they do with traditional XY tables.
Multiple Variables tables are particularly useful for nonlinear regression when you have dose-response or concentration-effect data from multi-well plates, high-throughput screening, or any experiment where you're fitting curves to multiple datasets. Rather than manually organizing data into side-by-side columns for different groups, you can work directly with the long-format output from your plate reader or data collection system.
Consider using Multiple Variables format when:
•You're importing data from plate readers, laboratory automation systems, or databases
•You have multiple response variables measured under the same X conditions (e.g., multiple readouts from the same dose-response experiment)
•You want to fit curves for many different combinations of experimental factors (compound, cell line, timepoint, etc.)
•Your data is already in "tidy" or long format
•You need to perform other analyses on the same dataset (statistics, other regression types)
The traditional XY table format still works great for simple curve fitting with a handful of datasets when you're entering data directly into Prism or when your data naturally comes in side-by-side column format.
For nonlinear regression, you need sets of X values (the predictor or independent variable) and Y values (the response or dependent variable). In a Multiple Variables table, each row represents one observation, with variables for the X value, the Y value, and any grouping factors that define separate groups.
Here's a typical dose-response dataset structure:
WellID |
Concentration |
Response |
Compound |
|---|---|---|---|
A01 |
0.001 |
5.2 |
Drug_A |
A02 |
0.01 |
8.7 |
Drug_A |
A03 |
0.1 |
42.5 |
Drug_A |
A04 |
1.0 |
85.3 |
Drug_A |
A05 |
10.0 |
96.8 |
Drug_A |
B01 |
0.001 |
4.8 |
Drug_B |
B02 |
0.01 |
12.3 |
Drug_B |
B03 |
0.1 |
55.7 |
Drug_B |
B04 |
1.0 |
91.2 |
Drug_B |
B05 |
10.0 |
98.5 |
Drug_B |
... |
... |
... |
... |
This is typical output from a plate reader doing dose-response experiments with multiple compounds. When you run the analysis, you would assign:
•Response (Y): Response (the measured readout)
•Predictor (X): Concentration (the dose)
•Grouping: Compound (to fit separate curves for each drug)
Prism will fit separate dose-response curves for Drug_A and Drug_B, giving you EC50 values, Hill slopes, and other parameters for each compound.
In many experiments, you measure multiple outcomes at each X value. For example, you might measure both cell viability and apoptosis at each drug concentration, or track multiple fluorescent markers in a binding assay. With Multiple Variables tables, you can fit curves to all of these response variables in a single analysis.
Example with multiple response variables:
WellID |
Dose_uM |
Viability |
Apoptosis |
Compound |
|---|---|---|---|---|
A01 |
0.001 |
98.5 |
2.1 |
Drug_A |
A02 |
0.01 |
87.3 |
8.4 |
Drug_A |
A03 |
0.1 |
52.1 |
35.7 |
Drug_A |
A04 |
1.0 |
18.6 |
68.2 |
Drug_A |
... |
... |
... |
... |
... |
If you assign both Viability and Apoptosis as response variables, with Compound as a grouping variable and two compounds tested, Prism will fit four curves: Viability-Drug_A, Viability-Drug_B, Apoptosis-Drug_A, and Apoptosis-Drug_B. This lets you compare how different compounds affect different endpoints using the same X values.
High-throughput experiments often involve multiple experimental factors: different compounds, cell lines, time points, treatment conditions, and so on. With the Multiple Variables data table, you can assign multiple grouping variables to the analysis, and Prism will fit separate curves for every unique combination.
Example with multiple grouping factors:
WellID |
Concentration |
Response |
Compound |
Cell_Line |
|---|---|---|---|---|
A01 |
0.001 |
5.2 |
Drug_A |
HeLa |
A02 |
0.01 |
8.7 |
Drug_A |
HeLa |
B01 |
0.001 |
3.8 |
Drug_A |
A549 |
B02 |
0.01 |
12.5 |
Drug_A |
A549 |
... |
... |
... |
... |
... |
Assigning both Compound and Cell_Line as grouping variables (with 3 compounds and 2 cell lines, for example) would create 6 separate dose-response curves. This makes it easy to compare compound potency across different cellular contexts.
Keep in mind that more grouping variables means more curves to fit. With 5 compounds, 3 cell lines, and 2 time points, you'd have 30 separate curves (5 × 3 × 2 = 30). Make sure you have adequate data points for each curve. Nonlinear regression typically needs measurements for at least 5-6 unique X values per curve (spanning the range of the curve) for reliable parameter estimates.
In a Multiple Variables table, replicates are simply additional rows with the same X value and the same grouping variable values. Prism will use all the data points when fitting each curve, just as it does with traditional XY tables.
For example, if you have triplicate wells for each dose of Drug_A, your data would have three rows for each concentration with Drug_A as the grouping variable value. Prism will fit one curve to all the Drug_A data points, treating the replicates appropriately.