#!/usr/bin/perl #use strict; #use warnings; die "usage:perl $0 outputDir tumor" unless @ARGV==2; my ($outputDir,$tumor)=@ARGV; my @mmr=("MLH1","MSH2","MSH6","PMS2","EPCAM"); open OUT,">$outputDir/MMR/${tumor}_mmr.txt"; open IN, "$outputDir/mutation/${tumor}.snp.indel.Germline.anno.hg19_multianno_filtered.txt"; open MMRPRE,">$outputDir/MMR/${tumor}.mmr.pre.txt"; my $head=; my (@content,@mmrpre); while(){ chomp; my @line=split("\t"); next unless grep{$line[7] eq $_}@mmr; push @mmrpre,"$_"; next if $line[0]!~/1|2|3/; my $sig=($line[0]=='1')?'致病突变':($line[0]=='2')?'疑似致病突变':'意义未明突变'; shift @line; if($line[9] ne '.'){ my $hgvs=$line[9]; $hgvs=~/:(NM_\d+):exon\d+:(c\.\S+):(p\.\S+)$/; my $gene=$line[6]; my $tr=$1; my $codon=$2; my $protein=$3; my $freq=(split(":",$line[-1]))[-2]; my $muttype=($line[8]=~/nonsynonymous SNV/)?'错义突变':($line[8]=~/^frameshift/)?'移码突变':($line[8]=~/^nonframeshift/)?'非移码突变':($line[8]=~/stopgain/)?'提前终止':'未知'; push @content,join("\t",($gene,$tr,$codon,$protein,$freq,$muttype,$sig)); } } if (@content){ print OUT "gene\ttranscript\tc_change\tp_change\tfreq\tmuttype\tsig\n"; print OUT join("\n",@content); } if (@mmrpre){ print MMRPRE $head; print MMRPRE join("\n",@mmrpre)."\n"; }