To achieve the temporary/experimental modifications(e.g, rename channels/markers/keywords) on GatingSet object (particularly the underlying cytoset/cytoframe), we now relax the locking mechanism so that all the changes(except exprs data) are permitted even when readonly = TRUE.
The changes remain in cache until
flush_meta is explicitly invoked by user
save_gs
gs_clone (since the new copy is writable by default)
Currently we intentionally disable the auto-flushing at destructor (i.e. when gs is out of scope) to prevent the accidental changes unexpectedly become permanent, which means users have to do one of the three actions above in order to save the changes.
To achieve the temporary/experimental modifications(e.g, rename channels/markers/keywords) on
GatingSet
object (particularly the underlyingcytoset/cytoframe
), we now relax the locking mechanism so that all the changes(exceptexprs
data) are permitted even whenreadonly = TRUE
.The changes remain in cache until
flush_meta
is explicitly invoked by usersave_gs
gs_clone
(since the new copy is writable by default)Currently we intentionally disable the auto-flushing at destructor (i.e. when
gs
is out of scope) to prevent the accidental changes unexpectedly become permanent, which means users have to do one of the three actions above in order to save the changes.