RGLab / CytoML

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

FCS Express compatibility #139

Open malcook opened 2 years ago

malcook commented 2 years ago

Has any testing been performed with .fcs files as generated by FCS Express. Specifically, should load_cytoset_from_fcs work as it does with FloJo .fcs files?

mikejiang commented 2 years ago

As long as fcs file generated conforms to the standard, cytolib should have no problem to parser it. Feel free to report it when it does

malcook commented 2 years ago

Apologies, my question was only poorly stated. I am really most interested in applying a gating strategy developed in FCSExpress under control of R, something akin to what flowWorkspace enables for flowjo workspaces. So far, I am successful in importing into an environment the .gatingML files (which recent versions of FCSExpress can export). I can identify the imported filters and apply them individually to a flowFrame or flowSet.

I am now building a GatingSet and using gs_pop_add to add to it each imported filter. In appreciation of your TIP that the standard gatingML mainly focuses on the definition of individual gates in a flat structure, which is really not suitable for representing the gating hierarchy from GatingSet, I am employing a naming convention for the gates to encode the hierarchy (or simple order) of gating (e.g. liveCells.1.0, singleCells.2.1, giving each named gate an index and the index of its parent) and thus how to structure the various calls to gs_pop_add .

Having done this, when I then recompute the GatingSet I (appropriately) get an error

Error in cpp_gating(x@pointer, y, alwaysLoadData, verbose, leaf.bool) : 
  colname not found: TransformsingleSS02-W.fcs.SS02-W

which makes sense because I have not (yet) learned how to add the transforms present in the gatingML to the GatingSet.

I am having trouble figuring out what my next steps should be. Perhaps examining the source for how the flowJo workspace import will give me the secret sauce I need at this point. But I would be grateful for any worked examples.

I am attaching an example .gatingML (which does not yet adhere to my proposed gate naming convention) and an .fcs file file if it helps you to help me. 21cy147.zip

Thanks

altrabio commented 7 months ago

Hi Malcolm, I am wondering if you finally succeeded in importing an FCSExpress gating in R? If so, would you be able to share your code, it would so much helpful! Thanks

malcook commented 6 months ago

Alas I stopped pursuing this line of approach but would be interested in learning of your or anyone else’s successes in such endeavors, or if perhaps the CytoML framework has improved support or documentation for such capabilities.

~ @. From: altrabio @.> Sent: Thursday, December 21, 2023 10:02 AM To: RGLab/CytoML @.> Cc: Cook, Malcolm @.>; Author @.***> Subject: Re: [RGLab/CytoML] FCS Express compatibility (Issue #139)

Hi Malcolm,I am wondering if you finally succeeded in importing an FCSExpress gating in R? If so, would you be able to share your code, it would so much helpful!Thanks—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authore ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

https://us.report.cybergraph.mimecast.com/alert-details/?dep=d0SV6MS1TtzbJXHDX%2F8MIg%3D%3D1lZdlmIqjAvEpR9ZrigdDa08Y1lb6miQ5HUEg9j22I48No%2FBvWsWmHzUcmFpM%2BYOf7nejRmbrmrWOW4nzIEgymFkrT4iHHREsTcmLGSR9jHvt7qGl4WeKYUqWr4Ukun96USAlnaGm%2BEGx7EpFIacUKeErvl9%2BDLeG61tOV6toYtUcccTQIo0fKAbt7dIp4bwi6gxU9ai58FvNclhVwTTpTONJLhudRcjVsRxA1o%2B5fQVNZpk2NBJmS%2BbrGZYbH4KJ3KaXi45TQkOj3nsLYRHiuC8mG3TGxbFhk2NDJxKja4D58LrYaS2ybNwEnSADKjIGIVd%2FeUos6hu6i6I%2F5bSrKLCpXe2XCpQJw4vBy%2BGmW3okbocmLX3iGzXGDOk3GLqYp%2B4n5%2FCSZPAfjXAGroX3kzvQWYRh4molagMzBfhkNjotjYxr8H%2BtekhPCZoc2w15bfMekkHZkw7NBCrtGcrp4Yjl7GUSQpoH5T4BYsyj9w0UaSsAuZEo7S4VbA4CXFm4pEZQnVfMetgrNsGS1fQAg9W43Cmcq9FWOxmOgBkIGBjAQlWeKgW4TVPvptgJm25aUG%2B04ntMIAq6d%2Fh%2BuFPf86HTA83TP9tpA4RvsqhtGFPioRkEq2h6eXrJGptmYCjbyR7FEIdbugeuTKVpd74Lqf30xHuCyr%2Fw6V2ZFmlAR5uCSdWbfOX%2BqXeYpy1gzdaqg7YtG8SYCzqC7Oyjd%2BZvLl3I0zBHn78ew4Ckhd5HFMW%2B%2FwmGEehfGOrkNkxzzrEWXYybWMaVzjSIsoDW9uEiO3a66eCpxsgNzC4v0riKgAsleonJV87etmwl0Tj52JYUJ0WZr51889GoTq6bWTGjYGKKgWuSljXz6XqwBUPTQDx54WGtNTzjZCbqg%2BwAtxlM4Hf4Uj5FdYtEpkpmrrgfQ%3D%3D

Hi Malcolm, I am wondering if you finally succeeded in importing an FCSExpress gating in R? If so, would you be able to share your code, it would so much helpful! Thanks

— Reply to this email directly, view it on GitHubhttps://github.com/RGLab/CytoML/issues/139#issuecomment-1866562721, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AADWHOXMEQ2R4XUE75UQYTDYKRMQZAVCNFSM5G3NIYNKU5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCOBWGY2TMMRXGIYQ. You are receiving this because you authored the thread.Message ID: @.**@.>>

PedroMilanezAlmeida commented 3 months ago

hey @mikejiang, just checking whether are there any plans to support FCSExpress layouts in near future?

gfinak commented 3 months ago

FCS express doesn't open their format (last time we checked), so no we have no plans to support it.

PedroMilanezAlmeida commented 3 months ago

thank you @gfinak!