Multithreaded PySeq2500 Available

Hi everyone! I’m a graduate student at the Goff lab at the Johns Hopkins Medical Institute. We also have several HiSeqs and I have extended and refactored @kunal 's PySeq2500 into a multi-threaded system. This enables us to initialize and capture images extremely rapidly.

Available here

I’m also developing a dedicated GUI interface which will be available soon.

Thanks to all the folks who reverse-engineered this system and made this project possible! Would love to get feedback from all of you.

2 Likes

This is really awesome, great work! It’s super useful to know that the camera driver works on Windows 10 too.

I’ve been thinking about speeding things up with a multi-threaded workflow, especially the initialization. A lot of things need to be done in a specific order so it wasn’t a high priority.

What do you plan on using the HiSeqs for? And what are you planning on putting on the interface? I know others are super interested about the interface.

Love your work @chaichontat! And props for fighting with Windows to the point where you can get it going on Windows 10. I admire your persistence. It looks like you’re doing a slide-scanner interface? Do you have any plans to add any other elements to it like zooming and navigation or does what you have on github contain everything you need? I too am curious as to your application. @brainstorm is working on reversing the frame grabber and our hope is to write a linux driver one day with the goal of moving everything over to linux (the rest is just serial ports). In the mean time Windows 10 is a great improvement over Vista.

Thanks! Your code for DCAMAPI really helped! Windows 10 and 7 share the same kernel so I expected that the driver would work. The only caveat is that we need to use the specific driver that Illumina bundled with the machine, which is also on my GitHub. I did try the latest driver from Hamamtsu but the API was different.

We’re working on a (increasingly spatial) transcriptomics approach to neuroscience, so the theme would be multiplexed imaging of brain sections, either proteins and/or RNA. First thing I want to try is serial IHC, similar to what you did in the PySeq2500 paper. We’re also exploring serial FISH and serial hybridization chain reaction.

As of now, we’re testing the HiSeq as a fluorescence microscope and waiting for drilled slides to test the fluidics system!

Thanks! I started on Windows 7 which did not support most of my dev tools… I got @kunal 's code working in Windows 7 as a baseline and slowly switched to Windows 10. Most drivers were automatically installed by Windows. I installed the frame grabber driver manually using Device Manager. (+1 for not worrying about a ransomware attack!).

I just added a very early version of the interface and a GIF of real operation (connected to the Python backend) here.

From what I’ve thought out so far, the primary goal of the interface is to let the user build their imaging ROI, verify focus, adjust laser intensity to prevent clipping, and send basic, interactive commands. Having a visual feed of what you’re doing also gives a peace of mind. Another goal would be to show the state of the fluidics system while running a preprogrammed experiment. Any further image manipulation would be done elsewhere.

The left panel is for navigation with the slide toggle at the top specifying the relative coordinate system. The z values can be changed by clicking on the edit icon. The rest of the page is for viewing images. Eventually, I’ll add tabs for some basic fluidics control.

Would love suggestions on what to add to the interface!

I can’t even take credit for DCAMAPI, most of it was written by researchers in Xiaowei Zhuang’s Lab at Harvard.

We’re also interested in spatial multiomics for neuroscience. We recently got ImmunoSABER working for reading out oligo barcodes conjugated to antibodies, and we want to try to combine it with regular SABER to measure RNA, DNA, and proteins from the same tissue sections. It sounds like we have a lot of mutual interests, we should chat about stuff. Let me know if you and your PI are interested.

Did you talk to Potomac Photonics about getting slides?

Hei all, so good to hear that there is more people working on this project. Wow what great news. I am super curious to see also imagery for what the hiseq is able to do. Is the a possibility to share files?

The API for the latest Hamamatsu driver is different but pretty similar. The main thing is if it’s compatible. We could change the code to match the new API fairly easily. It might be easier for users to install the newer driver.

But if the driver you have in your repo works on Windows10 and is easy to install we should just wait for the linux driver to make a change.

Very cool! We could definitely set up a meeting some time through DM.

We’re also currently in talks with Potomac Photonics for the drilled slides.

You could check out the PySeq2500 paper which has an IF image from the HiSeq.

Hey, just came across this. Very cool indeed! Since this is much more advanced than our Micromanager efforts (or the plan to re-purpose Openflexure software), I suggest we focus on this combo of PySeq2501 and PySeq2501-web as our main development target for ReSeq.

I encourage HiSeq owners / ReSeq backers to try this and file issues and feature requests on this repo (if you are ok with that @chaichontat ?). I can then use that as a “todo” when I have time on a HiSeq (the next time will be end of April – I have booked flights to Berlin!).

Definitely, the more testers the better. I’m currently cleaning up rough edges with @kunal’s inputs but most functionalities are now available.

1 Like

Thanks John for the nerd sniping! :smiley:

The driver code is quite involved and I realised I cannot do this alone, it’d take me too much time… is anybody interested in a private shared Ghidra project to walk this through together?