Return to the Positive/Negative God Association Task (PNG-GNAT) page
___________________________________________________________________________________________________________________	

						The Positive/Negative God Associations Task (PNG-GNAT)
___________________________________________________________________________________________________________________

This script is based on the original Inquisit script of the Positive/Negative God Associations Task (PNG-GNAT) published by:
Steven Pirutinsky (SP2813@columbia.edu), 9/9/2014, 

The original Inquisit script can be downloaded from:

https://link.springer.com/article/10.1007%2Fs10943-016-0303-y#citeas (see Supplementary Material)
=> https://static-content.springer.com/esm/art%3A10.1007%2Fs10943-016-0303-y/MediaObjects/10943_2016_303_MOESM1_ESM.pdf

The original script was updated for the Millisecond Script Library by:
Katja Borchert (katjab@millisecond.com).
The updated script includes summary variables (see section DATA FILE INFORMATION below)

last updated:  03-09-2020 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC

___________________________________________________________________________________________________________________
BACKGROUND INFO 	
___________________________________________________________________________________________________________________	
											
This script implements a God Go-Nogo Association Task (GNAT) using the category 'god' as the target category.

In general, the GNAT procedure uses the Go-Nogo framework of responding to signal and noise stimuli to investigate implicit bias 
towards a target category. In contrast to reaction time based tests of implicit bias (e.g. Implicit Association Test), 
the GNAT framework mainly focuses on accuracy data and specifically d prime measures (measures of sensitivity to distinguish
signals from noise in signal detection theory) to infer implicit bias. 

For example, a positive association of 'God' (the target signal) is suggested if the dprime measure in the condition
'God-Good' (aka both 'God' and good attributes are signals) is greater than the dprime measure in the condition 'God-Bad' 
(aka both 'God' and bad attributes are signals).												
																						
This script implements The Positive/Negative God Associations Task (PNG-GNAT) as described in:

Pirutinsky, S., Carp, S. & Rosmarin, D.H. J Relig Health (2017) 56: 305. 
https://doi.org/10.1007/s10943-016-0303-y

Adjustments to z-scores as described 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)

___________________________________________________________________________________________________________________
TASK DESCRIPTION	
___________________________________________________________________________________________________________________
Participants view words that may or may not belong to one of two target categories (e.g. 'God' or 'Positive').
If the word (e.g. 'faith') belongs to either one of the categories, participants are asked to press the 
spacebar as quickly as possible. If the word (e.g. 'harsh') does not belong to either category, participants
are asked to withold any response until the the next trial starts.
Participants work through 2 test blocks of 63 test trials. One block is using 'God' and 'Positive' as the target categories;
the second block is using 'God' and 'Negative' as the target categories. The order of the two blocks
is determined by assigned groupnumber.

___________________________________________________________________________________________________________________	
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: 'png_gnat_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.
										
order:								'Negative - Positive' (god-negative pairing block was run before 'god-positive pairing block) vs.
									'Positive - Negative' (god-positive pairing block was run before 'god-negative pairing block)									
									
phase:								'practice' vs. 'training' vs. 'test
trialcount:							trialcount of the current phase
									(practice: 1-12 trials; training: 1-14 trials; test: 1-63 trials)
								
trialtype:							1 = go trial (correct response: spacebar)
									0 = nogo trial (correct response: no response)									
									
stimulusitem:						the presented word
stimulusnumber:						the itemnumber of the presented word
response:							the participant's response (scancode of response key): 57 = spacebar press; 0 = no response
responseCat:						'hit' vs. 'miss' for go-trials; 'FA' (false alarms) vs. 'CR' (correct rejections) for nogo-trials 

correct:							accuracy of response: 1 = correct response; 0 = otherwise
latency: 							the response latency (in ms); measured from: onset of stimulus

validRT:							1 = the latency was greater or equal to parameters.minValidRT (default: 300ms);
									0 = the latency was below parameter.minValidRT (default: 300ms)

(2) Summary data file: 'png_gnat_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)

order:								'Negative -> Positive' (god-negative pairing block was run before 'god-positive pairing block) vs.
									'Positive -> Negative' (god-positive pairing block was run before 'god-negative pairing block)
									
Notes: 

(1) summary statistics are based on test trials only (63 test trials per test block; all training and practice trials 
are excluded) with valid RTs (all RTs >= minValidRT => all RTs >= 300ms)

(2) z-score calculations: adjustments (see Gregg & Sedikides, 2010, p.148)
If the hit rate / FA rate is 0 => 0.005 is used instead (aka 0.005 is added to the hit/FA rate)
If the hit rate / FA rate is 1.0 => 0.995 is used instead (aka 0.005 is subtracted from the hit/FA rate)

testtrialcount:					number of test trials run (across blocks)

parameters.minValidRT:			the minimum response time (in ms) that is considered a valid response (default: 300ms)
										(Note: all trials with latencies < 300ms are excluded from reported summary statistics)
										
propInvalidRTs:					proportion invalid RT trials across all test trials

ACCoverall:						overall proportion correct across all test trials with valid RTs		
ACC_godPositive:					proportion correct across all test trials with valid RTs in the 'God-Positive' pairing block 
ACC_godNegative:					proportion correct across all test trials with valid RTs in the 'God-Negative' pairing block 
 
dprime_godPositive:				Computes d' (parametric measure of discriminability) for God-Positive Pairings (test trials with valid RTs only)
										=> Range (in this script): 
										-5.1516586840152740479 <= dprime <= 5.1516586840152740479 (=perfect performance)

dprime_godNegative:				Computes d' (parametric measure of discriminability) for God-Negative Pairings (test trials with valid RTs only)
										=> Range (in this script): 
										-5.1516586840152740479 <= dprime <= 5.1516586840152740479 (=perfect performance)

dprime_Diff:						the difference in dprime btw. 'God-good' and 'Good-bad' (IF noise category are Animals)
									=> if d prime for God-Good is larger than for God-Bad (positive difference):
										participant more closely associated God with Good than with Bad attributes
									=> if d prime for God-Good is smaller than for God-Bad (negative difference):
										participant more closely associated God with Bad than with Good attributes	

validGoTrials_godPositive: 		number of valid (RT >=minValidRT) Go trials in the 'God-Positive' pairing block

hitrate_godPositive:			proportion of Hits in the 'God-Positive' pairing block (valid RT trials only)
										Note: a 'hit' is a spacebar press in go-trials
										
zhit_godPositive:				z-score of hitrate 
validNoGoTrials_godPositive: 	number of valid (RT >=minValidRT) NoGo trials in the 'God-Positive' pairing block 

FArate_godPositive:				proportion of False Alarms in the 'God-Positive' pairing block (valid RT trials only) 
										Note: a 'False Alarm' is a spacebar press in nogo-trials	
										
zFA_godPositive:				z-score of False Alarm rate 

meanGoRT_godPositive:			mean Go ('hit') latency (in ms) in the 'God-Positive' pairing block (valid RT trials only)
SDgoRT godPositive:				standard deviation (in ms) of the hit latencies in the 'God-Positive' pairing block (valid RT trials only)

validGoTrials_godNegative: 		number of valid (RT >=minValidRT) Go trials in the 'God-Negative' pairing block

hitrate_godNegative:			proportion of Hits in the 'God-Negative' pairing block (valid RT trials only)
									Note: a 'hit' is a spacebar press in go-trials
										
zhit_godNegative:				z-score of hitrate 
validNoGoTrials_godNegative: 	number of valid (RT >=minValidRT) NoGo trials in the 'God-Negative' pairing block
 
FArate_godNegative:				proportion of False Alarms in the 'God-Negative' pairing block (valid RT trials only) 
										Note: a 'False Alarm' is a spacebar press in nogo-trials
										
zFA_godNegative:					z-score of False Alarm rate 

meanGoRT_godNegative:			mean Go ('hit') latency (in ms) in the 'God-Negative' pairing block (valid RT trials only)
SDgoRT_godNegative:				standard deviation (in ms) of the hit latencies in the 'God-Negative' pairing block (valid RT trials only)

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

Note: the correct response for 'go' words is the spacebar press; the correct response for 'nogo' words is simply waiting 

1. Practice:
- 3 practice blocks: one practice block each for practicing Positive, Negative, and God 'Go' words (block order is randomly determined)
- Positive: 'go' words are 'positive' words, 'nogo' words are 'negative' words (words from each category are sampled randomly without replacement)
		ratio 'go' trials : 'nogo' trials: 1:1
- Negative: 'go' words are 'negative' words, 'nogo' words are 'positive' words (words from each category are sampled randomly without replacement)
		ratio 'go' trials : 'nogo' trials: 1:1
- God: 'go' words are 'god' words, 'nogo' words are 'animal' words (words from each category are sampled randomly without replacement)
		ratio 'go' trials : 'nogo' trials: 2:1
					
2. Test:
- 2 test blocks: (1) pairing of God go-trials and Positive go-trials and (2) pairing of God go-trials and Negative go-trials
-> block order is determined by groupnumber:
odd groupnumbers run: God-Negative pairings before God-Positive pairings
even groupnumbers run: God-Positive pairings before God-Negative pairings

(1) Pairing of God and Positive words: go-trials = god words and positive words; nogo-trials = animal words and negative words (words from each category are sampled randomly without replacement)
	ratio God-go trials: Animal-nogo trials = 2:1; ratio Positive-go trials: Negative-nogo trials = 1:1

(2) Pairing of God and Negative words: go-trials = god words and negative words; nogo-trials = animal words and positive words (words from each category are sampled randomly without replacement)
	ratio God-go trials: Animal-nogo trials = 2:1; ratio Negative-go trials: Positive-nogo trials = 1:1

- each block runs 14 training trials:
	(1) Pairing of God and Positive words: 4 god-go trials, 2 animal-nogo trial, 4 positive-go trials, 4 negative-nogo trials
	(2) Pairing of God and Negative words: 4 god-go trials, 2 animal-nogo trial, 4 negative-go trials, 4 positive-nogo trials
	
- each block runs 63 test trials (36 go trials: 27 nogo trials => 4 go trials: 3 nogo trials)	
	(1) Pairing of God and Positive words: 18 god-go trials, 9 animal-nogo trial, 18 positive-go trials, 18 negative-nogo trials
	(2) Pairing of God and Negative words: 18 god-go trials, 9 animal-nogo trial, 18 negative-go trials, 18 positive-nogo trials	

	
Trial Sequence:
Go-Trials: 
	- go-word is presented for max. 1400ms (default; can be edited under section Editable Parameters)
	- Correct Feedback (if spacebar press) is presented for 250ms (to change timings: go to section TRIALS)
	- Error Feedback (if no spacebar press) is presented for 450ms (to change timings: go to section TRIALS)
	- blank screen presented for 100ms (default; can be edited under section Editable Parameters) btw. trials
	
NoGo-Trials: 
	- nogo-word is presented for max. 1000ms (default; can be edited under section Editable Parameters)
	- Correct Feedback (if no spacebar press) is presented for 250ms (to change timings: go to section TRIALS)
	- Error Feedback (if spacebar press) is presented for 450ms	(to change timings: go to section TRIALS)
	- blank screen presented for 100ms (default; can be edited under section Editable Parameters) btw. trials	

___________________________________________________________________________________________________________________	
STIMULI
___________________________________________________________________________________________________________________
provided by original script by Dr. Steven Pirutinsky
* words are presented in Turquoise on a black background (size can be edited under section Editable Parameters); font: Arial
* category labels are presented in White on a black background (size can be edited under section Editable Parameters); font: Arial

___________________________________________________________________________________________________________________	
INSTRUCTIONS 
___________________________________________________________________________________________________________________
main instructions based on the original script by Dr. Steven Pirutinsky.
The main instructions in this script are run by html-pages. To change main instructions, open the html-files
in a simple text editor (e.g. Notepad for Win; TextEdit for Mac) and change instructions in the html documents.

Additional instructions were added to task using text elements. All text element instructions can be
edit 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:

/goTimeout:					response timeout for go-trials (in ms) (default: 1400ms)
/nogoTimeout:				response timeout for nogo-trials (in ms) (default: 1000ms)
/iti:						the inter trial interval (blank screen; in ms) (default: 100ms)
/minValidRT:				the minimum response time (in ms) that is considered a valid response (default: 300ms)

/wordSize:					proportional sizing (relative canvas height) of the presented words (default: 5%)
/categoryLabelSize:			proportional sizing (relative canvas height) of the category labels (default: 5%)