Questions regarding PyHamilton and VENUS

Hi there,
I’m fairly new to VENUS and Hamilton Robots in general, but have the task to program several protocols in our lab. I’m fine with taking the challenge and went to the Basic and Advanved Training which already helped me a lot. Since I learned programming in Python, this library seems to be the right fit for me, but I have some questions:

Looking at the VENUS software I think it is safe to say, that you can see some of the legacy of this implementation, e.g. the unnessary complicated handling of arrays, storage of variable, no dynamic typing. My question is:
If I wanted to use PyHamilton is it either do the whole method in Python or in VENUS, or can I somehow inject my Python Code into the VENUS software? E.g. defining an array via list comprehension in Python and inject it into my method and then continue with whatever I wanted to do.

Thanks for replies in advance,
best,
Dominik

1 Like

Hi, thanks for your question. The short answer is no, you can’t intermix a custom Venus script with PyHamilton code.

The way PyHamilton works is by running a “universal method” that listens for HTTP packets containing JSON-formatted command strings, which are then parsed and used to assign parameters to liquid-handling functions. So you are already running Venus in PyHamilton, but only that particular method.

If you know Python and Venus you are in really good shape to be a PyHamilton programmer. Let me know if you’d like any help using the library or have any more questions.

Hi Stefan,
thanks for the prompt reply. I’m sure there will be a ton of questions once I start implementing our lab workflows :slight_smile:

1 Like

Hi dominik,

what you are describing would be a good fit for PyVenus (GitHub - sniprbiome/PyVenus: A python interface to the Venus environment, used to program Hamilton liquid handlers).
This would allow you to do just that (e.g. injecting specific variables, arrays, sequences into the Venus environment). The interface in this case are the input/output parameters of submethods.
Have a look at the help file on GitHub for a more indepth description.

That being said I think you are in good hands with PyHamilton :slight_smile:

Cheers,
Ben

Hi Ben,
thanks for this awesome package. I will also take a look at this. Awesome that this community exists, I was looking for sth. like this for Beckman machines forever. Hope I can contribute to this community in the future.

best Dominik