trim_manta_tandem.pl 750 B

123456789101112131415161718192021222324252627282930313233
  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;
  4. my $genome=shift;
  5. while(<STDIN>){
  6. if(/^#/){
  7. print ;
  8. next;
  9. }
  10. my ($chr,$pos,$id,$ref,$alt,$qual, $filter,$other)=split /\t/, $_, 8;
  11. next unless $filter eq 'PASS';
  12. next if $other=~/IMPRECISE/;
  13. if($alt eq '<DUP:TANDEM>' or $alt eq '<DEL>'){
  14. my ($end)=$other=~/END=(\d+)/;
  15. my $new_end;
  16. if ($end - $pos > 10000){
  17. $new_end+=$pos+10000
  18. }elsif($end < $pos){
  19. next
  20. }else{
  21. $new_end=$end
  22. }
  23. my $seq=`samtools faidx $genome $chr:$pos-$new_end |awk 'NR>1'`;
  24. $seq=~s/\s//g;
  25. print join("\t",$chr,$pos,$id,$seq,$ref,$qual, $filter,$other);
  26. }else{
  27. print ;
  28. }
  29. }