User Manual: Inquisit Whack-A-Mole Test (Keyboard)


___________________________________________________________________________________________________________________	

									*Whack-a-mole: go/nogo task for children*
									*keyboard version with 1 response*
___________________________________________________________________________________________________________________	

Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software, LLC
Date: 03-04-2021
last updated:  09-27-2024 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC

Script Copyright © 09-27-2024 Millisecond Software

___________________________________________________________________________________________________________________
BACKGROUND INFO 	
___________________________________________________________________________________________________________________	

This script implements an Inquisit implementation of the 'Whack-a-mole' task, a go/nogo task for children, 
published at:
http://fablab.yale.edu/page/assays-tools
Project downloaded: WackAMole.zip

The Inquisit implementation of this script is based on e-prime script 'WackTheMole2.0_Go_NoGo.es'

The downloaded project comes with two 'whack-a-mole' e-prime scripts as well as several information files.
- 'mole_agree.html' (included with this script as well) - please read
- 'Mole_Instrux.pdf' (additional verbal instructions)
- 'Mole_Parameters.pdf' (see below under Task Description)

Millisecond Software was given permission to include this task in the Millisecond Library
by Dr. BJ Casey.

___________________________________________________________________________________________________________________
TASK DESCRIPTION	
___________________________________________________________________________________________________________________	
The following information is provided by 'Mole_Parameters.pdf' (downloaded with original eprime script package):

Wack-A-Mole Task
• Wack the Mole (WTM) is a version of the Go/NoGo paradigm, a response inhibition
task (Casey et al, 1997).

• WTM is designed to examine how parametrically manipulating preceding context
(the number of Go trials) affects inhibition of a preponent response (NoGo trials).
(Durston et al, 2002)

• As the number of Go trials increases, the salience of the “go” response increases.
Thus, increasing Go trials is expected to increase the conflict between the two
responses and require greater cognitive control.

Task design
• Subjects are asked to press a button in response to visually presented stimuli (a
mole), but to avoid responding to a less frequent non-target (an eggplant).

• The task consists of four runs, which lasted on average 2 min and 21 seconds each.
Each run contains an average total of 53 trials, with an average of 42 go trials,
resulting in an average of 12 NoGo trials per run.

• The type of NoGo trial (with 1-7 preceding Go trials) was weighted such that more
Go trials preceded NoGos in the first and last runs. The order of presentation of the
different types of NoGo trials was pseudorandomized. Stimulus duration was 1500
milliseconds. The interstimulus interval is 5 seconds.


References:

Casey, B. J., Trainor, R. J., Orendi, J. L., Schubert, A. B., Nystrom,L. E., Giedd, J. N.,
Castellanos, F. X., Haxby, J. V., Noll, D. C., Cohen, J. D., Forman, S. D., Dahl, R. E., &
Rapoport, J. L. (1997). A developmental functional MRI study of prefrontal activation
during performance of a Go-No-Go task. Journal of Cognitive Neuroscience, 9, 835–847.

Durston, S., Tottenham, N. T., Thomas, K. M., Davidson, M. C., Eigsti, I. M., Yang, Y.,
Ulug, A. M., Casey, B. J. (2003) Differential patterns of striatal activation in young
children with and without ADHD. Biological Psychiatry, 15, 871-878.

___________________________________________________________________________________________________________________	
DURATION 
___________________________________________________________________________________________________________________	
the default set-up of the script takes appr. 12 minutes to complete

___________________________________________________________________________________________________________________	
DATA OUTPUT DICTIONARY
___________________________________________________________________________________________________________________		
The fields in the data files are:

(1) Raw data file: 'whackamole_keyboard_raw*.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.
										
run:							practice, 1, 2, 3, 4 
routine:						n1, n2, n3, n4, n5 (the routine the current trial is run under) 

condition:						g1-g5: numbers the go trials in the current routine
								ng1-ng5: numbers the nogo trial after the last go trial count
									
iti:							intertrial interval duration (in ms)	
																																			
response:						the participant's response (scancode of response buttons)
								57 = spacebar
								0 = no response
									
correct:						accuracy of response: 1 = correct response; 0 = otherwise

latency: 						the response latency (in ms); measured from: onset of image

stimulusItem:					the presented stimuli in order of trial presentation

(2) Summary data file: 'whackamole_keyboard_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)	
																										
goTrials: 						number of go trials run across all routines across all 4 test runs
hits: 							number of hits across all routines across all 4 test runs
hitRate: 						hitrate across all routines across all 4 test runs
missRate:						miss rate across all routines across all 4 test runs
meanHitRT:						mean hit response time (in ms) across all routines across all 4 test runs
noGoTrials: 					number of nogo trials run across all routines across all 4 test runs
commissions: 					number of commission errors (spacebar press for nogo trials) across all routines across all 4 test runs
faRate: 						commission/false alarm rate across all routines across all 4 test runs
corrRejectRate:					correct rejection rate across all routines across all 4 test runs (= not responding in nogo trials)
meanCommissionRT:				mean commission response time (in ms) across all routines across all 4 test runs

zHitRate: 	z-score of the hitRate
zFaRate:	z-score of the falseAlarm/commission rate 
					
Note: *Adjustments to z-scores as recommended by:
Gregg, A. & Sedikides, C. (2010). Narcissistic Fragility:
Rethinking Its Links to Explicit and Implicit Self-esteem, Self and Identity, 9:2, 142-161 (p.148)										
=> Adjustments are made if the  FArate (hitRate) = 0 (increased to 0.005) or 1 (decreased to 0.995)*

dPrime:		Computes d' (parametric measure of discriminability btw. signals and noise)
			=> Range (in this script): 
			-5.1516586840152740479 <= dprime <= 5.1516586840152740479 (=perfect performance)
			=> The higher the value, the better signals (go stims) were  distinguished from noise (nogo stims)
			(d' = 0: chance performance; negative d-primes: participant treated nontargets as targets and targets as nontargets)
													
c: 			c-criterion in signal detection:The absolute value of c provides an indication of the strength of
			the response bias/response style
			negative: participant more likely to report that signal (go stims) is present (liberal response style);
			may favor faster responding in speed-accuracy trade-off response paradigms
			positive: favoring caution (conservative response style)


###by routine: n1, n2, n3, n4, n5
goTrialsN1: 					number of go trials run for n1-routine across all 4 test runs
hitsN1: 						number of hits for n1-routine across all 4 test runs
hitRateN1: 						hitrate for n1-routine across all 4 test runs
missRateN1:						miss rate for n1-routine across all 4 test runs
meanHitRTN1:					mean hit response time (in ms) for n1-routine across all 4 test runs
noGoTrialsN1: 					number of nogo trials run for n1-routine across all 4 test runs
commissionsN1: 					number of commission errors (spacebar press for nogo trials) for n1-routine across all 4 test runs
faRateN1: 						commission/false alarm rate for n1-routine across all 4 test runs
corrRejectRateN1:				correct rejection rate for n1-routine across all 4 test runs (= not responding in nogo trials)
meanCommissionRTN1:				mean commission response time (in ms) for n1-routine across all 4 test runs

zHitRateN1: 	z-score of the N1-hitRate
zFaRateN1:		z-score of the N1-falseAlarm/commission rate 				
dPrimeN1:		Computes d' (parametric measure of discriminability btw. signals and noise)	for N1 trials												
cN1: 			the response bias/response style for N1 trials
									
(same for all routines run)									
							
							
* separate data files: to change to one data file for all participants (on Inquisit Lab only), go to section
"DATA" and follow further instructions

___________________________________________________________________________________________________________________	
EXPERIMENTAL SET-UP 
___________________________________________________________________________________________________________________	

The default setup of this script uses 5 different 'routines' that differ in 
the number of go trials that precede one nogo trial:
n1: 1 go trial  -> 1 nogo trial
n2: 2 go trials -> 1 nogo trial
n3: 3 go trials -> 1 nogo trial
n4: 4 go trials -> 1 nogo trial
n5: 5 go trials -> 1 nogo trial

Note:
routines 'n0,'n6', and 'n7' also included in this script but they are currently not run by default setup


(1) Practice:
- runs 3 routines in sequence: n2, n4, n1 (10 trials total: 7 go, 3 nogo trials)
- participants receive feedback after each response

(2) Test: 4 runs (in fixed sequence)
- routines run by each run can be edited under section "Editable Lists"
- !if the number of routines run is changed, edited the expt-element at the end of the script accordingly!

Run1:
- runs 13 routines (n1,n3,n1,n3,n3,n1,n5,n2,n5,n3,n5,n4,n5) in random order => 54 trials total (41 go: 13 nogo trials)
- participants receive feedback after each response

Run2:
- runs 14 routines (n2,n3,n3,n5,n5,n1,n5,n1,n5,n1,n4,n3,n2,n2) in random order => 56 trials total (42 go: 14 nogo trials)
- participants receive feedback after each response

Run3:
- runs 14 routines (n5,n5,n4,n1,n2,n5,n5,n1,n4,n1,n1,n3,n3,n1) in random order => 55 trials total (41 go: 14 nogo trials)
- participants receive feedback after each response

Run4:
- runs 14 routines (n3,n3,n1,n5,n4,n3,n5,n3,n3,n1,n5,n1,n1,n3) in random order => 55 trials total (41 go: 14 nogo trials)
- participants receive feedback after each response

Routine Count across the 4 runs:
n1: 15
n2: 5
n3: 15
n4: 5
n5: 15

(Note: in this script summary variables by 'routine' are calculated for n1, n3, and n5 routines)



Trial Sequence (default timing based on e-prime script; can be edited under section Editable Parameters):

Go Trial (Mole):
- Mole image presented for max. 1800ms
- feedback for: 300ms
- empty hole for iti duration (variable):
	iti = 2000ms (parameters.totalTrialDuration) - RT (Note: for noresponses, the RT is the max. stimulusduration = 1800)
	=> total duration: 2300ms
	
Nogo Trial (Vegetable)	
- Vegetable image presented for max. 1300ms (Note: the duration of the vegetable is shorter by 500ms)
- feedback for: 300ms
- empty hole for iti duration (variable):
	iti = 2000ms (parameters.totalTrialDuration) - RT (Note: for noresponses, the RT is the max. stimulusduration = 1300)
	=> total duration: 2300ms

___________________________________________________________________________________________________________________
STIMULI
___________________________________________________________________________________________________________________

taken from original e-prime script 'WackTheMole2.0_Go_NoGo.es'
http://fablab.yale.edu/page/assays-tools
(converted to png files)

___________________________________________________________________________________________________________________	
INSTRUCTIONS 
___________________________________________________________________________________________________________________	

taken from original e-prime script 'WackTheMole2.0_Go_NoGo.es'
http://fablab.yale.edu/page/assays-tools

___________________________________________________________________________________________________________________	
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:

//timing parameters
/ startDuration = 500			//the empty hole duration (in ms) at start of each run (default: 500ms)

/ totalTrialDuration = 2000		//the duration (in ms) of the trial (excluding the feedback durations)
								//=> duration of stims + intertrial interval (presentation of empty hole)

/ moleDuration = 1800 			//mole duration in ms (= response timeout) (default: 1800ms, see eprime script)
/ vegetableDuration = 1300 		//vegetable duration in ms (= response timeout) (default: 1300ms, see eprime script)

/ hitFeedbackDuration = 300		//the duration (in ms) for the feedback image presented after a hit	
/ crFeedbackDuration = 300		//the duration (in ms) for the feedback after a correct rejection
/ errorFeedbackDuration = 300	//the duration (in ms) for error feedback

//sizing parameters:
/ imageSize = 40%				//the proportional size (relative to canvas height) of the mole images

//response key:
/ goKey = " "					//the go key (here: spacebar)