Remove columns from the VCF file using vcftools
1
0
Entering edit mode
5.9 years ago

I have a vcf file and I would like to remove four columns (CHROM,POS,ID,REF). I used the following command to extract these columns of my vcf file, but it's not working.

vcf-subset -c CHROM,POS,ID,REF my.vcf > out.vcf

What else should I add to that command?

vcftools • 6.1k views
ADD COMMENT
1
Entering edit mode

if you want to remove headers and first 4 columns:

 $ awk -v OFS="\t" '!/##/ {$1=$2=$3=$4="";print}' test.vcf|sed 's/^\s\+//g'

If you want to retain headers, but remove first 4 columns:

$ awk -v OFS="\t" '!/##/ {$1=$2=$3=$4=""}1' test.vcf |sed 's/^\s\+//g'

with sed:

$ sed -e '/##/! s/^\([^\t]*\t\)\{4\}//g' test.vcf | grep -v "##"
ADD REPLY
2
Entering edit mode
5.9 years ago
cut  --complement -f 1-4 my.vcf | grep -v "^##"> out.vcf
ADD COMMENT
1
Entering edit mode

shouldn't it be (as OP wants to remove the columns, not retain)?

cut --complement -f1-4  my.vcf | grep -v "^##"> out.vcf
ADD REPLY
0
Entering edit mode

yes, you're right ! I didn't notice. Thanks.

ADD REPLY

Login before adding your answer.

Traffic: 2842 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6