-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Identifier replacement method for cytoframe #344
Comments
Oh, I also noticed that updating the sampleNames of a cytoset doesn't alter the underlying cytoframe
This is related to #335. |
again, avoid the legacy |
Just about all the code in CytoExploreR performs operations at the |
Again, |
I think I am starting to understand this. I will post some examples tomorrow for you to look at. |
@mikejiang, where does the I am now switching to using a new I often convert cytosets to lists of cytoframes and I have considered storing the sampleNames in the names of the list to carry this information with each cytoframe, but there are so many operations performed on these lists that it is painful to keep checking that the names are retained. I guess I am just after a way of extracting the most up-to-date name of the sample from a cytoframe. |
Because this sampleNames serves as sample GUIDs for cytoframes within a specific When you For looping through cs, the cytoframe level operation should not be dependent on the higher-level info (i.e. sampleName) that is only stored at |
My major concern is the data integrity issue as you keep the same info copies at two different places. Once cytoframe is extracted from |
Is there a technical reason for storing this information at the
At least this way all objects are giving the same information to the user and then you don't have to worry about duplicating this information? Similarly, there could be a replacement method that replaces the relevant keyword instead of altering sampleNames()? Just an idea... I had a look through my code and it would require substantial changes to fix this and I probably don't have the time to tackle this now. So I think for now I might add a function similar to the one above and add a replacement method as well - this should force users to change the keyword and not |
sampleNames of cs is used as the key of the hash map for fast indexing, so it can't be stored at cytoframe level. |
I see, so you would want the |
Late to the discussion, but I think I mostly agree with Mike on this one.
Nothing is stopping you from accessing those names from the collection in parallel for each item from within a
Of course, if you just want identifying information about each Your Of course, you could still store some kind of identifier at the |
Thanks @jacobpwagner, if I do implement this is I make sure to check for uniqueness and it will be called |
Precisely, albeit at the
I feel your pain and totally understand, particularly if you are dealing with arbitrarily-nested lists of |
@jacobpwagner & @mikejiang, I have checked through the CytoExploreR code and a patch job is definitely not going to work. I think I am going to have to take the time to refactor the code to prevent cytoframe/cytoset synchronization issues. Do you mind if I run my plan past you before I dive in? I want to avoid making drastic changes that I may regret in a couple of weeks time. The current design involves writing methods for After our discussions, I am thinking that I should instead treat This is going to be a lot of work, so I just wanted to confirm whether this approach is more consistent with the way that you intend for users to interact with these classes? Happy to take any suggestions. |
What do you mean by that? |
I was just referring to name synchronisation/duplication problems that we discussed previously. I think this issue can be bypassed if I simply restrict operations to |
Then your statement was not true. I just want to remind you once again that the |
Yes of course. I just feel that if I switch over to using
I have some complex list structures in CytoExploreR so it will be difficult to try and carry the names for the |
Thanks so much for your help @mikejiang and @jacobpwagner. I will start working on this today, it will take some time but I think it will be worth it in the long run. Once complete I will no longer require the use of |
@mikejiang, is there an
identifier
replacement method for cytoframes? UnfortunatelyflowCore::identifier<-
doesn't work for cytoframes:Sorry for bugging you with all of these issues, I am going through all the code in CytoExploreR to ensure that it works with all classes of cytometry objects - so I am finding a few things that are not working as I had expected based on previous flowCore functionality.
Thanks for your help!
Dillon
The text was updated successfully, but these errors were encountered: