Biomek 5: Coding for variable sample number

Hi everyone! Our lab received a used Biomek i5 about a year ago, and I’m the sap who has stepped up to try and get this thing running! I have minimal coding experience, but I’ve been going through the tutorial and have a very rudimentary pipetting method running.

We would like to use it for our RIA assays that require tube to tube transfer. The current method will just run until the end of the group, and I would have to tweak each group of 4 samples until I reach the end.

We have a working Hamilton that we are able to scan the barcodes, and it calculates how many tubes it would need to complete the assay. How would I go about programming the i5 to do something similar? We have a script to create .w files with the accession number, if that is helpful. Although I’m a newbie, I’m open to researching programming languages, I just don’t know where to start!

Hi,

Welcome to Biomek5 programming! As someone who got their start in Automation, the Biomek is what allowed me to learn liquid handling programming. It’s very nice to use, especially when you’re just getting started.

First thing’s first is that setting global variables in the Biomek5 program will be your best friend. Most of them are pretty straightforward, and wont require you to do any type of advanced programming or variable type declarations. For ease of use, I like to make a “group” in the program for all my variables I either use or create and go from there. This might not be specifically what you need right now, but its best practice overall.

Before I get into any specifics it seems to me like you might want to look into the use of the "LOOP" and "LET" steps in conjunction with each other. You can find more details in the Biomek5 Software Reference manual in sections 24-8 and 26-2 respectively. You would use the LOOP step to perform a specific set of liquid handling operations a certain number of times (determined by the LOOP step's variable and use the LET function to declare the variable conditions for that loop during each iteration.

For Example:
LOOP variable = reps - (This variable increments by 1 each iteration of the loop)
Total amount of loops = 4
LET volume (variable) = reps * 2 - (volume’s value is set anew during each loop iteration based off this formula)
Loop 1: volume = 2
Loop 2: volume = 4
Loop 3: volume = 6
Loop 4: volume = 8

Regardless of your actual solution for this particular issue, understanding loops in any setting will help you program regardless of the language you are using. This is the Biomek’s version of it.

As for the specifics of your issue, I guess I would need a couple questions to get started, just because I’d like to get a better handling on what you have an what you’re trying to do.

  1. Is your i5 set up with a span-8 head or 96-MC head?
  2. What is your input to the method? Do you have a scanner or are you inputting samples via file like a .csv?
  3. What are the general liquid handling steps you are running?
  4. What are the conditions you want to tweak per sample group?

I might be able to point you in a more specific direction if you can give me this info.

Until then, remember to use the simulator at every opportunity, it is the single greatest learning tool in the software.

Best,

Doug

1 Like

Could you please provide more details, and if possible, include an example of a import file?

What exactly do you mean by “tweak each group of 4 samples until I reach the end”?

What type of labware or rack are you using for the tubes? Could you share the name of the rack?