Write headers that are VCF4.0 compliant
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@4213 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
parent
ef7454a241
commit
e9af893bf4
|
|
@ -1,6 +1,7 @@
|
||||||
#!/usr/bin/perl -w
|
#!/usr/bin/perl -w
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use Data::Dumper;
|
||||||
|
|
||||||
sub usage {
|
sub usage {
|
||||||
print "Usage: $0 <input.vcf> <input.maf> <output.vcf>\n";
|
print "Usage: $0 <input.vcf> <input.maf> <output.vcf>\n";
|
||||||
|
|
@ -62,16 +63,17 @@ while (my $vcfline = <VCF_IN>) {
|
||||||
if ($vcfline =~ /##/) {
|
if ($vcfline =~ /##/) {
|
||||||
print VCF_OUT "$vcfline\n";
|
print VCF_OUT "$vcfline\n";
|
||||||
} elsif ($vcfline =~ /#CHROM/) {
|
} elsif ($vcfline =~ /#CHROM/) {
|
||||||
|
|
||||||
print VCF_OUT "##source=AnnotateVCFwithMAF\n";
|
print VCF_OUT "##source=AnnotateVCFwithMAF\n";
|
||||||
print VCF_OUT "##INFO=cDNAchange,1,String,cDNAchange\n";
|
print VCF_OUT "##INFO=<ID=cDNAchange,Number=1,Type=String,Description=\"cDNAchange\">\n";
|
||||||
print VCF_OUT "##INFO=classification,1,String,classification\n";
|
print VCF_OUT "##INFO=<ID=classification,Number=1,Type=String,Description=\"classification\">\n";
|
||||||
print VCF_OUT "##INFO=codonchange,1,String,codonchange\n";
|
print VCF_OUT "##INFO=<ID=codonchange,Number=1,Type=String,Description=\"codonchange\">\n";
|
||||||
print VCF_OUT "##INFO=gene,1,String,gene\n";
|
print VCF_OUT "##INFO=<ID=gene,Number=1,Type=String,Description=\"gene\">\n";
|
||||||
print VCF_OUT "##INFO=genomechange,1,String,genomechange\n";
|
print VCF_OUT "##INFO=<ID=genomechange,Number=1,Type=String,Description=\"genomechange\">\n";
|
||||||
print VCF_OUT "##INFO=proteinchange,1,String,proteinchange\n";
|
print VCF_OUT "##INFO=<ID=proteinchange,Number=1,Type=String,Description=\"proteinchange\">\n";
|
||||||
print VCF_OUT "##INFO=strand,1,String,strand\n";
|
print VCF_OUT "##INFO=<ID=strand,Number=1,Type=String,Description=\"strand\">\n";
|
||||||
print VCF_OUT "##INFO=transcript,1,String,transcript\n";
|
print VCF_OUT "##INFO=<ID=transcript,Number=1,Type=String,Description=\"transcript\">\n";
|
||||||
print VCF_OUT "##INFO=type,1,String,type\n";
|
print VCF_OUT "##INFO=<ID=type,Number=1,Type=String,Description=\"type\">\n";
|
||||||
print VCF_OUT "$vcfline\n";
|
print VCF_OUT "$vcfline\n";
|
||||||
|
|
||||||
$vcfline =~ s/#//g;
|
$vcfline =~ s/#//g;
|
||||||
|
|
@ -110,8 +112,12 @@ while (my $vcfline = <VCF_IN>) {
|
||||||
|
|
||||||
my @newinfo;
|
my @newinfo;
|
||||||
foreach my $infokey (sort { $a cmp $b } keys(%info)) {
|
foreach my $infokey (sort { $a cmp $b } keys(%info)) {
|
||||||
|
if (!defined($info{$infokey})) {
|
||||||
|
#print "$infokey is missing\n";
|
||||||
|
} else {
|
||||||
push(@newinfo, "$infokey=$info{$infokey}");
|
push(@newinfo, "$infokey=$info{$infokey}");
|
||||||
}
|
}
|
||||||
|
}
|
||||||
$vcfentry{'INFO'} = join(";", @newinfo);
|
$vcfentry{'INFO'} = join(";", @newinfo);
|
||||||
|
|
||||||
my @newvcfline;
|
my @newvcfline;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue