# CombGeneric: Combinatorial Design for Experimental Design

Dennis Shasha
Courant Institute of Mathematical Sciences
Department of Computer Science
New York University
shasha@cs.nyu.edu
http://cs.nyu.edu/cs/faculty/shasha/index.html

# Motivation

In this joint work with Professor Gloria Coruzzi's lab, we have used two-factor combinatorial design to generate a well-spaced random set of initial experiments called the no pivot set. Based on the results of those experiments, we can then generate pivot sets to focus on the effects of particular variables. We have a paper coming out in Systems Biology discussing the biological applications.

To generate a no pivot set, a typical control file looks like this:

```illumination dark light
sucrose 0 30 60 90
nitrate 0 5 10 15
time 1 2 4 8 16
organ root leaf
```
which says that the input attribute illumination has two values (dark and light), sucrose has four values etc. Invoking this by typing
```k combgeneric combgenin
```
will produce, in the file tmpexpercsv, the following no pivot two factor design:
```num,illumination,sucrose,nitrate,time,organ
1,light,90,10,16,root
2,light,0,15,16,leaf
3,dark,30,5,16,leaf
4,light,60,10,8,root
5,dark,60,0,4,leaf
6,light,30,0,1,root
7,dark,90,0,8,leaf
8,dark,0,10,1,root
9,dark,30,10,2,root
10,dark,90,15,2,root
11,dark,0,0,2,leaf
12,X,60,15,1,leaf
13,light,30,10,4,leaf
14,light,60,5,2,root
15,X,90,15,4,root
16,X,0,5,4,X
17,X,90,5,1,X
18,X,30,15,8,X
19,X,0,5,8,X
20,X,60,0,16,X
```
where the X represent don't cares.

If a pivot, say on illumination is desired, then the input looks like this:

```illumination dark light
sucrose 0 30 60 90
nitrate 0 5 10 15
time 1 2 4 8 16
organ root leaf
pivot: illumination
```
Invoking in the same way as above yields:
```num,*illumination*,sucrose,nitrate,time,organ
1,dark,60,15,4,leaf
2,dark,0,15,8,root
3,dark,90,0,4,root
4,dark,30,5,4,leaf
5,dark,60,0,2,root
6,dark,90,5,8,leaf
7,dark,30,0,8,root
8,dark,0,0,1,leaf
9,dark,90,15,1,root
10,dark,0,10,4,root
11,dark,0,5,2,root
12,dark,0,5,16,root
13,dark,30,15,16,leaf
14,dark,30,10,2,leaf
15,dark,60,5,1,leaf
16,dark,90,15,2,leaf
17,dark,60,0,16,root
18,dark,90,10,16,root
19,dark,60,10,8,root
20,dark,30,10,1,root
21,light,60,15,4,leaf
22,light,0,15,8,root
23,light,90,0,4,root
24,light,30,5,4,leaf
25,light,60,0,2,root
26,light,90,5,8,leaf
27,light,30,0,8,root
28,light,0,0,1,leaf
29,light,90,15,1,root
30,light,0,10,4,root
31,light,0,5,2,root
32,light,0,5,16,root
33,light,30,15,16,leaf
34,light,30,10,2,leaf
35,light,60,5,1,leaf
36,light,90,15,2,leaf
37,light,60,0,16,root
38,light,90,10,16,root
39,light,60,10,8,root
40,light,30,10,1,root
```

# Installation

The combinatorial design software runs in a high performance interpreted environment called K.

# Related Work

Our papers give several references of similar work such as Taguchi designs. The direct inspiration comes from the AETG work on software testing from Telcordia. Here is a link.

# Support

This work was partly supported by the U.S. National Institutes of Health (Grant no. GM32877) by the U.S. National Science Foundation (Grant no. IIS-9988636, MCB-0209754) and a U.S.National Research Service Reward (grant no. GM65690). Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the supporting organizations. This support is greatly appreciated.