0
|
1 #!/usr/bin/perl
|
7
|
2 #V1.0.1 added log, option parameters
|
0
|
3 use strict;
|
7
|
4 use warnings;
|
|
5 use Getopt::Long;
|
0
|
6
|
7
|
7 my $input_pileup_file;
|
|
8 my $output_pileup_file;
|
|
9 my $log_file;
|
|
10
|
|
11 my $nb_base_covered=0;
|
|
12 my $nb_variant=0;
|
|
13 GetOptions (
|
|
14 "input_pileup_file=s" => \$input_pileup_file,
|
|
15 "log_file=s" => \$log_file
|
|
16 ) or die("Error in command line arguments\n");
|
|
17
|
|
18 open(IN, $input_pileup_file) or die ("Can't open $input_pileup_file\n");
|
0
|
19
|
|
20 #Extraction des variants
|
|
21 my $nb_line=0;
|
7
|
22 while (my $line=<IN>){
|
|
23 #print $line;
|
|
24 $nb_base_covered++;
|
|
25 $line =~ s/\$//g; #the read start at this position
|
|
26 $line =~ s/\^.//g; #the read end at this position followed by quality char
|
|
27 #print $line;
|
0
|
28
|
7
|
29 my @field = split(/\s+/,$line);
|
0
|
30 if ($field[4]=~/[ATGCN]/i){
|
|
31 print $line;
|
7
|
32 $nb_variant++;
|
0
|
33 }
|
|
34 }
|
7
|
35 close(IN);
|
|
36
|
|
37 open (LF,">$log_file") or die("Can't open $log_file\n");
|
|
38 print LF "\n####\t Variant extraction \n";
|
|
39 print LF "Position covered :\t$nb_base_covered\n";
|
|
40 print LF "Variant detected :\t$nb_variant\n";
|
|
41 close (LF);
|