Reading Sequences via JSON

Hey Stefan

I am trying to build an NTR extension to pyhamilton. I know that pyhamilton is mostly sequence independent, but to simplify my life I am currently building this implementation using sequence names. I have been looking at your CORE Grip functions as an example, as those seem to be able to take sequence names as arguments. An image of my implementation in STAR_OEM_noFan is in the image below:

The first three line items are the sequence names that I hope to pass. However, analysing the trace at runtime indicates that the sequences are not being referenced properly, as seen in the image below.

Is there perhaps something wrong with my implementation of DevGetSequenceRef? I can at least confirm that I am invoking a response from the STAR_OEM_toolkit_NTR.smt that I created, but it all falls apart rather quickly. Something to note is that the NTR’s run across numerous pieces of labware that cannot be renamed, as they are stacks.

All my relevant files can be found in the master branch of my repo. My deck files and the python method file can be found here.

1 Like

Ah interesting, this could be pretty involved but I’ll try to take a look ASAP

1 Like

Ok I looked through the NTR library to see how it works. I definitely think I could implement what you need here in Python. Can you describe the functionality you want to see implemented? Like a set of functions, classes, behavior, etc. Or just a high-level overview “I want a method that does this”.

I’d be more than happy to try making this.

1 Like

Hey Stefan, thanks for getting back to me on this.

I essentially require all the functionality that the library provides. This basically includes:

  1. Calling up the Load GUI so that an operator can define how many tips are present (in the event that more tips have been loaded after the previous method). Tips stacks are generally classified as being used for the 96-head or for the channels.
  2. A get_tips function for both the 96-head and the channels. Perhaps we could just use the existing function.
  3. Tip counting functionality to keep track of where we are in the tip stacks
  4. A function that discards empty tip racks to reveal the fresh tips that exist underneath. This is generally called at the end of methods to “clean up” the deck. But this function is also automatically called whenever the robot requires more tips but all the available stacks are empty.

I realise this can be quite confusing if you’re not familiar with the NTRs. I’d be happy to hop on a call and explain everything with tip racks in hand, or to perhaps take videos of the instrument executing steps from the library. Just let me know if there’s anything I can do to help. I’d also love to see how you go about building this!

1 Like

Ok that doesnt seem too bad, Ill get started on it.

1 Like

You’re a legend dude. Let me know if you need any additional info or if there’s anything I can do to help you out!

1 Like