Biomek Scripting Tools

Biomek software don’t have a tip counter define function. You need run all sub-method in a method. It only have a simple tip counter in a method. Unless you can use a script to enter the remaining tips in the tip box. You can’t easily enter tip number in box directly via variables.

Hi Rita,
Any chance you would be willing to share one of your scripts to dynamically add labware?

Hi Ryan,
Sure. Below is a snippet from a VBScript to add twintec plates to the deck. The variable “num_AddLabware” is calculated upstream.

PosDeck = “P11”
For z = 1 to num_AddLabware
Positions(PosDeck).AddNewLabware “EppendorfTwinTech”, World
Positions(PosDeck).Labware.SetAllAmountsTo 0, LeftPod
Positions(PosDeck).Labware.AmountsKnown = true
Next

If you have labware on the deck but you want to programmatically configure the source volume you can do something like this:

Positions(Pipettor.Deck.FindLabwarePosition(“MasterMix”)).Labware.ConfigureAmounts 2000

Where “MasterMix” is the label of the labware on the deck.

If you want different volumes in different wells you can do it this way:
Positions(Pipettor.Deck.FindLabwarePosition(“MasterMix”)).Labware.ConfigureWellAmount 1, vol_MM1

Where it integer is the position in the plate counting left to right and then down.

I hope this helps!
Rita

3 Likes

Do you happen to have an example of this? I haven’t had any luck getting the results back to the biomek software.

Not sure if you had this answered elsewhere, but I was able to get a similar snippit working for dynamic tip placement in my method

Dim t_arrMC200Tip(4)
Dim PosDeck 
PosDeck = ""
For i=0 to 4
PosDeck = "TL"&i+1
t_arrMC200Tip(i) = PosDeck
Positions(PosDeck).AddNewLabware "BC190F_LLS", World
Next

Which generated this:

Setting volumes to 0 using >Positions(PosDeck).Labware.SetAllAmountsTo 0, LeftPod< right above the >Next command will remove tips. I believe Biomek Software uses volumes as one way to track tip count, but no sure how to use this info yet.

Dim t_arrMC200Tip(4)
Dim PosDeck 
PosDeck = ""
For i=0 to 4
PosDeck = "TL"&i+1
t_arrMC200Tip(i) = PosDeck
Positions(PosDeck).AddNewLabware "BC190F_LLS", World
Positions(PosDeck).Labware.SetAllAmountsTo 0, LeftPod <<setting volume aka tipcount>>
Next

image

4 Likes

First post here- I would like to re-visit this. I have dreamed of doing this but like the other person that replied to this post, I have found no reliable way of getting any resulting data back into the software.

1 Like

Unsure about python, but in VBA, I have a method gathering info using the following:

In an excel userform, variables are selected/entered and the following function is made:

Dim MyVariable
MyVariable=12345

Function getMyVariable()
getMyVariable= MyVariable
End Function

Back on the Biomek side of things, this code i used:

If not world.Globals.Browserman.Simulating then
Set ObjShell = CreateObject("Wscript.Shell")
ObjShell.appactivate "Microsoft Excel"
Set xlApp = CreateObject("Excel.Application")
xlApp.DisplayAlerts = False
xlApp.Visible = True
Set xlBook = xlApp.Workbooks.Open("C:\Filepath\MyExcelUserform.xlsm",0,True)
xlApp.Run "ShowForm"
g_myvariable = xlApp.Run("getMyVariable")
xlBook.Close False
Set xlBook = Nothing
xlApp.Quit
Set xlApp = Nothing
End If

Haven’t personally dived into python yet, but maybe there’s some info in this code to help someone else make the connection. I would love to use something other than VBA as well but I’m just not enough of a code wiz to get it done.

All of my vb scripts were in Biomek 4 software of which I no longer have access. Those methods cannot be opened in Biomek 5 software. Anyone have any suggestions for opening and viewing the files? I’ve thought about installing the software on an old laptop and transferring that way.

What Windows version does Biomek 4 require? No matter what it is the easiest way is probably to have a VM with that version of Windows and install Biomek 4, assuming you have the install files.

@jnecr I loaded Bioemk 4 and Biomek 5 on my windows 11 laptop successfully. Biomek 4 will work on windows 10 as well. Let me know if you need help.

1 Like

Thanks guys. I have the install files. I am going to setup a VM for this purpose.

Biomek 4 methods will not open in Biomek 5 software. The only way to transfer a Biomek Software 3 or 4 method to Biomek 5 is to ask your Beckman Automation FAS to do it as a courtesy. The FAS has access to an internal, server only tool that will perform that transfer. Some Biomek 4 steps don’t transfer at all in Biomek Software, such as Pin Tool steps, Enhanced Selective Tip Option, and Biostacker steps.

1 Like

Is that really the only way?

Not user friendly? Fits the MO as I’ve experienced it so far.

1 Like

If anyone is familiar with the Beckman Power User’s group that Beckman shut down during COVID, I’m part of a Discord server that is looking to revive this aspect of scripting and programming Beckman Coulter liquid handlers. We’re looking to expand the server for lab professional to use as a resource for learning how to script methods and really customize how they use the Biomek Software. We are still getting things started again, but we have a good amount of knowledge to share if you have questions.

If anyone would be interested in learning more about scripting or using Biomek software, please come join us!

Automation Power Users Discord Invite

Here’s a little sample of a custom HTML prompt we’ve setup for a lab that uses a Biomek i7 for prepping and enriching DNA from wastewater samples for Illumina NGS runs. It dynamically generates the table based on the step a user selects and calculates and updates data in Biomek to be used by the method.

7 Likes

@DDeschenes let’s join this party!

2 Likes

Happy to have you!

I stumbled upon this forum while searching online for a way to integrate Biomek ActiveX components with Visual Studio. I’ve found hints it’s possible, but not anything that actually works…yet. If anyone has done this before I’d really appreciate learning how you did it!

1 Like

I’ve done some ActiveX integrations before but only in Python. Could you clarify what you mean by integrating them with Visual Studio? I think what would be more relevant is knowing what language you are trying to use. I am not a fan of ActiveX interfaces and the companies that use them often have very incomplete documentation on top of it being an already deprecated framework.

Here’s how I do it in Python. The hardest part is knowing what ProgID the object has. You can view a list of ProgIDs in your Registry Editor under HKEY_CLASSES_ROOT.

Once you know the ProgID you can use the pywin32 library to interact with it.

From command-line:
pip install pywin32,

From python:

import win32com.client
obj = win32com.client.Dispatch("AgilentCentrifugeCOM.AgilentCentrifugeCOM")
obj.ConnectWithoutLoader('LabCentrifuge', 0)

There’s a few places you might hit bumps because it’s a deprecated framework. I’ve done this a few times though so I might be able to help for whatever you run into.

Here’s an analogous procedure in C#:

Could you please send the link again? It has expired.

1 Like

Sure! Here you are:

APU Invite

1 Like