cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Choose Language Hide Translation Bar
Fiona_Baines
Level II

How to create all possible plate layouts for an assay (4cols,4rows and 4cols,6rows)?

I would like to use JMP to create all of the possible plate layouts for a biological assay:

 

1. where the plate has 4 cols and 4 rows and 8 samples are duplicated on the plate (example illustrated below)

2. where the plate has 4 cols and 6 rows and 12 samples are duplicated on the plate

 

Is this possible using the JMP DoE platform?

 

one example layout for a 4x4 plate with 8 duplicated samples:

Fiona_Baines_1-1701427313172.png

 

1 ACCEPTED SOLUTION

Accepted Solutions
Victor_G
Super User

Re: How to create all possible plate layouts for an assay (4cols,4rows and 4cols,6rows)?

Hi @Fiona_Baines,

 

I think your main design could be generated very easily with the platform "Custom DoE" :

  1. Specify your 2 categorical factors "Col" and "Row" with 4 levels :
    Victor_G_0-1701427825196.png
  2. Specify a model with main effects and the 2-factors interaction. You can choose the minimum number of runs (16) to have one experiment for each of the location points like in your graph, else the recommended default number 32 will provide 2 runs for each position.

Example with the 16-runs DoE :

Victor_G_0-1701432705295.png

 

Here is the script to get to the minimum number of runs DOE :

DOE(
	Custom Design,
	{Add Response( Maximize, "Y", ., ., . ),
	Add Factor( Categorical, {"1", "2", "3", "4"}, "Row", 0 ),
	Add Factor( Categorical, {"A", "B", "C", "D"}, "Col", 0 ),
	Set Random Seed( 1171712789 ), Number of Starts( 1 ), Add Term( {1, 0} ),
	Add Term( {1, 1} ), Add Term( {2, 1} ), Add Term( {1, 1}, {2, 1} ),
	Set Sample Size( 16 ), Simulate Responses( 0 ), Save X Matrix( 0 ), Make Design,
	Set Run Order( Randomize ), Make Table}
)

Concerning the two replicates situation, you can specify in the Custom design platform the number of runs you want (higher or equal to the minimum required number, in your case 16, so you could create a 24 runs design (with 8 replicate runs) or a 32 runs design (with 12 replicate runs), but you may not have the possibility to influence where these replicate runs will be distributed.

Example with 8 duplicate runs :

Victor_G_1-1701433256672.png


Another option is to generate the design with the minimum number of runs (16), and then manually add (copy-paste) on the datatable the experiments you want in duplicate.

 

In your graph, I'm not really sure to visualize/understand where are the duplicated runs. Could you change the marker to identify more easily the runs ?

 

Hope this answer will help you,

Victor GUILLER
Scientific Expertise Engineer
L'Oréal - Data & Analytics

View solution in original post

3 REPLIES 3
Victor_G
Super User

Re: How to create all possible plate layouts for an assay (4cols,4rows and 4cols,6rows)?

Hi @Fiona_Baines,

 

I think your main design could be generated very easily with the platform "Custom DoE" :

  1. Specify your 2 categorical factors "Col" and "Row" with 4 levels :
    Victor_G_0-1701427825196.png
  2. Specify a model with main effects and the 2-factors interaction. You can choose the minimum number of runs (16) to have one experiment for each of the location points like in your graph, else the recommended default number 32 will provide 2 runs for each position.

Example with the 16-runs DoE :

Victor_G_0-1701432705295.png

 

Here is the script to get to the minimum number of runs DOE :

DOE(
	Custom Design,
	{Add Response( Maximize, "Y", ., ., . ),
	Add Factor( Categorical, {"1", "2", "3", "4"}, "Row", 0 ),
	Add Factor( Categorical, {"A", "B", "C", "D"}, "Col", 0 ),
	Set Random Seed( 1171712789 ), Number of Starts( 1 ), Add Term( {1, 0} ),
	Add Term( {1, 1} ), Add Term( {2, 1} ), Add Term( {1, 1}, {2, 1} ),
	Set Sample Size( 16 ), Simulate Responses( 0 ), Save X Matrix( 0 ), Make Design,
	Set Run Order( Randomize ), Make Table}
)

Concerning the two replicates situation, you can specify in the Custom design platform the number of runs you want (higher or equal to the minimum required number, in your case 16, so you could create a 24 runs design (with 8 replicate runs) or a 32 runs design (with 12 replicate runs), but you may not have the possibility to influence where these replicate runs will be distributed.

Example with 8 duplicate runs :

Victor_G_1-1701433256672.png


Another option is to generate the design with the minimum number of runs (16), and then manually add (copy-paste) on the datatable the experiments you want in duplicate.

 

In your graph, I'm not really sure to visualize/understand where are the duplicated runs. Could you change the marker to identify more easily the runs ?

 

Hope this answer will help you,

Victor GUILLER
Scientific Expertise Engineer
L'Oréal - Data & Analytics
Fiona_Baines
Level II

Re: How to create all possible plate layouts for an assay (4cols,4rows and 4cols,6rows)?

Hi @Victor_G 

 

Many thanks for replying to my post.

 

The duplication comes from the fact that each sample will appear on each plate two times. I've used different symbols in the graph below to try to make things more obvious. I'm trying to figure out how to generate a data table which contains all of the possible plate layouts (four unique plate layouts are illustrated below). 

 

Fiona_Baines_0-1701435718508.png

 

Victor_G
Super User

Re: How to create all possible plate layouts for an assay (4cols,4rows and 4cols,6rows)?

Sorry for my misunderstanding @Fiona_Baines, I think I better understand now your use case.
By using this setup for the DOE (and using only main effects in the model) :

Victor_G_0-1701443064206.png

 

And by specifying optimality criterion as Alias-Optimal, increasing design search time and number of random starts (to converge towards the design you want), I am able to have the design you expect :

Victor_G_1-1701443217232.png

Here is the script is you want to reproduce it :

DOE(
	Custom Design,
	{Add Response( Maximize, "Y", ., ., . ),
	Add Factor(
		Categorical,
		{"S1", "S2", "S3", "S4", "S5", "S6", "S7", "S8"},
		"Treatment",
		0
	), Add Factor( Categorical, {"1", "2", "3", "4"}, "Row", 0 ),
	Add Factor( Categorical, {"A", "B", "C", "D"}, "Col", 0 ),
	Add Factor( Categorical, {"1", "2", "3", "4"}, "Blocking", 0 ),
	Set Random Seed( 1635750691 ), Number of Starts( 77 ), Add Term( {1, 0} ),
	Add Term( {1, 1} ), Add Term( {2, 1} ), Add Term( {3, 1} ), Add Term( {4, 1} ),
	Add Alias Term( {1, 1}, {2, 1} ), Add Alias Term( {1, 1}, {3, 1} ),
	Add Alias Term( {1, 1}, {4, 1} ), Add Alias Term( {2, 1}, {3, 1} ),
	Add Alias Term( {2, 1}, {4, 1} ), Add Alias Term( {3, 1}, {4, 1} ),
	Set Sample Size( 64 ), Optimality Criterion( "Make Alias Optimal Design" ),
	Simulate Responses( 0 ), Save X Matrix( 0 ), Make Design,
	Set Run Order( Randomize within Blocks ), Make Table}
)

And attached the datatable with graph script.

There might be a more straightforward and easier way to do this design, but this option can still be helpful.

 

This design should better fit with your expectations

Victor GUILLER
Scientific Expertise Engineer
L'Oréal - Data & Analytics