Hi everyone, does anybody already have some Nextfl...
# microscopy
f
Hi everyone, does anybody already have some Nextflow implementation to do RNA spot calling in a pipeline (for RNAscope type data)? @Clarence Mah I remember you were planning to work on something like this? @Konrad Rokicki I know you have the EASI-FISH pipeline but that seems like an overkill for a collection of small RNAscope images with 3 channels 🤷? There have been two new, interesting methods recently that look promising: https://www.biorxiv.org/content/10.1101/2024.02.01.578426v1 https://github.com/UFISH-Team/U-FISH I am just wondering if anyone has some Nextflow code or pipeline for this type of analysis. We want to process some RNAscope data for a collaborator and will likely write a quick custom nextflow pipeline (outside of nf-core) to do what they need otherwise cattyping. If any of the processes can be useful, we could make them into nf-core modules after / during if it can be helpful for anybody.
c
i don't have any experience with RNAscope data unfortunately, and the multiplexed pipeline is was working on was put on hold (not enough manpower). but the processing steps are likely the same, and i'm happy to chat if it helps, plenty of fun tools as you are aware ☺️ i believe RNAscope has their own proprietary analysis software as well if your collaborators want to use that?
k
I agree that the EASI-FISH pipeline isn’t currently suited to this. We would like to develop it into something that is more general but it’s moving slowly. One thing that I will have very soon is a standalone Nextflow pipeline for running RS-FISH, which might be worth trying on your data (I’ll post it here when it’s ready). The new machine learning methods look very promising but we haven’t tried them out yet.
f
Very cool, thanks for the info @Konrad Rokicki! What will the RS-FISH nextflow pipeline be able to do beside run RS-FISH?
k
Nothing, that will just be a very simple pipeline to detect spots in images. But we are building it from nf-core-style modules which can be then included in other pipelines. Our goal is to reimplement the EASI-FISH pipeline using nf-core-style modules, and allow them to be used in other pipelines.
🚀 2
🤩 1
t
I’ve got a workflow just for ISS decoding (with some bespoke setting to be changed). And I was just using
TrackPy
in the pipeline. Though, I’d recommend spotiflow for peak-calling in RNAscope. We will be switching from Trackpy to spotfilow as well. Since from the pilot tests that I tried,
spotiflow
gives more robust results with just the pretrained model and no parameter tuning. One side note is that spotiflow doesn’t scale yet (not enough memory for WSI images). But that should not be too hard to solve using
dask.map_overlaps
. Just need to resolved the overlapping areas.
🎉 2
another side note, RNSscope is very likely to have the classical optical crowding issue. In that case, none of the tools can yield SOTA detection. You may have to either ask for higher mag. images or use intensity based methods.
👍 1
f
Thanks for that insight @Tong LI! I had also played very briefly with the two new methods for calling spots (spotiflow and Ufish https://github.com/UFISH-Team/U-FISH) and had the impression that they performed very well out of the box as well! I think in general having some modules like this to call spots in subworkflows is probably a great idea!
t
I haven’t tried this one yet. Thanks for sharing! Indeed, a module(s) would be cool! For spotiflow, it for sure needs dask either on top of the current version or a PR to the repo to support internal parallelization to bypass the memory issue. I am not sure if UFISH scales? If not, a wrapper might be needed
k
Hi @Florian Wuennemann, here is a pipeline that runs RS-FISH to detect spots using radial symmetry. You can use this to run on a single node for smaller images, or span multiple nodes to process very large images. I’d appreciate any feedback about the Nextflow pipeline if you have a chance to try it out.
👍 1
🙌 1
f
Thanks for sharing @Konrad Rokicki! I will check it out and let you know. Also pinging @Krešimir Beštak here as this might be interesting for him!
🚀 1