cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Try the Materials Informatics Toolkit, which is designed to easily handle SMILES data. This and other helpful add-ins are available in the JMP® Marketplace
Choose Language Hide Translation Bar
JoffJones
Level III

How can you add control runs to a split-plot design?

In pharmaceutical assays we often run controls on the plate which are used purely for the basis of quality control. The controls should not be part of the statistical model used to generate the DoE, and so previously I have tried to generate two DoEs (one for the main experiment, one for the controls) and merge them together. However, this is not trivial when you have a common split-plot setup, as the levels assigned to the split-plots will be random and so the 2 DoEs will not match up.

As a simple example, let's say I have a plate with a grid of 10x10 wells. I want to test the effects of cell line and reagent concentration. Cell line needs to be arranged in columns and so we need 10 split-plots that align with the columns. Reagent concentration can be randomised. But I also want to test some controls in each cell line, with let's say another reagent at fixed concentration, and without the altering the original reagent concentration. Ideally, I'd want to use most (90) of the wells to optimise the cell line & reagent concentration, and a few wells for the controls (10, 1 per column). 

 

Is there anyway to ensure that the DoE is optimal for its purpose, whilst also adding in some extra control runs that don't adhere to this statistical model?

5 REPLIES 5
Victor_G
Super User

Re: How can you add control runs to a split-plot design?

Hi @JoffJones,

 

Can you please describe in more details the use case and factors to use in the design ? It's not very clear for me to understand what is your challenge.

  • What are the factors and possible levels (anonymized if needed) ?
  • What is the restriction for using split-plot design (one specific cell line for each column) ?
  • What is your assumed model/level of details needed in the analysis ?

 

From a general point of view, I think trying a Candidate Set approach would work here: you can create a table with all possible combinations and respecting your constraints, and then use Custom Design to select the 100 most informative experiments (or 90 and manually adding 10 control runs).

 

You might also be interested in this similar discussion:

Forcing center points to be equally distributed across blocks custom design 

 

Hope this first discussion starter may help,

Victor GUILLER

"It is not unusual for a well-designed experiment to analyze itself" (Box, Hunter and Hunter)
JoffJones
Level III

Re: How can you add control runs to a split-plot design?

Hi @Victor_G 

Thanks for your reply and sharing the post. The problem is a bit different, in the other post the control runs form part of the overall design region (at the centre) whereas here the control runs are undefined in the design region because they don't have any specified level for one or more of the factors.

I copy the code for a simplified example of this. We want to maximise a response Y, across 2 cell lines with 3 gRNA's at concentrations between 10 and 50 using a response surface design. Each column must have 1 specific cell line. The gRNA is used to knockout genes from the cells DNA and higher concentrations can have larger effects. However, we also want to test a 'no gRNA' control condition, to see if both cell lines are healthy and grow without any gRNA. Naturally, the concentration of 'no gRNA' has to be 0, and so this is outside of our design region.

 

DOE(
Custom Design,
{Add Response( Maximize, "Y", ., ., . ),
Add Factor( Continuous, 10, 50, "gRNA concentration", 0 ),
Add Factor( Categorical, {"Gene1", "Gene2", "Gene3"}, "gRNA", 0 ),
Add Factor( Categorical, {"Cell Line A", "Cell Line B"}, "Cell Line", 1 ),
Set Random Seed( 443381886 ), Add Term( {1, 0} ), Add Term( {1, 1} ),
Add Term( {2, 1} ), Add Term( {3, 1} ), Add Term( {1, 2} ),
Add Term( {1, 1}, {2, 1} ), Add Term( {1, 1}, {3, 1} ),
Add Term( {2, 1}, {3, 1} ), Set N Whole Plots( 10 ), Set Sample Size( 90 ),
Optimality Criterion( "Make I-Optimal Design" ), Simulate Responses( 0 ),
Save X Matrix( 0 )}
);
Victor_G
Super User

Re: How can you add control runs to a split-plot design?

Hi @JoffJones,

 

I think I better understand your context, you seems to be in a ituation of nested factors/design.

Here are some examples of such situations in the Community : 

Disallowed Combinations not working 

Using disallowed combinations to remove a factor from the DoE 

 

I tried adding a categorical level "NogRNA" for your factor "gRNA" and expanding your minimum gRNA concentration from 10 to 0 and then, using disallowed combinations filter to create these conditions :

gRNA == "NogRNA" & gRNA concentration >= 0.01 | (gRNA == "Gene1" | gRNA == "Gene2"
 | gRNA == "Gene3") & gRNA concentration <= 10;

So that Custom Design doesn't create run without Gene levels and gRNA concentration different from 0 or with Gene levels and gRNA concentration less than 10. But the resulting design doesn't include any run with "NogRNA".

 

So I think the simple option could be to use your script and design, create your design with 80 or 90 runs and 10 blocks, and add 1 (or 2) runs per block with the conditions NogRNA, concentration = 0 and the same cell line as the other experiments in this block. Some modifications have to be done in the Factors column properties, and also in the script Fit Model, as this specific configuration involves nested factors (the concentration range depends on the level of factor gRNA : With/Without Gene). Example of nested factors : Example of a Two-Factor Nested Random Effects Model

Please find attached the design.

 

Another option could be also to measure baseline level in each block (concentration = 0, no Gene, specific cell line) and use this baseline level in the response as a difference between experiment and baseline (Y = experiment value - baseline value).

This would make the analysis easier, and since your primary interest is not in the specific level value of this baseline condition but more as a check for the cell lines, it could be a nice alternative.

 

Hope this answer might help you,

 

Victor GUILLER

"It is not unusual for a well-designed experiment to analyze itself" (Box, Hunter and Hunter)
JoffJones
Level III

Re: How can you add control runs to a split-plot design?

Hi @Victor_G 

Thanks for exploring this. I was just wondering how you added the control runs into the design? Did you just type them into data table? It would be useful if you know a solution that will easily scale for very large designs.

Best wishes,

Joff

Victor_G
Super User

Re: How can you add control runs to a split-plot design?

Hi @JoffJones,

 

Yes, in the design proposed, I added the control runs manually. It would also be best considering the randomization of runs inside each whole plots, to avoid having the control runs always at the end of a block.

There might be a solution for very large designs using Candidate set approach, where you define all possible combinations and constraints directly in a candidate runs datatable, and using the Custom Design platform to use these runs as covariates. But there might be some manual work to do after, as I'm not sure the blocking used for cell line factor might be respected, so you might have to further process the resulting design to add block effect. I will try to look more into this topic later.

 

There is also the possibility to use the control runs as baseline for your response (so not directly in the design), and model the difference between experiments and baseline for each specific cell line and whole plot.

 

Best,

Victor GUILLER

"It is not unusual for a well-designed experiment to analyze itself" (Box, Hunter and Hunter)