This issue happens quite frequently. Ideally provide a suite of functions (with audit trail) that makes it easy to fix the metadata in case of injection skips or in case of user error entering the sequence details.
Proposed:
iso_swap_file_info to swap any 2 file_info sets with parameters select = c() to indicate which fields to swap and file_a and file_b as filter expressions that must identify exactly one file each (e.g. filter_a = Analysis == 5234)
iso_shift_file_info to shift along an entire range of analyses with parameters select = c() to indicate which fields to swap, range as a filter expression that must identify a list of files to shift the file info (e.g. range = Analysis < 5234), arrange = file_datetime to indicate the proper order of the files (default should work most of the time), shift as an integer to indicate how much to shift by (can be negative or positive, e.g. -1 to shift file info forward by one and +2 to shift file info backward by 2), as well as discard = T/F and loop = T/F to indicate whether the files that wouldn't be changed by a simple shift (e.g. the first two files if the shift is +2) are discarded (discard = T), stay unchanged (discard = F, loop = F) or get the file info from the last files in the shift (discard = F, loop = T).
All of these operations will report in detail what info exactly is being switched/shifted around unless explicitly told to be quiet = TRUE.
Questions:
- is it allowed to shift the
file_id?
- what's the default for
discard and loop? what's the most common scenario @brettdavidheiser ?
This issue happens quite frequently. Ideally provide a suite of functions (with audit trail) that makes it easy to fix the metadata in case of injection skips or in case of user error entering the sequence details.
Proposed:
iso_swap_file_infoto swap any 2 file_info sets with parametersselect = c()to indicate which fields to swap andfile_aandfile_bas filter expressions that must identify exactly one file each (e.g.filter_a = Analysis == 5234)iso_shift_file_infoto shift along an entire range of analyses with parametersselect = c()to indicate which fields to swap,rangeas a filter expression that must identify a list of files to shift the file info (e.g.range = Analysis < 5234),arrange = file_datetimeto indicate the proper order of the files (default should work most of the time),shiftas an integer to indicate how much to shift by (can be negative or positive, e.g. -1 to shift file info forward by one and +2 to shift file info backward by 2), as well asdiscard = T/Fandloop = T/Fto indicate whether the files that wouldn't be changed by a simple shift (e.g. the first two files if the shift is +2) are discarded (discard = T), stay unchanged (discard = F, loop = F) or get the file info from the last files in the shift (discard = F, loop = T).All of these operations will report in detail what info exactly is being switched/shifted around unless explicitly told to be
quiet = TRUE.Questions:
file_id?discardandloop? what's the most common scenario @brettdavidheiser ?