Colocalization and Labeling Index problems!

Hi, I’m new to CellProfiler and overwhelmed with the vast array of measurements available…so i’m trying to tackle one at a time!
First, I’ve labeled tissue sections with multiple fluorescent markers, one of which being DAPI to identify total cell nuclei.

  1. I want to create a pipeline that measures the colocalization of targets (ER and PR) as well as determine the labeling index of these targets to the total cell population (DAPI).
    Secondly, I’m interested in comparing specific cell compartments (Epithelium and Stroma) with which I’ve labeled with Cytokeratin 8, an antibody specific for epithelium.
  2. How can I do the above mentioned tasks (1.) within each cell compartment?

Thank you for your help, I look forward to any suggestions!!!

MLD

For the colocalization problem, you might find this previous thread or this one, helpful.

If by “labeling index,” you mean the proporation of labeled cells to the total cellnumber, I recommend looking at the “Cell/particle counting, and scoring the percentage of stained objects” pipeline from our Example pipelines page here.

[quote=“mld0012”]Secondly, I’m interested in comparing specific cell compartments (Epithelium and Stroma) with which I’ve labeled with Cytokeratin 8, an antibody specific for epithelium.
2. How can I do the above mentioned tasks (1.) within each cell compartment?[/quote]

You can try to identify the cytokeratin-stained tissue region using ApplyThreshold (which can give a binary image as output) or IdentifyPrimaryObjects (which gives objects as output), and then use MaskImage to mask your ER or PR image using the detected cytokeratin-positive region (defined as either objects or an image) as the mask. This will yield an image in which only the cytokeratin-positive regions are considered, upon which you can then perform the analysis from (1).

Regards,
-Mark

Thank you for your suggestions…just about everything looks great!

However, after identifying primary objects of both targets (ER and PR) and cell nuclei (DAPI) and using Relate Objects to determine which of the cell nuclei (stained with DAPI) is also stained with a target…I used (per suggestion of one of the pipelines you sited) Classify objects…could you explain the histograms that appear from this module? I believe the blue histogram denotes those cell nuclei JUST stained with DAPI and the red histogram those cell nuclei stained ALSO with a target…am I correct?

I then used the Filter Objects module to determine what/how many cell nuclei were stained with green and red. This worked great, however I’m really interested in the cells that are stained red/green not the cells stained red/blue and green/blue.

Help?

Thank you!

If you are referring to the middle panel, then yes, you are correct.

Can you clarify this part of the question? Do you mean you have the cells that are stained blue + red, and the cells that are stained blue + green, but not those that are blue+green+red? It sounds that like you managed to get blue+green+red cells where you say “what/how many cell nuclei were stained with green and red.” Am I misunderstanding?

If you don’t have the blue+green+red cells, then you can these with the FilterObjects module by adding another measurement to filter by, i.e., you can have the one module filter the nuclei with two measurements: the number of red children > 0 and the number of green children > 0. Only those those that have both will be left.

Regards,
-Mark

Hi Mark,

Thanks for your reply, I understand where I was confusing myself now. I was under the assumption that I was only identifying cells that were either blue+red and blue+green not blue+green+red but I see where I made that mistake now.

When I ran the pipeline, I must be missing something, because the ‘Calculate Math’ products are not exported to the spreadsheet and I’m not seeing an option to have the calculations exported…How can I have these calculations exported to my spreadsheets?

Thank you, I look forward to your help!

I have resolved the issues of finding the products of ‘Calculate Math’ in my export to spreadsheet, but now I have an error message that reads:

Traceback (most recent call last):
File “cellprofiler\pipeline.pyc”, line 1238, in prepare_run
File “cellprofiler\modules\exporttodatabase.pyc”, line 914, in prepare_run
File “cellprofiler\modules\exporttodatabase.pyc”, line 1220, in create_database_tables
File “cellprofiler\modules\exporttodatabase.pyc”, line 181, in execute
OperationalError: unrecognized token: “594_Number_Object_Number”

Because I am not interested in ‘594’ measurements I only used this channel as a way to identify a specific cell compartment, in the module Export to Database I chose to SELECT (instead of ALL) option when asked ‘Export measurements for all objects to the database’ … In this way I chose all other objects besides 594.

I then ran the pipeline again, and recieved this message:

Traceback (most recent call last):
File “cellprofiler\pipeline.pyc”, line 309, in run
File “cellprofiler\modules\exporttodatabase.pyc”, line 1017, in run
File “cellprofiler\modules\exporttodatabase.pyc”, line 1745, in write_data_to_db
OperationalError: no such column: True

I’m truely lost as to where I’m missing a step. Please take a look at the attached images and pipeline to see if you can pin point where i’m going wrong.

Thank you!!








Colocalization_BrdU Ki67_work in progress.cp (76.9 KB)

[quote=“mld0012”]
I then ran the pipeline again, and recieved this message:

Traceback (most recent call last):
File “cellprofiler\pipeline.pyc”, line 309, in run
File “cellprofiler\modules\exporttodatabase.pyc”, line 1017, in run
File “cellprofiler\modules\exporttodatabase.pyc”, line 1745, in write_data_to_db
OperationalError: no such column: True[/quote]

It turns out that he SQLite form of storage does not have a boolean (i.e, true/false) data type. So when ExpportToDatabase tries to export a ‘True’ value, SQLite doesn’t know what ‘True’ is, so it assumes you’re trying to reference another column name. ClassifyObjects is the only module for which a boolean is output as per-object data.

This is a problem we would have to correct in the code. There are couple of workarounds:

  • Do not permit any objects that are inputs into ClassifyObjects to be written to the SQLite database (that is, either remove the ClassifyObjects module altogether or deselect those objects in ExportToDatabase)
  • Use FilterObjects to perform the same function as ClassifyObjects, albeit in a different fashion; see the “Cell/particle counting, and scoring the percentage of stained objects” example pipeline on this page
    for an example.

Regards,
-Mark

This issue has been resolved in CellProfiler 2.1 and later, new releases of which can now be downloaded from http://cellprofiler.org.