User Manual: Inquisit Affective 2-back Task


___________________________________________________________________________________________________________________	

								Affective n-back Task (2-back only)
___________________________________________________________________________________________________________________	

Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software, LLC
Date: 11-17-2022
last updated:  08-29-2023 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC

Script Copyright © 08-29-2023 Millisecond Software
___________________________________________________________________________________________________________________
BACKGROUND INFO 	
___________________________________________________________________________________________________________________
This script implements an affective 2-back procedure -based on Pe et al (2013)- to study
the role of updating affective information in working memory (WM) on emotional functioning.

Reference:	

Affective 2-back procedure:										
Pe, M.L., Koval, P. & Kuppens, P. (2013). Executive well-being: Updating of positive stimuli in working memory 
is associated with subjective well-being. Cognition, 126, 335-340.
https://doi.org/10.1016/j.cognition.2012.10.002.
(https://www.sciencedirect.com/science/article/pii/S0010027712002259)

Affective Norms for English Words (ANEW):
Bradley, M. M., & Lang, P. J. (1999). Affective norms for English words (ANEW): 
Instruction manual and affective ratings (Vol. 30, No. 1, pp. 25-36). 
Technical report C-1, the center for research in psychophysiology, University of Florida. 
url: e-lub.net/media/anew.pdf

___________________________________________________________________________________________________________________
TASK DESCRIPTION	
___________________________________________________________________________________________________________________

Participants are working on 4 blocks of n2Back tasks with affective word stimuli.
The task is to indicate for each word whether its valence matches the valence of the word
presented two trials before. Participants are asked to press one key if the word is a match,
and a different key if the word is not a match (2key n-back). Each block consists of 24 words.
___________________________________________________________________________________________________________________
DURATION	
___________________________________________________________________________________________________________________

The default procedure takes about 10 minutes to complete
___________________________________________________________________________________________________________________	
DATA OUTPUT DICTIONARY
___________________________________________________________________________________________________________________
The fields in the data files are:

(1) Raw data file: 'affectivenBack_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. 
																													
phase: 								0 = Practice; 1 = Test
testBlockCount:						counts the test blocks run
n:									2 (for n2Back)

setSequence:						the order in which sets1-4 are run (Example: 1342)
									by default, the sets are assigned in a random order (see list.setAssignment)
									
set: 								refers to the set of stimuli run in the current block (0-4; Note: set0 is the practice set)
									by default, the sets are assigned in sequence

index: 								refers to the itemnumber of the current word		
stim: 								the currently presented word
stimValence: 						"pos" vs. "neg"	

valenceN2Back: 						pos-pos-pos, pos-pos-neg, pos-neg-pos, pos-neg-neg,
									neg-neg-neg, neg-neg-pos, neg-pos-neg, neg-pos-pos

matchTrialType:						1 = pos-pos-pos
									2 = pos-neg-pos
									3 = neg-neg-neg
									4 = neg-pos-neg
									0 = anything else

middleRoleN2Back: 					"" (empty) vs. "facilitator" vs. "distractor"
									Example:
									pos-pos-pos: middle one ('pos') is facilitator
									pos-neg-pos: middle one ('neg') is distractor
		
valenceMatch:						the valence of the match from 2 trials back: "pos" vs. "neg"
match: 								"y" (yes) (the current stim is a target = match in valence to stim 2 trials back); "n" (no)
corrResponse:						stores the correct response key to press (1 vs. 2)
responseText: 						stores the pressed response key (1 vs. 2); Note: 0 = no response

correct: 							1 = response was correct; 0 = response was incorrect (also for no responses)
rt: 								stores the response latency in ms (is empty for no responses); measured from onset of stim
latency:							stores the response latency in ms (stores 3000 = responsetimeout for no responses); measured from onset of stim				

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

inquisit.version:					the Inquisit build/version run
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)
									
n:									2 (for n2Back)
setSequence:						the order in which sets1-4 were run (Example: 1342)									
									
list.acc.mean:						overall proportion correct 
list.rt.mean:						overall correct mean latency (in ms)									
																		
list.accPosPosPos.itemCount:		counts the number of times 'pos-pos-pos' trials were run during the test blocks 
list.accPosPosPos.mean:				proportion correct 'pos-pos-pos' trials across the test blocks
list.rtPosPosPos.itemCount:			number of correct 'pos-pos-pos' trials across the test blocks
list.rtPosPosPos.mean:				mean rt (in ms) of correct 'pos-pos-pos' trials across the test blocks

list.accPosNegPos.itemCount:		counts the number of times 'pos-neg-pos' trials were run during the test blocks 
list.accPosNegPos.mean:				proportion correct 'pos-neg-pos' trials across the test blocks
list.rtPosNegPos.itemCount:			number of correct 'pos-neg-pos' trials across the test blocks
list.rtPosNegPos.mean:				mean rt (in ms) of correct 'pos-neg-pos' trials across the test blocks

list.accNegNegNeg.itemCount:		counts the number of times 'neg-neg-neg' trials were run during the test blocks  
list.accNegNegNeg.mean:				proportion correct 'neg-neg-neg' trials across the test blocks
list.rtNegNegNeg.itemCount:			number of correct 'neg-neg-neg' trials across the test blocks
list.rtNegNegNeg.mean:				mean rt (in ms) of correct 'neg-neg-neg' trials across the test blocks

list.accNegPosNeg.itemCount:		counts the number of times 'neg-pos-neg' trials were run during the test blocks  
list.accNegPosNeg.mean:				proportion correct 'neg-pos-neg' trials across the test blocks
list.rtNegPosNeg.itemCount:			number of correct 'neg-pos-neg' trials across the test blocks
list.rtNegPosNeg.mean:				mean rt (in ms) of correct 'neg-pos-neg' trials across the test blocks															
___________________________________________________________________________________________________________________	
EXPERIMENTAL SET-UP 
___________________________________________________________________________________________________________________	

(1) Practice (practice stimuli)
- 24 2-back trials (the first two cannot be targets yet)
- the valence order is fixed for each participant
- the actual word order is randomly determined: the script randomly selects positive/negative
words (depending on required valence) from the practice set words
(Note: the sequence can easily be changed to a fix call of the words as well)
- feedback is provided during practice after each trial

(2) Test: 4 test blocks
- each block runs 24 2-back trials (the first two cannot be targets yet)
- the valence order is fixed for each participant
- the actual word order is randomly determined: the script randomly selects positive/negative
words (depending on required valence) from the pool of words from the currently used set
(Note: the sequence can easily be changed to a fix call of the words as well)
- by default, sets1-set4 are randomly assigned (see list.setAssignment)
- testblock1-3 provide a break trial at the end of the block

TrialSequence:
word (for 500ms) -> fixation cross for 2500ms (responsetimeout = 3000ms)
Feedback during practice is provided for 500ms


///////Valence Order (not original to Pe et al, 2013)
Millisecond Software generated a valence sequence for each test block with the following constraints:
1. 8 words are targets (n2Back valence 'matches'), 16 are non-targets (including the first two)
2. 12 words are positive, 12 words are negative
3. Each of the four target sequences 'pos-pos-pos', 'pos-neg-pos', 'neg-neg-neg', 'neg-pos-neg'
appear between 1 and 3 times per block
4. across four test blocks the target sequences would be run 7-9 times each
(see details under section Editable Stimuli)

__________________________________________________________________________________________________________________	
STIMULI
___________________________________________________________________________________________________________________

The word lists used for sets 1-4 (as well as the practice set) were computer generated based on the
Bradley & Lang (1999) published 'Affective norms for English words' (ANEW).
This script does NOT use the original words (nor valence order) used by Pe et al (2013).

Steps:
(1) Words with valence ratings <= 3 (1,2,3) were categorized as 'negative' words
words with valence ratings >= 7 (7,8,9) were categorized as 'positive' words 
(Note: some words were censored by Millisecond and not used for list generation)

(2) 60 positive stims (from the generated list of positive stims) were randomly selected 
and paired with a negative word roughly based on arousal ratings (difference could not be more than 2)
and word length (difference could not be more than 2).
The first randomly selected negative stim that fulfilled those constraints was taken
as the match. 

___________________________________________________________________________________________________________________	
INSTRUCTIONS 
___________________________________________________________________________________________________________________

provided by Millisecond Software - 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: