Return to the Parametric Go/No-Go Test page
___________________________________________________________________________________________________________________	

                                   *PARAMETRIC Go/NoGo TASK (PGNG)*
___________________________________________________________________________________________________________________	

Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software, LLC
Date: 12-02-2013
last updated:  03-10-2020 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC

Script Copyright © 03-10-2020 Millisecond Software

___________________________________________________________________________________________________________________
BACKGROUND INFO 	
___________________________________________________________________________________________________________________	

This script implements the Parametric Go/NoGo task, a task to manipulate attentional load, set-shifting, 
and inhibitory control.

The implemented procedure is based on:

1. Langenecker SA, Zubieta J-K, Young EA, Akil H, Nielson KA. (2007). A task to manipulate attentional load, 
set-shifting,  and inhibitory control: Convergent validity and test-retest reliability of the 
Parametric Go/No-go test.  Journal of Clinical and Experimental Neuropsychology, 29 (8), 842–853.

2. and the original e-prime version "Parametric Go/No-go/Stop test (version 9.13)" by Dr. Langenecker 
(http://sitemaker.umich.edu/slangen/downloads)

The original e-prime script contains several conditions that are not described in Langenecker et al (2007) 
(e.g. Stop Signal conditions). This script implements all conditions run by the original e-prime script. 
Comments will point out which conditions correspond to the conditions (referred to as "levels") run by 
Langenecker et al, 2007). 

The default procedure of this script runs the 3 levels described by Langenecker et al (2007).
Additional conditions can be run - go to section EXPERIMENT for more information.
___________________________________________________________________________________________________________________
TASK DESCRIPTION
___________________________________________________________________________________________________________________	
Participants are presented with a constant stream of letters. A subset of the letters require a response, e.g.
pressing the Spacebar (= Go trials), otherwise no response is required (=NoGo trials). Participants work 
through different tasks that differ in difficulty to identify a "true" Go trial (context can turn a Go stimulus
into a NoGo stimulus).

Level 1 (3 targets, static rule ): press spacebar for 's','r', and 't'; otherwise wait

Level 2 (2 targets, repeat rule): press spacebar for 's' and 'r' IF they don't repeat the last target letter;
otherwise wait

Level 3 (3 targets, repeat rule): press spacebar for 's', 'r' and 't'. IF they don't repeat the last target letter;
otherwise wait.

The levels are run in ascending difficulty.

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

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

(1) Raw data file: 'pgng_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
script.sessionid:					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. 

values.trialtype:					1 = distractor (non-target trial)
									2 = target trial
									3 = lure trial (presents a target but should not elicit a response)
									
values.stimulusduration:			current stimulus duration
values.stopsignalduration:			duration of current stop signal in ms										
values.previoustarget:				stores the previous target stimulus

stimulusitem:						the presented stimulus

response:							the participant's response (scancode of response key)
										57 = spacebar
										0 = no response
										
correct:							the correctness of the response (1 = correct; 0 = otherwise)
latency: 							the response latency (measured at onset of stimulus) in ms

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

computer.platform:					the platform the script was run on (win/mac/ios/android)
script.startdate:					date script was run
script.starttime:					time script was started
script.subjectid:					assigned subject id number
script.groupid:						assigned group id number
script.sessionid:					assigned session id number
script.elapsedtime:					time it took to run script (in ms); measured from onset to offset of script
script.completed:					0 = script was not completed (prematurely aborted); 
									1 = script was completed (all conditions run)
																	
expressions.pctCorrect_overall: 		overall percent correct responses (across target and nontarget trials)

expressions.RTT_overall: 				overall mean target response time (=correctly hitting spacebar for a target) in ms
											=> measure of processing speed
									
expressions.PCTT_overall: 				overall percent target identification (correctly hitting spacebar for a target)
											=> percent correct responses for target trials
											=> measure of sustained attention and set maintenance
									
expressions.pctCommissionError_overall:	overall percent commission errors (=incorrectly hitting spacebar for a non target)
											=> percent error responses for distractors and lures
									
*By Condition:*
									
expressions.pctCorrect_2TA: 			percent correct for 2 targets, static condition (across target and nontarget trials)

expressions.RTT_2TA: 					mean target response time (=correctly hitting spacebar for a target) in ms for 2 targets, static condition	
											=> measure of simple processing speed

expressions.PCTT_2TA: 					percent target identification (correctly hitting spacebar for a target) for 2 targets, static condition	
											=> measure of sustained attention and set maintenance
									
expressions.pctCommissionError_2TA:	percent commission errors (=incorrectly hitting spacebar for a non target) for 2 targets, static condition
											=> proportion error responses for distractors and lures
									
									
									
expressions.pctCorrect_2TB: 			percent correct for 2 targets, context condition (across target and nontarget trials)

expressions.RTT_2TB: 					mean target response time (=correctly hitting spacebar for a target) in ms for 2 targets, context condition
											=> measure of simple processing speed
									
expressions.PCTT_2TB: 					percent target identification (correctly hitting spacebar for a target) for 2 targets, context condition
											=> measure of sustained attention and set maintenance
									
expressions.pctCommissionError_2TB:	percent commission errors (=incorrectly hitting spacebar for a non target) for 2 targets, context condition
									
expressions.PCIT_2TB:					percent successfully suppressed responses to lures for 2 targets, context condition
											=> no responses to target letters that are not targets according to the repeating rule
											=> measure of response inhibition


									
expressions.pctCorrect_3TC: 			percent correct for 2 targets, stopSignal condition (across target and nontarget trials)

expressions.RTT_3TC: 					mean target response time (=correctly hitting spacebar for a target) in ms for 2 targets, stopSignal condition	
											=> measure of simple processing speed
									
expressions.PCTT_3TC: 					percent target identification (correctly hitting spacebar for a target) for 2 targets, stopSignal condition	
											=> measure of sustained attention and set maintenance
									
expressions.pctCommissionError_3TC:	percent commission errors (=incorrectly hitting spacebar for a non target) for 2 targets, stopSignal condition
									
expressions.PCIT_3TC:					percent successfully suppressed responses to lures for 2 targets, stopSignal condition
											=> no responses to target letters that are not targets according to the stop signal rule
											=> measure of response inhibition																		
												
(same for the 3 Target Conditions)									

___________________________________________________________________________________________________________________	
EXPERIMENTAL SET-UP 
___________________________________________________________________________________________________________________	
* 6 conditions
(A) 3 conditions with 2 targets: r, s
		(a) static targets: targets are always targets (= Go trials) - NOT RUN BY DEFAULT
		(b) context-based targets: targets become lures (= NoGo trials) IF they repeat => block.2t_context, 
		LEVEL 2 (Langenecker et al, 2007)
		(c) stopsignal targets: targets become lures (=NoGo trials) IF followed by stop sign - NOT RUN BY DEFAULT
(B) 3 conditions with 3 targets: r, s, t
		(a) static targets: targets are always targets (= Go trials) => block.3t_static, 
		LEVEL 1 (Langenecker et al, 2007)
		(b) context-based targets: targets become lures (= NoGo trials) IF they repeat => block.3t_context, 
		LEVEL 3 (Langenecker et al, 2007)
		(c) stopsignal targets: targets become lures (=NoGo trials) IF followed by stop sign - NOT RUN BY DEFAULT

* Go trials: "valid" target trials
* NoGo trials: all distractor trials (all letters other than r, s, t) AND lure trials (targets turned lures)
* all letters are presented in prefixed orders (same as in original e-prime script)

Trial Presentation:
- stimulus is presented for 500ms (default) with a 0ms interstimulus interval (default)
- participants have the entire 500ms to respond
- by default, stimuli are presented in black on a white background (Langenecker et al, 2007a)
- the size of the stimuli can be adjusted via an editable parameter (parameters.fontsize_target)
- the default presentation font in this script is Arial

Practice:
Each task is preceded by a practice session that is modeled after the practice session used in the original
e-prime script by Langenecker (letter sequences are different)

ADD/Delete Conditions:
To add or delete conditions (or change the order in which they are run),
go to section EXPERIMENT for further instructions

___________________________________________________________________________________________________________________	
INSTRUCTIONS 
___________________________________________________________________________________________________________________	
The instructions for the Inquisit PGNG.iqx script by Millisecond Software are based on instruction 
slides provided by Dr. Langenecker with the original e-prime script.

The instructions are provided as html/htm pages and can be edited by changing
the provided html/htm files. 
To edit htm/html-files: open the respective documents in simple Text Editors such as TextEdit (Mac)
or Notepad (Windows).
___________________________________________________________________________________________________________________	
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:

/responsekey:						the response key (default: " " -> spacebar)
											original response key was 'n'
													
/fontsize_target:					fontsize of the targets in screen height percentages (default: 10%)
/fixationcross_height:				size of the fixation cross that starts the letter sequence

/stimulusduration_test:				presentation duration of the targets during the test session (default: 500ms)
												Note: the stimulus presentation time for targets will
												vary in the Stop Signal conditions 
												(-> list.stimulusdurations_2TC; list.stimulusdurations_3TC)
												
/isi:								duration of the interstimulusinterval (default: 0ms) 
												Note: Langenecker et al (2007) do not use an interstimulusinterval
												
/fixationcrossduration:				duration of fixation cross at start of letter sequence
/testinstruction_duration:			duration of test instructions

/showsummary:						true = a performance summary is presented to participants at the end of the script (default)
									false = the performance summary is not presented