58 lines
2.0 KiB
Perl
Executable File
58 lines
2.0 KiB
Perl
Executable File
#!/usr/bin/perl
|
|
use strict;
|
|
use warnings;
|
|
|
|
die "usage:perl $0 germline/somatic tumor_prefix name input_file outputDir" unless @ARGV==5;
|
|
my($type,$tumor,$name,$input,$outputDir)=@ARGV;
|
|
`filter_vep -i $input -o ${outputDir}/${name}_${type}_vepanno_filter.vcf --format vcf --force_overwrite --filter "(Consequence != synonymous_variant) and (Consequence != intron_variant) and (Consequence != intergenic_variant) and (Consequence != 3_prime_UTR_variant) and (Consequence != upstream_gene_variant) and (Consequence != downstream_gene_variant) and (Consequence != 5_prime_UTR_variant)"`;
|
|
|
|
if($type eq "germline"){
|
|
open IN,"${outputDir}/${name}_${type}_vepanno_filter.vcf";
|
|
open OUT,">${outputDir}/${name}_${type}_vepanno_Filter.vcf";
|
|
while(<IN>){
|
|
if (/^##/){
|
|
print OUT;
|
|
next;
|
|
}elsif(/^#CHROM/){
|
|
$_=~s/TUMOR/$tumor/;
|
|
print OUT;
|
|
next;
|
|
}else{
|
|
chomp;
|
|
my @line=split("\t",$_);
|
|
next if $line[6] ne "PASS";
|
|
my $n_af=(split(":",$line[-2]))[-2];
|
|
my $t_af=(split(":",$line[-1]))[-2];
|
|
$n_af=~s/%//;
|
|
$t_af=~s/%//;
|
|
print OUT "$_\n" if ($n_af>=10 and $t_af>=10);
|
|
}
|
|
}
|
|
`rm ${outputDir}/${name}_${type}_vepanno_filter.vcf`;
|
|
`mv ${outputDir}/${name}_${type}_vepanno_Filter.vcf ${outputDir}/${name}_${type}_vepanno_filter.vcf`;
|
|
}elsif($type eq "somatic"){
|
|
open IN,"${outputDir}/${name}_${type}_vepanno_filter.vcf";
|
|
open OUT,">${outputDir}/${name}_${type}_vepanno_Filter.vcf";
|
|
while(<IN>){
|
|
if (/^##/){
|
|
print OUT;
|
|
next;
|
|
}elsif(/^#CHROM/){
|
|
$_=~s/TUMOR/$tumor/;
|
|
print OUT;
|
|
next;
|
|
}else{
|
|
chomp;
|
|
my @line=split("\t",$_);
|
|
next if $line[6] ne "PASS";
|
|
my $n_af=(split(":",$line[-2]))[-2];
|
|
my $t_af=(split(":",$line[-1]))[-2];
|
|
$n_af=~s/%//;
|
|
$t_af=~s/%//;
|
|
print OUT "$_\n" if ($n_af<2 and $t_af>=5);
|
|
}
|
|
}
|
|
`rm ${outputDir}/${name}_${type}_vepanno_filter.vcf`;
|
|
`mv ${outputDir}/${name}_${type}_vepanno_Filter.vcf ${outputDir}/${name}_${type}_vepanno_filter.vcf`;
|
|
}
|