RGLab / CytoML

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

Error in set_cytoset(x@pointer, value@pointer) : no slot of name "pointer" for this object of class "ncdfFlowSet" #92

Closed Biomiha closed 4 years ago

Biomiha commented 4 years ago

Hi,

I'm trying to parse a BD Diva workspace into an openCyto GatingSet. My code is quite simple:

ws <- open_diva_xml("20200422_myxmlfile.xml")
gs <- diva_to_gatingset(obj = ws, name = 3, subset = 1, worksheet = "normal")

This is the console output (verbatim):

Parsing 1 samples
All FCS files have the same following channels:
FSC-A
FSC-H
FSC-W
SSC-A
SSC-H
SSC-W
530/30 488nm-A
450/50 405nm-A
525/50 405nm-A
610/20 405nm-A
670/30 405nm-A
710/50 405 nm-A
586/15 561nm-A
780/60 561nm-A
670/30 640nm-A
780/60 640nm-A
379/28 355nm-A
Time
done!
loading data: ./Tube_001.fcs
swap cols: FSC-H:FSC-W
swap cols: SSC-H:SSC-W
Compensating
computing data range
transforming ...
parsing gates ...
write Tube_001.fcs to empty cdf slot...
Error in set_cytoset(x@pointer, value@pointer) : 
  no slot of name "pointer" for this object of class "ncdfFlowSet"
In addition: Warning message:
'.local' is deprecated.
Use 'keyword' instead.
See help("Deprecated") 

It seems that it's done everything ... parsed the data, applied the compensation, transformation and gates but then unfortunately it falls short at the last hurdle with a missing pointer error.

On a related note, is there a way of extracting the transformation information separately in order to be able to generate a gating set without gates?

Thanks.

jacobpwagner commented 4 years ago

Could you please provide the output of sessionInfo() when you get this error. I'm guessing your CytoML installation is just behind the other packages, but I can verify that if I can see all of the package versions.

jacobpwagner commented 4 years ago

And if you want a GatingSet without gates, you can just load the fcs files for the corresponding samples in as a cytoset using load_cytoset_from_fcs. That will just have the ungated data. You could then coerce to a GatingSet if you wanted to start gating analysis from scratch (just the root node) rather than using the gates from the workspace.

Biomiha commented 4 years ago

Hi @jacobpwagner ,

Thank you so much. I upgraded to CytoML v2.0.0 and it's fixed the problem. Apologies for such an inane issue. With regard to the transformations, it was more about getting the transformation objects rather than the naked gs. However, now that I am able to save the full workspace, I can always pull the transformations from the gs.

Many thanks again.