New 'catch' vs. 'probe' Oddball file naming
Closed this issue · 5 comments
Issue
The canonical filename generated by the import process is wrong for the new type of file.
Background
We are adding a new class of file names for type Oddball that need to be distinguished from the current 'catch' files.
This is a naming change and should not affect analysis_type
.
We currently have 2 types of files that get the _catch tag in Oddball naming. This hasn't been a problem previously since they were made and run on different groups. However, that is now changing. Thus, we want to differentiate the file types with one being _catch and the other being _probe
❗ Right now (8/10/23) we only have rats planning to run on catch so its not a priority but this may change.
Catch and Probe example files.zip
If the no go trial (Type 0) has no lockout (i.e. 0s) then it is a _probe file.
If the no go trial (Type 0) has a lockout (i.e. 8s) then it is a _catch file.
Expected Behavior
The file_name
computed by import accurately reflects _probe or _catch.
Steps to reproduce
RP3 file on 20230525 is a probe file, although the file name says _catch (as it is an older file)
RP3 file on 20230809 is a catch file in agreement with its name. (Note: file to be uploaded later today)
Code notes
I believe we will need to modify what is stored in run_summary as well as Oddball_Filename as it looks like there is no record of the lockout timeout on the catch files. I don't know if this is a potentially breaking change. Right now we only appear to save a boolean on if there are no_go trials (catch
)
I believe that there is no need to add a new analysis type because as far as analysis goes it should undergo the same steps as the current Oddball (Catch)
. It is only a naming difference.
Once we have the lockout time out a simple check in Oddball_Filename to determine if its catch or probe should do the trick.
Very well written, thank you.
How quickly may you need this rolled out?
Well we have our 1st rat on a 'probe' file today. It will simply give a wrong file name warning and we can hold that way for now. I would have liked to give more advanced notice but it was decided last night to run on probe.
Ok. The import's computed_file_name
now uses _probe
for the appropriate files. Additionally, within main
, run_properties$nogo_lockout
stores the time out setting.
The nogo lockout does not get written into the run archive, however, because we do not simply write run_properties
to the archive - we unroll it for speed and convenience later, but that means we can only include columns that are guaranteed to be present, and adding new columns is a breaking change. Once stored in the run archive, nogo_lockout
is lost - but in this case, whether it was 0, at least, is preserved by the filename containing _probe
rather than _catch
.
that commit is wrong, that commit closed 74.