RGLab / CytoML

A GatingML Interface for Cross Platform Cytometry Data Sharing
GNU Affero General Public License v3.0
29 stars 14 forks source link

flowjo_to_gatingset does not handle gates on uncompensated channels #89

Closed jacobpwagner closed 4 years ago

jacobpwagner commented 4 years ago

FlowJo allows users to add gates on both the compensated and uncompensated values of any channel (as well as the transformed and untransformed values). The current design of cytolib and flowWorkspace is to have a single column for each channel to which compensation and transformation are applied (although that column can be inverted or decompensated on-the-fly if need be). The fact that we do not hold on to the uncompensated channel values causes parsing failures for any workspace that has gates on the uncompensated values of a channel that has been compensated.

I am putting this issue in CytoML, but depending on how we tackle it, the work may end up being more in cytolib and flowWorkspace. This may be another reason to consider switching to storing values on raw scale and then applying compensation or transformation when necessary.

I've attached a very simple workspace to demonstrate the issue and use for testing purposes. uncompensated_issue.tar.gz

jacobpwagner commented 4 years ago

This is fixed by cdb3b5e99cf7cbbf7ab7c7a94a3489f8c690da40, but required some additions to cytolib (https://github.com/RGLab/cytolib/commit/b7dd39e4cde275770593c4524908ae06cd500bc9). I'm leaving this open for a bit to allow for updates in the near term.

jacobpwagner commented 4 years ago

Closing this as everything appears to be functioning appropriately after the changes and no issues have appeared.