diff --git a/codes/filter_snpindel.pl b/codes/filter_snpindel.pl index 3405527..3b884da 100755 --- a/codes/filter_snpindel.pl +++ b/codes/filter_snpindel.pl @@ -40,13 +40,14 @@ print OUT "$new_head\n"; print TAG_OUT "TAG\t$head\n"; my %blacklist = blacklist(); -my ($muts_ref, $hcs_ref, $mmr_ref, $hhr1_ref, $hhr2_ref) = info(); +my ($muts_ref, $hcs_ref, $mmr_ref, $hhr1_ref, $hhr2_ref, $promoter_ref) = info(); my @muts = @$muts_ref; my @hcs = @$hcs_ref; my @mmr = @$mmr_ref; my @hhr1 = @$hhr1_ref; my @hhr2 = @$hhr2_ref; +my @promoter = @$promoter_ref; my %transcript = transcript(); my %oncogenic = get_oncogenic(); @@ -209,6 +210,12 @@ while () { } } + # TERT 突变特殊处理 不过滤 + if ((grep {$_ eq $gene} @promoter) and ($pipeline eq 'somatic') and ($gene eq 'TERT') + and ($line[1] eq '1295228' and $line[4] eq 'A') or ($line[1] eq '1295250' and $line[4] eq 'A')) { + @reason = (); + } + if (@reason) { print TAG_OUT join(";", @reason), "\t", join("\t", @line), "\n"; next; @@ -250,6 +257,10 @@ while () { if (grep {$_ eq $gene} @hhr2) { push @genetags, 'hrr2'; } + if (grep {$_ eq $gene} @promoter) { + @genetags = (); + push @genetags, 'promoter'; + } my $validated = '1'; @@ -304,9 +315,12 @@ sub info { if ($record{'HRR_II'} ne "NA") { @hhr2 = split(/\//, $record{'HRR_II'}); } + if ($record{'promoter'} ne "NA") { + @promoter = split(/\//, $record{'promoter'}); + } } } - return \@muts, \@hcs, \@mmr, \@hhr1, \@hhr2 + return \@muts, \@hcs, \@mmr, \@hhr1, \@hhr2, \@promoter, } sub transcript {