I’m doing an experiment in which I transfect a plate of cells with a plasmid encoding a fluorescent protein (GFP), and I need to analyze its localization. I’ve found that identifying cell objects is much robust using a strategy of identifying nuclei as primary objects and then finding the cells as secondary objects, compared to trying to find the cells as primary objects directly. However, the cell type that I’m using is very finicky about expression level, and I’ve found that co-expressing a nuclear-localized fluorescent protein as a marker can severely drive down expression level of my GFP-tagged protein.
To get around this, I’m staining my cells with a chemical stain against nuclei acid. The issue that then comes up is that my transfection efficiency for this cell type is very low, and for any given field of view I have ~20 nuclei in the blue fluorescence image (IMG_Blue) but only 1-2 transfected cells visible in the green image (IMG_Green). When I try to find secondary objects using IMG_Green (thresholded) as the input, it adds all of the pixels occupied by nuclei in IMG_Blue as objects even though their value is zero in IMG_Green. In addition to being wrong (for my purposes), this confounds the subsequent IdentifySecondaryObjects step because nuclei from untransfected cells that are nearby to transfected cells interfere and infiltrate into the SecondaryObjects derived from nuclei within transfected cells. To solve this, I added an object filtering step where I first MeasureObjectIntensity of the nuclei with IMG_Green as the input image, and then FilterObjects to keep nuclei with a minimum IMG_Green MeanIntensity of 0.01 (chosen arbitrarily). This works beautifully - I end up keeping only the nuclei that are within transfected cells, and then Watershed-Image identification of secondary objects from IMG_Green does a great job of finding the surrounding cell boundaries.
Looking ahead though, I realized I’m going to run into a problem. Some of the proteins that I’m tagging with GFP are very large and therefore impermeable to the nuclear membrane. As such, when I look at previously captured images of these proteins, they are excluded from the nucleus. That means that my thresholding strategy won’t work - when I threshold nuclei based on IMG_Green intensity the transfected cells will be ~0 even though the surrounding cytoplasm will be very bright. I am therefore wondering if there is some strategy I can use to get CellProfiler to keep nuclei objects only if they’re surrounded by high pixel intensity in IMG_Green, even if the nuclei themselves have low or zero pixel intensity in IMG_Green. The only strategy I can think of would be to expand the nuclei by a few pixels, which would send them into the cytoplasm. However, the cells are pretty tightly packed and there are non-transfected cells very close to the transfected cells, which would result in those expanded nuclei also overlapping with transfected cells and being picked up as false positives. Is there a better strategy to do this operation?
Thanks for any advice!