This is a test version of Biostars. For the public version, visit https://www.biostars.org.
vcflib GPAT++: How to select all individuals as targets?

I am attempting to run the iHS tool from the GPAT++ suite. It requires the target individuals to be listed as a zero based, comma separated list. I would like to apply this to all individuals in the 1000 genomes phase 3 vcf files. My command is:

iHS --target <(seq -s ',' 0 2503) --file ../chr1.vcf.gz --region 1:860694-861694 --type GT

Here I am using a substitution in bash to create a comma separated sequence of all individuals. However, GPAT rejects this:

INFO: there are 1 individuals in the target
INFO: target ids: /dev/fd/63
INFO: file: ../chr1.ancestral.vcf.gz
INFO: set seqid region to : 1:860694-861694
FATAL: target option is required -- or -- less than two individuals in target

Is there a way of selecting all individuals? The --target argument is required to run the program.

Just to confirm, I have tried running iHS with the argument --target 0,1,2,3,4,5,6 just to confirm there are no other issues with my input, and this runs absolutely fine.

snp vcf vcflib gpat++

1 answer

The argument requires a string as input. Therefore:

sequence="$(seq -s ',' 0 2503)"
echo $sequence

produces the sequence as one long string of numbers.

Log in to answer this question.