Using TableMaker

Dave Matthews, May 1995

The hardest thing about the TableMaker is getting started, knowing which fields and buttons need to be used first. Then what to do next?? Here's a step-by-step introduction.

Let's build a table of all the GrainGenes Probe objects that have a value for the tag PCR_primers. In the instructions below, all clicking is done with the left mouse button except as noted.

Step 1. Click the right mouse button in the "Class..." field. Choose the desired class of objects from the drop-down menu. Here we choose Probe.

Step 2. Click the "Create Definition" box. This creates a second set of fields, subtly different from the first set, in which to define what data should go in Column 2 of the table.

Step 3. In the second set of fields, click the "Tag:" box. This calls up the "Tag chooser" window. Note that the tags offered are those from the model of class Probe. This is because Column 2 is "Constructed from" Column 1, which contains Probe objects.

Step 4. Click twice on the word corresponding to the data you want to appear in Column 2. We want the value of the PCR_primers field, so we click twice on the word "?Text" following the word "PCR_primers".

The TableMaker responds by filling in two fields in the definition of Column 2: the value of "Tag:" and the data Class corresponding to that tag. (The field to the right of "Tag:" is keyboard-editable but don't do it; use steps 3 and 4. Otherwise the value in the Class field won't be set properly.)

Step 5. Click the "Search Whole Class" box. The result is a two-column table of 2948 lines, containing all the probes and -- for those probes which have PCR_primers values -- a line for each of those values.

Step 6. To omit all the lines that have no value in Column 2, switch the TableMaker window back to its column-definition mode by clicking the "Define Table" box, and click on the word "Optional" in the definition of Column 2. The word changes to "Mandatory".

And now clicking "Search Whole Class" produces only the desired lines.

Next steps

There, that wasn't so hard was it? How about a little more? Once you've got a table there's almost always another column of information that would be interesting to add to it. Want to see all the Locus objects for which Probes with known PCR_Primers exist?

"Create Definition" again, click the "Tag:" box, and choose the value of the tag Locus. Since the values in Column 2 are quite long, give this column a value of 50 in the Width field.

The result includes some lines with no value in the Locus column, which we could fix by making Column 3 "Mandatory".

Note that there are also multiple lines containing the same Locus names. To get a list of unique Locus names for which we know PCR_primers:

1. Click on one of the values in Column 2 to select it, then click the "Switch" box. This switches the positions of Columns 2 and 3.

2. Click on the word "Visible" in the definition of the PCR_primers column (which is still Definition 2). "Visible" changes to "Hidden". Now "Search Whole Class" shows only the Probe and Locus columns, and the duplication of Locus entries is gone.

Using Condition

Another embellishment would be to restrict the table to only the "ABC" probes. Type "ABC*" into the Condition field for Column 1, hit Return, and change Optional to Mandatory.

You can also restrict a column of numeric values to a desired range. To specify this kind of restriction, use "%" followed by the column's number to substitute it as a parameter in the Condition field. For example, for a table of 2_Point_Data records for which Distance < 10, say "%2 < 10" in the Condition of column 2 containing the Distance values:

Now that you've been through one TableMaking, you're ready to tinker on your own. Even better, now everything in the ACEDB online help page should make sense. Happy Tables!

To see an addendum on how to display data from Tags with more than one data field, click here.