Mercurial > repos > john-mccallum > pcr_markers
diff vcf2gvf.sh @ 0:21053f7f9ed1 draft
First upload of PCR Marker tools
author | john-mccallum |
---|---|
date | Thu, 14 Jun 2012 19:29:26 -0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vcf2gvf.sh Thu Jun 14 19:29:26 2012 -0400 @@ -0,0 +1,46 @@ +#!/bin/sh +##convert vcf to gvf +##NOTE This is a very simple basic parser for a complex format. + +##usage vcf2gvf.sh <vcf file> <outputfile> + +#Copyright 2012 John McCallum & Leshi Chen +#New Zealand Institute for Plant and Food Research + +#New Zealand Institute for Plant and Food Research +#This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + + + +inputfile=$1 +outputfile=$2 + +echo "##gvf-version 1.05" > $outputfile + +awk ' +BEGIN {OFS="\t"} + +##get feature type +{if (index($8,"INDEL")== 1) {type="INDEL"} else {type="SNP"} } +##get feature length +{if (type=="SNP") + {feat_length=1} + else {feat_length=length($4)} +} +{end=($2+feat_length)} + +!/^#/ { print $1 ,"SAMTOOLS",type,$2,end,$6,".",".","ID="$1":SAMTOOLS:"type":"$2";Variant_seq="$5";Reference_seq="$4";"$8} + +END {print ""} +' "$inputfile" > "$outputfile" \ No newline at end of file