-
Notifications
You must be signed in to change notification settings - Fork 14
Description
Hello and thanks for your amazing tool. I am trying it out right now, but somehow it seems to me that either I don't quite understand how the most specif cell type is called and how the binarization is done, or that, in my case, it is not doing what it should.
See the example graph below. Please Note, that I modified the graph:
- Grey outlines mean there is no binary information for this cell
- Red outlines mean the binary assignment for this cell is
Falsefor this cluster - Green outlines mean the binary assignment for this cell is
Truefor this cluster - The Octagonal shape is the actual called "most specific" cell type.
As you can see the CD14-positive, CD16-positive monocyte with a score of 0.27 is selected. The CD14-positive, CD16-negative classical monocyte cell type is not considered, which I don't get. It has a score of 0.45 as you can also see from this table for the respective cluster:
| CD14-positive monocyte (probability) | CD14-positive, CD16-negative classical monocyte (probability) | CD14-positive, CD16-positive monocyte (probability) | CD14-positive monocyte (binary) | CD14-positive, CD16-negative classical monocyte (binary) | CD14-positive, CD16-positive monocyte (binary) |
|---|---|---|---|---|---|
| 0.9955782079351584 | 0.4540293475444127 | 0.2678592195788922 | True | False | True |
Strangely, I expected the CD14-positive, CD16-negative classical monocyte cells to also cross the binary threshold as these are the considered thresholds from the ir.10x_genes_thresholds.tsv file:
| label | label_name | threshold | empirical_threshold | precision | F1-score |
|---|---|---|---|---|---|
| CL:0001054 | CD14-positive monocyte | 0.5 | 0.9421197743088574 | 0.8941176470588236 | 0.8186714542190305 |
| CL:0002057 | CD14-positive, CD16-negative classical monocyte | 0.20572466450006424 | 0.20572466450006424 | 0.047619047619047616 | 0.0904977375565611 |
| CL:0002397 | CD14-positive, CD16-positive monocyte | 0.0021930058655731683 | 0.0021930058655731683 | 0.018518518518518517 | 0.03619047619047619 |
Is this because the predecessors (like the classical monocyte) maybe don't cross their threshold? So i predecessor information taken into account here? This would make perfect sense I guess, I was just unaware of this.
One additional question: There is no direct way to set a minimal threshold for the assignment, right? I think, if I remember correctly , I saw it somewhere in the code but the parameter is not available from the exposed function directly.
