User Manual: Inquisit children's Stop Signal Task


___________________________________________________________________________________________________________________	

										*Children's Stop Signal Task (SST)*
										(Russion Instructions)
___________________________________________________________________________________________________________________	

original Script Author: Evgeny A. Levin
last updated:  02-14-2025 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC

Millisecond Software thanks Andrej Bocharov (bocharov@physiol.ru) and Evgeny A. Levin for 
sharing the original children's Inquisit Stop Signal Task! 

Russian translations generously provided by Evgeny A. Levin

The script was updated from Inquisit 4 to Inquisit 7 by K. Borchert for Millisecond Software.
___________________________________________________________________________________________________________________
BACKGROUND INFO 	
___________________________________________________________________________________________________________________
	
This script implements a children's version of the 'Stop Signal Task' (Bocharov et al, 2021). 
The Stop Signal Task is a choice go/nogo reaction time task that 
provides a measure to estimate the time it takes to stop executing a response that might already be underway 
but needs to be halted (called the stop signal reaction time).
This script adapts the stop signal procedure for children ages 7-10.

/////References:

///Children's Stop Signal Task
	Bocharov, A. V., Savostyanov, A. N., Slobodskaya, H. R., Tamozhnikov, S. S., Levin, E. A., 
	Saprigyn, A. E., Proshina, E. A., Astakhova, T. N., Merkulova, E. A., & Knyazev, G. G. (2021). 
	Associations of Hyperactivity and Inattention Scores with Theta and Beta Oscillatory Dynamics of 
	EEG in Stop-Signal Task in Healthy Children 7–10 Years Old. 
	Biology (Basel, Switzerland), 10(10), 946-. 
	https://doi.org/10.3390/biology10100946

///general Stop Signal literature:
	Verbruggen F, et al. (2019). A consensus guide to capturing the ability to inhibit actions and impulsive behaviors in the stop-signal task.
	eLife, 8, e46323. (https://www.ncbi.nlm.nih.gov/pubmed/31033438)

	Verbruggen, F., Logan, G. D., & Stevens, M. A. (2008). STOP-IT: Windows executable software for the 
	stop-signal paradigm. 
	Behavior Research Methods, 40(2), 479-483.
	
	Additional References:
	Logan, G. D. (1994). On the ability to inhibit thought and action: A user’s guide to the stop signal paradigm. 
	In D. Dagenbach  & T. H. Carr, Inhibitory processes in attention, memory, and language (pp. 189-239). 
	San Diego: Academic Press	
___________________________________________________________________________________________________________________
TASK DESCRIPTION	
___________________________________________________________________________________________________________________		
	
In this game, images of animals (a rabbit or a tiger) are the Go stimuli, and the response keys correspond
to the food (carrot or meat) the participant are asked to feed to the animal UNLESS a "stop"
sign (red rectangle containing the word “STOP”) indicates that the animal should not be fed at this point.

The instruction presented to the participants was the following: 
“During the game, a rabbit or a tiger will appear on the screen. 
You need to choose the appropriate food—carrot for the rabbit (button K) or meat for the tiger (button D) 
and press the button before the animal disappears. If a “STOP” signal appears after the animal, 
nothing should be pressed. If you correctly feed the animal, you will receive a point, 
and in case of a wrong response (incorrect choice of food or if action was carried out after the “STOP” signal), 
the point will be deducted.” 

The participants were also instructed to use left and 
right index fingers for pressing left (D) and right (K) keys, respectively, 
and to respond as fast and as accurately as possible.	
	
___________________________________________________________________________________________________________________	
DURATION 
___________________________________________________________________________________________________________________	
the default set-up of the script takes appr. 5 minutes to complete

__________________________________________________________________________________________________________________	
DATA FILE INFORMATION 
___________________________________________________________________________________________________________________
The default data stored in the data files are:

(1) Raw data file: 'xxx*.iqdat' (a separate file for each participant)*	

build:								The specific Inquisit version used (the 'build') that was run
computer.platform:					the platform the script was run on (win/mac/ios/android)
date, time: 						date and time script was run 
subject, group: 					with the current subject/groupnumber
session:							with the current session id

blockcode, blocknum:				the name and number of the current block (built-in Inquisit variable)
trialcode, trialnum: 				the name and number of the currently recorded trial (built-in Inquisit variable)
										Note: trialnum is a built-in Inquisit variable; it counts all trials run; even those
										that do not store data to the data file such as feedback trials. Thus, trialnum 
										may not reflect the number of main trials run per block. 
									
								
parameters.crttTimeoutMS:			the duration (in ms) that participants have to respond to a target (default: 750ms)

averageRTPractice: 					the baseline (aka practice) go-RT (here: based on correct and incorrect responses)
									- used to determine default SSD in test block-

trialCounterPerBlock: 				tracks the number of trials per block

stimInterval: 						the duration (in ms) of the wait period before targets appear
picture.target.currentItem: 		the current target presented

doStop:								0 = the trial is a go trial
									1 = the trial is a nogo trial
												
ssdCoeffitient: 					the last randomly selected reduction coefficient to calculate values.ssd
									(reduction of averageRTPractice)
									
ssd:								the last run stop signal delay (in ms) 

response: 							scancode of response button
									32=D; 37=K
									
responseText:						store the actual label of response buttons pressed:
									D: feed tiger
									K: feed bunny
									
correct: 							1 = trial response was correct; 0 = error
latency: 							the response latency measured from onset of targets
score:  							tracks the total score

trial.crtt.meanLatency:				tracks the mean response time (in ms) of the crtt go-trials							
							

(2) Summary data file: 'xxx_summary*.iqdat' (a separate file for each participant)*

inquisit.version:				Inquisit version run
computer.platform:				the platform the script was run on (win/mac/ios/android)
startDate:						date script was run
startTime:						time script was started
subjectid:						assigned subject id number
groupid:						assigned group id number
sessionid:						assigned session id number
elapsedTime:					time it took to run script (in ms); measured from onset to offset of script
completed:						0 = script was not completed (prematurely aborted); 
								1 = script was completed (all conditions run)	
		

parameters.crttTimeoutMS:		the duration (in ms) that participants have to respond to a target (default: 750ms)

averageRTPractice: 				the baseline (aka practice) go-RT (here: based on correct and incorrect responses)
								- used to determine default SSD in test block-		
							
//go trials:
goTrials:						number of go trials run
hitRate:						hit rate in go trials (pressing the correct response button in time)
missRate:						miss rate in go trials (pressing the incorrect response button + no responses)
nrRate:							proportion of noresponses for go trials
corrGoRT:						correct mean go response time (in ms)

//nogo trials:
nogoTrials:						number of nogo (stop) trials run
faRate:							false alarm rate in nogo trials (pressing one of the response buttons)						
crRate:							correct rejection rate in nogo trials (correctly waiting out the trial with a noresponse)
nogoRT:							mean (error) response time in nogo trials (in ms)
meanSsd:						mean SSD run in nogo trials
meanCorrSsd:					mean SSD at which participants correctly stopped from responding								
							
___________________________________________________________________________________________________________________	
EXPERIMENTAL SET-UP 
___________________________________________________________________________________________________________________	

(1) Practice: 30 Go trials
- the mean response time (based on correct and incorrect responses) is used for SSD calculations 
for the test trials (see below)
- correct responses are rewarded with a point
- incorrect responses result in the loss of a point

No break btw. practice and test trials: from the child's perspective the game just keeps going,
except now the Stop trials are presented occasionally

(2) Test: 130 trials
- roughly 65% of trials run Go trials and roughly 35% run Nogo trials 
- the order of the trials is randomly determined

Go-Trial sequence:
- focus screen (no targets yet): random duration 4000-6000ms (in 500ms steps)*
- target presentation for 750ms or until response (whichever comes first)
- response times are collected from onset of targets

Nogo-Trial ("stop") sequence:
- focus screen (no targets yet): random duration 4000-6000ms (in 500ms steps)*
- target presentation for max. 750ms or until response (whichever comes first)
- stop signal is presented at randomly selected SSD values (see below)
- response times are collected from onset of targets

* the duration of the focus screen presented after a successful nogo trial is 
slighlty shortened to compensate for the slightly longer, successful 
nogo trial duration

///////////////////////
SSD Selection
///////////////////////

SSDs are selected based on each participant's mean response time during practice 
(averaged over correct and incorrect responses): values.averageRTPractice.
This is the 'maxSSD' used for the test trials.
For each nogo trial, the script then randomly (without replacement) selects one of four possible coefficients 
(0.1, 0.2, 0.7, 0.8) by which the 'maxSSD' is decreased (see list.ssdCoeff) 
SSD = 'maxSSD' * randomly selected coefficient.
The smaller the coefficient, the smaller the resulting SSD and the easier it should be to stop responding.

___________________________________________________________________________________________________________________	
STIMULI
___________________________________________________________________________________________________________________
provided by original authors - can be edited under section Editable Stimuli

animals: tiger (eats meat) vs. bunny (eats carrots)

___________________________________________________________________________________________________________________	
INSTRUCTIONS 
___________________________________________________________________________________________________________________	
provided by original authors - can be edited under section Editable Instructions.

___________________________________________________________________________________________________________________	
EDITABLE CODE 
___________________________________________________________________________________________________________________	
check below for (relatively) easily editable parameters, stimuli, instructions etc. 
Keep in mind that you can use this script as a template and therefore always "mess" with the entire code 
to further customize your experiment.

The parameters you can change are:
check below for (relatively) easily editable parameters, stimuli, instructions etc. 
Keep in mind that you can use this script as a template and therefore always "mess" with 
the entire code to further customize your experiment.

The parameters you can change are:

//design
/ maxTrialNumber = 130				//number of test trials to run					
/ practiceTrialNumber = 30			//number of practice trials to run

//timing parameters
/ getReadyDurationMS = 3000			//the duration (in ms) of the get Ready instructions
/ crttTimeoutMS = 750				//the response timeout (in ms) for targets

//responseKeys
/ responseKeyLeft = "D"     //left response key is assigned to "meat" eating animal (here: tiger)
/ responseKeyRight = "K"	//right response key is assigned to "carrot" eating animal (here: bunny)