Hi all, I implemented a simple Cross Contamination tracking feature and was wondering what people in the community thought about having a feature like this fully fleshed out. I added it as an optional flag that users can turn on, similar to the set_tip_tracking() function.
If this flag is enabled, I maintain a set() on each Volume_Tracker object called liquid_history. This stores the names of all liquids that this tracker has aspirated in its lifetime. I define an instance of “Cross Contamination” when a Tip attempts to aspirate from a well that does not have an identical liquid history to that Tip. I implemented a CrossContaminationException that fires if this happens.
I also define an update function, where the liquid_history gets updated on dispense calls to be the union of its current history and the history of the destination well.
This approach is simple and works for my purposes, but I was wondering if the broader community had thoughts on how to improve this/get it distributed to more people. I have tried some test cases, and they’ve worked fine, but I am not familiar with how PLR formally does unit tests. I would love to collaborate with someone on this if anyone is interested. Thanks!