RelateObjects clarification needed

I’m a little confused as to the output of the RelateObjects module.
I am trying to count the mRNA speckles which fall within a nuclei’s area.
I used IdentifySecondaryObject around my DAPI stains allowing a larger range as a cell area, and used this as my parent object.
I used IdentifyPrimaryObject on my mRNA stains and used this as my child object. Next I used RelateObjects in order to find what I am looking for (and I did this for each channel/gene separately).

In the output I receive multiple csv files and although I would expect to find what I am looking for in the relateObjects csv I do not. I see that the relate gives me in the last colomn a list of parent object, though it lists there my child objects as parent; where as I see in the identifyPrimaryObjects csv the last colomn showing the list of the real parent.
I don’t even understand how I see a parent colomn in the identifyPrimaryObjects csv. Can someone please explain this to me?

Furthermore, I can now use a simple python script to count per parent how many children it has, but I thought this module would output that count for me. Where can I see this count? It doesn’t show in the csv files.

Here is my pipeline:
firstTry.cpproj (1.5 MB)

Here are my input images (DAPI + 3 genes):
C1-MAX_WT 5 slc38a1 myoc mfge8 dapi 40x.tif (12.0 MB) C2-MAX_WT 5 slc38a1 myoc mfge8 dapi 40x.tif (12.0 MB) C3-MAX_WT 5 slc38a1 myoc mfge8 dapi 40x.tif (12.0 MB) C4-MAX_WT 5 slc38a1 myoc mfge8 dapi 40x.tif (12.0 MB)

Here is an example of the csv files I get for relate and for identify primary of the red channel/gene:
MyExpt_IdentifyPrimaryObjectsRed.csv (592.6 KB) MyExpt_relateObjectsBlueRed.csv (384.9 KB)

Thanks in advance,

Hi Shimmy,

IdentifyPrimaryObject.csv’s Parent_ column represents the ID number of the object which that primary object has been related to. relateObjects.csv’s Parent_ column represents the original ID number of the primary object itself.

Running through the first few rows of your relateObjects CSV, this means that speckle #1 was associated with a cell, then speckle #5 was linked to a different cell, speckles 2-4 are absent, so they did not get associated with any cells. IdentifyPrimaryObject.csv then tells us which cells each speckles was assigned to (including those with no cell). Indeed we can see that speckle #1 was related to cell #2, speckles 2-4 had no cell (0) and speckle #5 was within cell #6 and so on.

In your pipeline the number of speckles per cell should be found in IdentifySecondaryObjectsBlue.csv, under the column “Children_IdentifyPrimaryObjectsRed_Count”.

Hope that helps!

Thank you very much, this was very helpful!

@DStirling if you can clarify one more question for me please -
in which csv file would I find the intensities of the speckles that are part of the RelateObject objects? As in only the intensities of the speckles that fall within the cell area. I assume this should show up in the relateObjects csv, but now I am confused.

Thanks in advance,

HI @shimmyb,

I would recommend you look at MaskObjects instead of RelateObjects.

MaskObjects creates a new object type which will be only the speckles within cells whereas RelateObjects really just tells you of all your speckles, which ones are within which cell.