Documentation for ArrayMaker Version 1.8.5

Please send any bugs or complications to

Installation Notes: Make sure you have previously installed the Jogger application before installing the ArrayMaker application.

The Main Screen:

The main screen of ArrayMaker is shown in Figure 1. Aside from the menu buttons on upper right of the window, there are three panels (1) displaying the current position of the stages in encoder count units. These boxes will not become active until the controller is connected. A third panel (2) displays any communication errors. This should normally read zero.

Connecting to the controller

First, turn on the power switch to the TQ-10 amplifiers. After starting up ArrayMaker, connect with the controller by clicking on the Connect button at the top left of the window. You will see a warning asking you to make sure the travel path is clear. Heed this warning! i.e., make sure the path is actually clear instead of developing the habit of simply clicking through this message. If all is well, the stages will begin their homing sequence. As described earlier, the home positions are near the motor end for the X and the Y stages, and towards the middle of the travel length for the Z stage. The Z stage will first move up to find the reverse limit switch and then move downward to home. There will be a period when there will be no apparent movement of the stages, but in reality, they haven’t found their home positions yet. You can actually see the screws turning during this time when the motors are fine-tuning their positions. The 3 boxes at the top left of the window tell you the position of the stages in encoder counts and these will also be changing. Once all three stages have found their home positions, they immediately move to the rest/ready positions. The Y and Z stages will move to position the print head above and slightly to the left of the dry station and the X stage will move away from the motor to nearly the limit of its travel and position the platter so that the microtitre plate area is near the clean station. If you have chosen to make an acrylic cover for your platter, the platter should be completely under the cover. At this point the buttons on top right the main window should become active and you can choose from among the different options.


Before proceeding further, it is necessary to make sure that all the positions are correctly aligned. Clicking on the Align button on the main window takes you to the align window (Figure 2). Here you can the position the printing tips at the wash and dry stations, the printing plate, the first slide on the platter, etc., and save these positions. Clicking on one of the vertical row of buttons (1) immediately moves the stages to the last saved position for that station. Therefore, these buttons can be potentially dangerous if the configuration of objects on the table have been altered with respect to the positions last stored. Typically, the main danger is that the printing tips will come down somewhere where they are supposed to be. For this reason, it is generally adviseable to click the "Reset Z" button (4) before proceeding with the alignment on any of the positions. Pushing this button resets all the Z positions for all the stations to the "ready" position: the default position to which the stages go after homing.

After pushing an alignment button, the arrayer will immediately move to the position indicated in Position Panel (2). The stages can then be moved in various increments using the arrow buttons in the top left corner (9). The forward and back arrows move the X stage (i.e., the platter), the right and left arrows move the Y stage and the up and down arrows move the Z stage. The step size selector below the arrows can set the amount of movement (8). This is in encoder counts; 1 encoder count equals approximately 1.3 microns for the X and Y axes and 0.6 microns for the Z axis.

For example, the usual routine for aligning a position, such as the Rinse position, is as follows:

Remove the printing tips, if present. If the previous aligned position for the rinse station is unknown, click the Reset Z button to make sure that the z-stage will not come down on anything inappropriately. Next, click the Rinse button in the Align panel. The arrayer should move to the last saved position for the rinse station. Next, to put the y stage over the rinse station in the correct positon (the x stage should have nothing to do with this) move the y stage using the left and right motion arrows. I suggest beginning with a reasonably small step size, such as 500. When the y stage is correctly positioned over the rinse station, lower the z stage down to the correct height using the up and down motion arrows. You may discover that after you have lowered the z stage that the y stage is not as perfectly positioned as you may have wished. Therefore, you may wish to make some fine adjustments to the y stage. When the z stage is at any height other than the ready position, it will automatically move to the ready position if any one of the left, right, forward, or back motion arrows are clicked. The reason for this is to prevent the user from accidentally ramming the z stage or printing tips into objects on the table. After making fine adjustments and lowering the z stage back down to the appropriate height, click the "Set" button on the Position Panel (5). Notice that the numbers in the position panel for the rinse station are now set to the current position of the arrayer. To save these adjustments to disk, click the "Save" button. This file that stores these positions is called "motor.cfg." Under normal circumstances, it should never be necessary to edit this file by hand. Now, repeat this process for the dry station.

Remember: If you are not absolutely positive about where the stages will go, click the "Reset Z" button to automatically set all Z positions to the "ready" state. Also, keep that emergency stop button handy.

For aligning the 96- or 384-well printing plate, place the plate so that well A1 is at the top left corner (away from the X and Z motors) and that it is snug against the top left corner of the tray using the M3 screws. The printing tips should go down into the center of the 4 or 16 wells in the top left corner of the plate, almost all the way to the bottom of the wells.

For 384 well plate users: After aligning the print plate, click the "Callibrate Plate" button (6). Your screen should like figure 3. Select the number of tips you will be using. The position of the last load in the plate is highlighted with a red spot. Remove your printing tips. Click the "Move to last load" button (1). The arrayer will move to the last load of the plate. Insert your printing tip. If the alignment is not perfect, make it so by using the motion arrows, just as you would with any other position. When you have finished, click the ‘Calculate correction" button (2). The values of the correction factors are shown in the panel. Next, click the "Save correction" button (3), and these values will be saved to disk. This feature compensates for the fact that most 384 well plates do not have exact 4.5mm center-to-center well spacing. It is recommended that the plate be callibrated whenever you are printing with a new brand or batch of plates.

Back to Figure 2. Aligning the print position is the most critical part and something you’ll need to do almost every time you do a print run. Put a clean slide on the first position on the platter. Put a piece of bench tape on either end of the slide to affix it firmly to the platter. Click on the Align-Print button without tips and after the stages have finished their movements, put a blunt tip in. When aligned, the Z stage should be set that the tips are just touching the surface of the glass slide. The first tip should be about 1 inch down from the top of the slide (the end away from the clean station) and about 3 mm from the left edge of the slide. If you plan on printing two identical arrays in tandem on the same slide, you should move the Y position on the print station closer to the end of the slide, about 1/2 inch from the top edge.

The blot pad is useful in circumstances when the outside of the tip collects extra liquid (because of changes in the salt concentration etc.). The blot pad is also a glass slide or larger piece of glass that is taped to the area just above the plate. Set the positions so that the printing tips are at the top left corner of the blot pad (facing the arrayer from the side the computer is on). After all the positions are set, save the recorded positions by clicking on the Save button, so that the positions are recorded in the "motor.cfg" file. If you fail to click the Save button, none of your alignments will be remembered when you restart the program.

The last component of the align window is the option at the bottom to set the Z heights for individual slides or areas of the printing platter. This is extremely useful if there is slight unevenness in the height of the platter or individual slides, because the Z height needs to be set very precisely. In theory, you could set the z-position for every single slide individually, but this is rarely necessary. It usually suffices to set the z-position for contiguous blocks of slides, 5-10 slides at a time The way it works is as follows: Once the print position (for the first slide) is set, you can command the arrayer to go any slide position by entering the number in the "Go to Slide" box (7).. The slides are numbered from 1 through 137 in a zig-zag manner. For instance it may be useful to adjust the Z height at the corner of the platter, which is slide number 16. Enter the numbers 1 thru 15 in the set height part of the window and click on the "Set Height" button (7) to set this height for the first 15 slides. Go to slide 16 and check the height of the printing tips at this position. Adjust the Z setting if necessary, then set this height for slides 16 though, say 24. Move on to slide 25, check if the height needs to be adjusted again , and repeat the process till you have covered the platter. This process will allow you to make a ‘height map’ of the entire platter that can be written to the config file. All the platter positions are relative to the first slide, so as long as the platter does not undergo any changes, the stored positions are good even if you set the Z position for the first slide slightly differently, for instance if the height of the tips changes for any reason. The file where these values are stored is in "platter.cfg" and it contains the x, y, and z positions for every slide on the platter. Not only does this file determine where each slide, but it also determines the order in which the slides are to be printed. If you have custom platter, with a different layout than ours, it is easy to modify this file to adjust to your situation. The x,y positions in this file are all absolute relative to the home position, but the z position is relative to the z-height set for slide number 1.

Check the relay connections by turning on the rinse station and dry station using the On/Off buttons at the top right(3).

Test print

Here’s where you can actually see the fruits of your labours in terms of an actual microarray that looks just like the real thing. Test printing is a vital part of making arrays and you’ll spend a lot of time with this window. This window allows you to print hundreds or thousands of spots on one slide, after loading DNA once or a few times from the printing plate. The array parameters are set in the left-hand side of the window. Refer to Figure 4. Here is a box-by-box description of what each means:

(1) The total number of taps refers to the total number of times the printing tips touch down on the glass, or the number of spots printed by each tip. Thus if you perform a test print with 16 tips and the number of spots set to 100, you will get an array with 16 x 100 spots. For really cool looking test print arrays that you can proudly display to visitors, go for at least 1000 spots, preferably more. One can also use this to "stress test" printing tips, by letting the system go for 9,999 spots several times in a row. Whenever you put a slide on the platter for printing, be sure to tape it down.

(2) The number of loads refers to the number of times the arrayer will go back to the print plate to refill the tips with DNA solution. Thus, if your are going for 1000 taps, and the number of loads is 2, then the tips will be refilled at the 500th tap.

(3) The sector width is the number of taps printed on an individual row, for each tip. If you would like an array pattern with 20 spots across (total), and you are using four tips, then set the sector width to 10.

(4) The spacing is the distance, in microns, between the centers of the spots. Based on the sector width you have chosen, and the number of tips you have selected (12) the program will suggest a spacing. Setting the spacing to a number greater than the suggested spacing may result in spots from one sector overlapping with those from and adjascent sector.

(5) The Load Number is the position in the printing plate which will be used for the test print. A 384 well plate, using a print head with 16 tips, has 24 loads total.

(6) (discussed above)

(7) The slide number refers to the first slide onto which test printing will begin.

(8) The number of slides refers to the number of times the test print will be repeated on subsequent slides after the one designated in the slide number box.

(9) The rinse button will instantly send the arrayer to the rinse position, and turn on the rinse station relay. Click the button again to turn off the rinse station and send the arrayer back to the ready position.

(10) This panel allows the user to move the arrayer around to various positions, such as the rinse station, dry station, and first plate position. The small green buttons will turn on the rinse station and dry station respectively when clicked.

(11) The Wash and Dry button does a cycle of rinses and dries according to the parameters set in the panel above (13).

Print Array

Figure 5. This is the window that lets you print real microarrays. You’ll be using this when you have to print a large number of different DNA samples on to many slides. The Quad width, spacing, wash, dry, and rinse times are the same as in the test print window(2-3). The number of plates is the total number of 96 or 384-well plates that you will be printing (1). Remember however, that the quad width should be something that will actually allow you to print your desired number of spots without the top quads running into the bottom quads. The software has no way of ascertaining this. Thus, for an array of 10000 elements using 4 tips, the quad width should be greater than or equal to 50 (sq. root of 10000/4). The type of plate (96-well or 384-well) and the number of printing tips can be chosen using the radio buttons.

You can print anything from 1 to 137 slides and this can be set using the number of slides option. If you are printing 137 slides, you just need to check the Entire platter check box and the number of slides will automatically be set to 137 (7). The slides are numbered in linear order. You can choose to print two identical side-by-side arrays on each slide by checking the Duplicates box(7). Remember to align the tips to the slides appropriately (Align-Print on the Align window) if this option is selected. Some printing tips may not be able to print 137 even spots, in which case you might want to check the Refill option(7). This makes the tips go back to the printing plate for a refill of DNA halfway through the total number of slides being printed. You can choose whether or not to use the Blot pad by checking the box for it(4). The length of the blot pad can be set depending on what size of glass you are using as a blot pad. The length of 50000 corresponds roughly to a standard glass microscope slide. The number of times the tips touch the blot pad before going to slide #1 can also be set, depending on the characteristics of your DNA solution and tips. The program will ask you to replace the blot pad at the end of every plate.

The numbers in panel (5) set the wash parameters, and instruct the arrayer where to begin printing. Thus, you can start printing from any plate, slide, or load of a plate by manually entering the appropriate numbers. Since there is a one-to-one correspondence between a location on the glass slide and a plate/load, you will be safe from the mistake of printing two different DNA samples in the same place. (unless the wrong plate in loaded on the platter). After the arrayer finishes printing a given plate, these numbers will be updated to reflect the current position.

The blue numbers in panel (8) display the current coordinates of the arrayer. Which plate is being printed, which load, slide, and where in a particular sector the next spot will be printed. In addition, the speed of the arrayer is displayed here. Note that it is a multiple of the number of tips you are using. Also, the time to the next plate is displayed here in large digits.

If all this is clear, you are ready to print real microarrays. Place your glass slides on the platter and use 1/4-inch tape to affix them to the platter. Place the tape along each edge of a column of slides, not on top of the dowels. Use bits of cross tape to keep the column of slides from moving laterally. Do a few test prints, get your printing plates together and go for it!


Figure 6. This window is used for changing the some of the printing and stage parameters. The default values should not be changed unless you have good reason to do so and you know what you are doing. You can set the speed, accelaration and software limits on the stage travel for each of the stages using the top set of windows. The Travel Height for Sonicator can be changed if you have a taller sonicator than recommended. The Z Print Ceiling Offset determines the distance the tips are raised between successive slides during a print run. Duplicate Offset determines the separation between duplicate arrays if you choose that option. You can reduce this if your array is less than 1.8 mm vertically. The two other windows at the bottom refer to the delay constant for commands going from the software to the controller and the error limit that determines when the controller stops if the motions are not completed within the predicted time. As the warning says, do not mess with these numbers unless you are intimately familiar with how the machine works.


Figure 1.

Figure 2


Figure 3



Figure 4

Figure 5

Figure 6