Combining multiple scripts


Author
Message
Megan
Megan
Respected Member (465 reputation)Respected Member (465 reputation)Respected Member (465 reputation)Respected Member (465 reputation)Respected Member (465 reputation)Respected Member (465 reputation)Respected Member (465 reputation)Respected Member (465 reputation)Respected Member (465 reputation)
Group: Forum Members
Posts: 5, Visits: 24
Hello! I am creating a long study with multiple different parts in it. For some filler tasks, I am including the Psychomotor Vigilance Task, N-back task, and Stroop task. I downloaded the scripts for these tasks from the test library.

I want to put these tasks into the script I have for the rest of my study; however, I am worried about how to combine them without messing up the default settings and anything else. 

Is there a way to easily insert these scripts into my own script without messing any of them up? If not, how would you recommend going about combining the scripts?

Thanks!

Megan
Megan
Megan
Respected Member (465 reputation)Respected Member (465 reputation)Respected Member (465 reputation)Respected Member (465 reputation)Respected Member (465 reputation)Respected Member (465 reputation)Respected Member (465 reputation)Respected Member (465 reputation)Respected Member (465 reputation)
Group: Forum Members
Posts: 5, Visits: 24
meganhendrich - Friday, September 28, 2018
Hello! I am creating a long study with multiple different parts in it. For some filler tasks, I am including the Psychomotor Vigilance Task, N-back task, and Stroop task. I downloaded the scripts for these tasks from the test library.

I want to put these tasks into the script I have for the rest of my study; however, I am worried about how to combine them without messing up the default settings and anything else. 

Is there a way to easily insert these scripts into my own script without messing any of them up? If not, how would you recommend going about combining the scripts?

Thanks!

Megan

I found how to use /batch to combine multiple scripts. The only thing I'm not sure about is that I need to put the filler task scripts within my own script. For example, I would need to have blocks 1 and 2, then the filler tasks, then blocks 3 and 4, then the filler tasks again, and then blocks 5 and 6. 

Is there a way to do this without splitting my own task into separate files?

Megan
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 98K
meganhendrich - Friday, September 28, 2018
meganhendrich - Friday, September 28, 2018
Hello! I am creating a long study with multiple different parts in it. For some filler tasks, I am including the Psychomotor Vigilance Task, N-back task, and Stroop task. I downloaded the scripts for these tasks from the test library.

I want to put these tasks into the script I have for the rest of my study; however, I am worried about how to combine them without messing up the default settings and anything else. 

Is there a way to easily insert these scripts into my own script without messing any of them up? If not, how would you recommend going about combining the scripts?

Thanks!

Megan

I found how to use /batch to combine multiple scripts. The only thing I'm not sure about is that I need to put the filler task scripts within my own script. For example, I would need to have blocks 1 and 2, then the filler tasks, then blocks 3 and 4, then the filler tasks again, and then blocks 5 and 6. 

Is there a way to do this without splitting my own task into separate files?

Megan

If you want to use <batch>, then you need to split things into separate scripts. Otherwise, you need to put everything needed for your filler tasks (the <block>s, <trial>s, etc.) into the "actual" task script, and then run your filler blocks at the desired point in time between the actual task blocks via the script's <expt> element(s) /blocks attribute(s).

Megan
Megan
Respected Member (465 reputation)Respected Member (465 reputation)Respected Member (465 reputation)Respected Member (465 reputation)Respected Member (465 reputation)Respected Member (465 reputation)Respected Member (465 reputation)Respected Member (465 reputation)Respected Member (465 reputation)
Group: Forum Members
Posts: 5, Visits: 24
Dave - Monday, October 1, 2018
meganhendrich - Friday, September 28, 2018
meganhendrich - Friday, September 28, 2018
Hello! I am creating a long study with multiple different parts in it. For some filler tasks, I am including the Psychomotor Vigilance Task, N-back task, and Stroop task. I downloaded the scripts for these tasks from the test library.

I want to put these tasks into the script I have for the rest of my study; however, I am worried about how to combine them without messing up the default settings and anything else. 

Is there a way to easily insert these scripts into my own script without messing any of them up? If not, how would you recommend going about combining the scripts?

Thanks!

Megan

I found how to use /batch to combine multiple scripts. The only thing I'm not sure about is that I need to put the filler task scripts within my own script. For example, I would need to have blocks 1 and 2, then the filler tasks, then blocks 3 and 4, then the filler tasks again, and then blocks 5 and 6. 

Is there a way to do this without splitting my own task into separate files?

Megan

If you want to use <batch>, then you need to split things into separate scripts. Otherwise, you need to put everything needed for your filler tasks (the <block>s, <trial>s, etc.) into the "actual" task script, and then run your filler blocks at the desired point in time between the actual task blocks via the script's <expt> element(s) /blocks attribute(s).

If I split them into separate scripts and decide to use the group assignment (like I mentioned in my comment on the other post), how do I set it up to put people into 4 different conditions when the two assignments blocks are in different scripts?

This is the script example I posted on the other post:

<expt >
/ preinstructions = (informedconsent)
/ blocks = [
1 = noreplace(VisualEncoding, AuditoryEncoding);
2 = BMIS;
3 = demographics;
4 = noreplace(VisualMisinfo, AuditoryMisinfo);
5 = BMIS;
6 = Recall;
7 = InstructRecognition;
8 = Recognition
]
/ postinstructions = (debrief)
</expt>

Blocks 1 and 4 are what make up the 4 conditions. If they are in different scripts, how do I do the group assignment?
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 98K
meganhendrich - Monday, October 1, 2018

If I split them into separate scripts and decide to use the group assignment (like I mentioned in my comment on the other post), how do I set it up to put people into 4 different conditions when the two assignments blocks are in different scripts?

This is the script example I posted on the other post:

<expt >
/ preinstructions = (informedconsent)
/ blocks = [
1 = noreplace(VisualEncoding, AuditoryEncoding);
2 = BMIS;
3 = demographics;
4 = noreplace(VisualMisinfo, AuditoryMisinfo);
5 = BMIS;
6 = Recall;
7 = InstructRecognition;
8 = Recognition
]
/ postinstructions = (debrief)
</expt>

Blocks 1 and 4 are what make up the 4 conditions. If they are in different scripts, how do I do the group assignment?

You do the condition assignment in the <batch> elements, i.e. you should have
- a "VisualEncoding.iqx" script that only runs the visual encoding block(s)
- an "AuditoryEncoding.iqx" script that only runs the auditory encoding block(s)
as well as
- a "VisualMisinfo.iqx" script that only runs the visual misinfo block(s), and finally
- an "AuditoryMisinfo.iqx" script that only runs the auditory misinfo block(s).

Then you define the as many <batch> elements as you have conditions as sketched out in your other thread:

https://www.millisecond.com/forums/FindPost25573.aspx

You have four conditions -- VV, AA, VA, and AV. I.e. you end up with

// condition 1: VV
<batch>
/ subjects = (1 of 4)
/ groupassignment = groupnumber
/ file = "visualencoding.iqx"
/ file = "bmis.iqx"
/ file = "demographics.iqx"
/ file = "visualmisinfo.iqx"
/ file = "bmis.iqx"
...
</batch>

// condition 2: AA
<batch>
/ subjects = (2 of 4)
/ groupassignment = groupnumber
/ file = "auditoryencoding.iqx"
/ file = "bmis.iqx"
/ file = "demographics.iqx"
/ file = "auditorymisinfo.iqx"
/ file = "bmis.iqx"
...
</batch>

// condition 3: VA
<batch>
/ subjects = (1 of 4)
/ groupassignment = groupnumber
/ file = "visualencoding.iqx"
/ file = "bmis.iqx"
/ file = "demographics.iqx"
/ file = "auditorymisinfo.iqx"
/ file = "bmis.iqx"
...
</batch>

// condition 4: AV
<batch>
/ subjects = (2 of 4)
/ groupassignment = groupnumber
/ file = "auditoryencoding.iqx"
/ file = "bmis.iqx"
/ file = "demographics.iqx"
/ file = "visualmisinfo.iqx"
/ file = "bmis.iqx"
...
</batch>

Megan
Megan
Respected Member (465 reputation)Respected Member (465 reputation)Respected Member (465 reputation)Respected Member (465 reputation)Respected Member (465 reputation)Respected Member (465 reputation)Respected Member (465 reputation)Respected Member (465 reputation)Respected Member (465 reputation)
Group: Forum Members
Posts: 5, Visits: 24
Dave - Monday, October 1, 2018
meganhendrich - Monday, October 1, 2018

If I split them into separate scripts and decide to use the group assignment (like I mentioned in my comment on the other post), how do I set it up to put people into 4 different conditions when the two assignments blocks are in different scripts?

This is the script example I posted on the other post:

<expt >
/ preinstructions = (informedconsent)
/ blocks = [
1 = noreplace(VisualEncoding, AuditoryEncoding);
2 = BMIS;
3 = demographics;
4 = noreplace(VisualMisinfo, AuditoryMisinfo);
5 = BMIS;
6 = Recall;
7 = InstructRecognition;
8 = Recognition
]
/ postinstructions = (debrief)
</expt>

Blocks 1 and 4 are what make up the 4 conditions. If they are in different scripts, how do I do the group assignment?

You do the condition assignment in the <batch> elements, i.e. you should have
- a "VisualEncoding.iqx" script that only runs the visual encoding block(s)
- an "AuditoryEncoding.iqx" script that only runs the auditory encoding block(s)
as well as
- a "VisualMisinfo.iqx" script that only runs the visual misinfo block(s), and finally
- an "AuditoryMisinfo.iqx" script that only runs the auditory misinfo block(s).

Then you define the as many <batch> elements as you have conditions as sketched out in your other thread:

https://www.millisecond.com/forums/FindPost25573.aspx

You have four conditions -- VV, AA, VA, and AV. I.e. you end up with

// condition 1: VV
<batch>
/ subjects = (1 of 4)
/ groupassignment = groupnumber
/ file = "visualencoding.iqx"
/ file = "bmis.iqx"
/ file = "demographics.iqx"
/ file = "visualmisinfo.iqx"
/ file = "bmis.iqx"
...
</batch>

// condition 2: AA
<batch>
/ subjects = (2 of 4)
/ groupassignment = groupnumber
/ file = "auditoryencoding.iqx"
/ file = "bmis.iqx"
/ file = "demographics.iqx"
/ file = "auditorymisinfo.iqx"
/ file = "bmis.iqx"
...
</batch>

// condition 3: VA
<batch>
/ subjects = (1 of 4)
/ groupassignment = groupnumber
/ file = "visualencoding.iqx"
/ file = "bmis.iqx"
/ file = "demographics.iqx"
/ file = "auditorymisinfo.iqx"
/ file = "bmis.iqx"
...
</batch>

// condition 4: AV
<batch>
/ subjects = (2 of 4)
/ groupassignment = groupnumber
/ file = "auditoryencoding.iqx"
/ file = "bmis.iqx"
/ file = "demographics.iqx"
/ file = "visualmisinfo.iqx"
/ file = "bmis.iqx"
...
</batch>

I'm planning to put this study on Inquisit Web. How does the group assignment work when you put it online? Will the group assignment work the same way?
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 98K
meganhendrich - Monday, October 1, 2018
Dave - Monday, October 1, 2018
meganhendrich - Monday, October 1, 2018

If I split them into separate scripts and decide to use the group assignment (like I mentioned in my comment on the other post), how do I set it up to put people into 4 different conditions when the two assignments blocks are in different scripts?

This is the script example I posted on the other post:

<expt >
/ preinstructions = (informedconsent)
/ blocks = [
1 = noreplace(VisualEncoding, AuditoryEncoding);
2 = BMIS;
3 = demographics;
4 = noreplace(VisualMisinfo, AuditoryMisinfo);
5 = BMIS;
6 = Recall;
7 = InstructRecognition;
8 = Recognition
]
/ postinstructions = (debrief)
</expt>

Blocks 1 and 4 are what make up the 4 conditions. If they are in different scripts, how do I do the group assignment?

You do the condition assignment in the <batch> elements, i.e. you should have
- a "VisualEncoding.iqx" script that only runs the visual encoding block(s)
- an "AuditoryEncoding.iqx" script that only runs the auditory encoding block(s)
as well as
- a "VisualMisinfo.iqx" script that only runs the visual misinfo block(s), and finally
- an "AuditoryMisinfo.iqx" script that only runs the auditory misinfo block(s).

Then you define the as many <batch> elements as you have conditions as sketched out in your other thread:

https://www.millisecond.com/forums/FindPost25573.aspx

You have four conditions -- VV, AA, VA, and AV. I.e. you end up with

// condition 1: VV
<batch>
/ subjects = (1 of 4)
/ groupassignment = groupnumber
/ file = "visualencoding.iqx"
/ file = "bmis.iqx"
/ file = "demographics.iqx"
/ file = "visualmisinfo.iqx"
/ file = "bmis.iqx"
...
</batch>

// condition 2: AA
<batch>
/ subjects = (2 of 4)
/ groupassignment = groupnumber
/ file = "auditoryencoding.iqx"
/ file = "bmis.iqx"
/ file = "demographics.iqx"
/ file = "auditorymisinfo.iqx"
/ file = "bmis.iqx"
...
</batch>

// condition 3: VA
<batch>
/ subjects = (1 of 4)
/ groupassignment = groupnumber
/ file = "visualencoding.iqx"
/ file = "bmis.iqx"
/ file = "demographics.iqx"
/ file = "auditorymisinfo.iqx"
/ file = "bmis.iqx"
...
</batch>

// condition 4: AV
<batch>
/ subjects = (2 of 4)
/ groupassignment = groupnumber
/ file = "auditoryencoding.iqx"
/ file = "bmis.iqx"
/ file = "demographics.iqx"
/ file = "visualmisinfo.iqx"
/ file = "bmis.iqx"
...
</batch>

I'm planning to put this study on Inquisit Web. How does the group assignment work when you put it online? Will the group assignment work the same way?

Yes, it will work the same way. You have several options in the web experiment's settings (when you upload your scripts; it's not something you need to change in the scripts). You can have Inquisit Web
- generate random group numbers, which means your participants will be assigned randomly to one of the four conditions, or
- generate sequential group numbers, which would result in a sort of round-robin assignment (first participant gets 1st condition, 2nd participant gets the 2nd one, 3rd participant gets the 3rd condition, 4th gets the 4th one, the 5th participant would again get the 1st condition, the 6th again the 2nd, and so forth), or
- if you wish to assign specific participants (e.g. if you have a fixed pool of participants) to specific conditions, you can pass the condition in via a query parameter in the URL. This is useful, for example, if you have 80 participants total and wish to pre-assign 20 to condition #1, another 20 to condition #2, a 3rd batch of 20 participants to condition #3, and so forth.


GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search