annotate varscan/varscan_processSomatic.pl @ 4:572397bbe057 draft default tip

Added Xmx10G setting to both varscan_somatic wrappers
author geert-vandeweyer
date Wed, 26 Mar 2014 05:24:22 -0400
parents 848f3dc54593
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
1 #!/usr/bin/perl
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
2
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
3
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
4 use strict;
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
5 use Cwd;
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
6
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
7 die qq(
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
8 Bad numbr of inputs
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
9
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
10 ) if(!@ARGV);
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
11
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
12 my $options ="";
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
13 my $command="";
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
14 my $input="";
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
15 #my $output="";
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
16 my $working_dir = cwd();
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
17 my $log = '';
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
18 my %outfiles;
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
19 foreach my $arg (@ARGV)
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
20 {
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
21 my @tmp = split "::", $arg;
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
22 if($tmp[0] eq "COMMAND")
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
23 {
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
24 $command = $tmp[1];
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
25 }
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
26 elsif($tmp[0] eq "INPUT")
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
27 {
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
28 $input = $tmp[1];
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
29 }
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
30 elsif($tmp[0] eq "OPTION")
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
31 {
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
32 my @p = split(/\s+/,$tmp[1]);
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
33 $options = "$options ${tmp[1]}";
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
34 }
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
35 elsif($tmp[0] eq "OUTPUT")
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
36 {
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
37 my @p = split(/\s+/,$tmp[1]);
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
38 $p[0] = substr($p[0],2);
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
39 $outfiles{$p[0]} = $p[1];
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
40 }
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
41
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
42 elsif($tmp[0] eq "LOG")
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
43 {
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
44 $log = $tmp[1];
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
45 }
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
46 else
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
47 {
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
48 die("Unknown Input: $input\n");
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
49 }
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
50 }
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
51 system("ln -s $input $working_dir/in.dat");
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
52
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
53
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
54
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
55 ## RUN
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
56 $command = "$command $working_dir/in.dat $options > $log 2>&1";
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
57 system($command);
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
58
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
59 ## if tabular files are kept, write them to galaxy-datafile
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
60 if ($outfiles{'loh'} ne 'None') {
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
61 ##
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
62 system("cp '$working_dir/in.dat.LOH' '".$outfiles{'loh'}."'");
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
63 system("cp '$working_dir/in.dat.LOH.hc' '".$outfiles{'loh'}."'");
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
64 system("cp '$working_dir/in.dat.Germline' '".$outfiles{'germ'}."'");
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
65 system("cp '$working_dir/in.dat.Germline.hc' '".$outfiles{'germ_hc'}."'");
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
66 system("cp '$working_dir/in.dat.Somatic' '".$outfiles{'som'}."'");
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
67 system("cp '$working_dir/in.dat.Somatic.hc' '".$outfiles{'som_hc'}."'");
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
68 }
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
69 ## if vcf files are kept, generate them, and write to galaxy-datafile
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
70 if ($outfiles{'loh_hc_vcf'} ne 'None') {
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
71 tab2vcf($working_dir,'in.dat.LOH.hc',$outfiles{'loh_hc_vcf'});
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
72 tab2vcf($working_dir,'in.dat.Germline.hc',$outfiles{'germ_hc_vcf'});
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
73 tab2vcf($working_dir,'in.dat.Somatic.hc',$outfiles{'som_hc_vcf'});
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
74 }
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
75 exit;
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
76
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
77 sub tab2vcf
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
78 {
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
79 my $wd = shift;
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
80 my $in = shift;
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
81 my $out = shift;
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
82 open OUT, ">$out";
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
83 print OUT "##fileformat=VCFv4.1\n";
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
84 print OUT "##source=processSomatic\n";
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
85 print OUT '##INFO=<ID=DP,Number=1,Type=Integer,Description="Total depth of quality bases">'."\n";
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
86 print OUT '##INFO=<ID=SS,Number=1,Type=String,Description="Somatic status of variant (Germline,Somatic,LOH)">'."\n";
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
87 print OUT '##INFO=<ID=VPV,Number=1,Type=Float,Description="Variant P-value">'."\n";
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
88 print OUT '##INFO=<ID=SPV,Number=1,Type=Float,Description="Somatic Variant P-value">'."\n";
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
89 print OUT '##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">'."\n";
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
90 print OUT '##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality">'."\n";
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
91 print OUT '##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Read Depth">'."\n";
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
92 print OUT '##FORMAT=<ID=RD,Number=1,Type=Integer,Description="Depth of reference-supporting bases (reads1)">'."\n";
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
93 print OUT '##FORMAT=<ID=AD,Number=1,Type=Integer,Description="Depth of variant-supporting bases (reads2)">'."\n";
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
94 print OUT '##FORMAT=<ID=FREQ,Number=1,Type=String,Description="Variant allele frequency">'."\n";
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
95 print OUT '##FORMAT=<ID=DP4,Number=1,Type=String,Description="Strand read counts: ref/fwd, ref/rev, var/fwd, var/rev">'."\n";
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
96 print OUT '#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT NORMAL TUMOR'."\n";
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
97 open IN, "$wd/$in";
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
98 my $head = <IN>;
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
99 while (<IN>) {
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
100 chomp;
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
101 my @p = split(/\t/,$_);
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
102 my $td = $p[4] + $p[5] + $p[8] + $p[9];
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
103 my $vpv = sprintf('%.3E',$p[13]);
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
104 my $spv = sprintf('%.3E',$p[14]);
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
105 my $info = "DP=$td;SS=$p[12];VPV=$vpv;SPV=$spv";
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
106 ## gt normal string
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
107 my $gtnormal = '';
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
108 if ("$p[7]" eq "$p[2]") {
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
109 $gtnormal = "0/0";
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
110 }
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
111 elsif ("$p[7]" eq "$p[3]") {
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
112 $gtnormal = "1/1";
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
113 }
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
114 else {
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
115 $gtnormal = "0/1";
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
116 }
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
117 my $nsum = $p[4] + $p[5];
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
118 $gtnormal .= ":.:$nsum:$p[4]:$p[5]:$p[6]:$p[19],$p[20],$p[21],$p[22]";
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
119 ## gt tumor string
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
120 my $gttumor = '';
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
121 if ("$p[11]" eq "$p[2]") {
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
122 $gttumor = "0/0";
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
123 }
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
124 elsif ("$p[11]" eq "$p[3]") {
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
125 $gttumor = "1/1";
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
126 }
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
127 else {
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
128 $gttumor = "0/1";
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
129 }
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
130 my $tsum = $p[8] + $p[9];
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
131 $gttumor .= ":.:$tsum:$p[8]:$p[9]:$p[10]:$p[15],$p[16],$p[17],$p[18]";
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
132
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
133 ## outline
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
134 my $line = "$p[0]\t$p[1]\t.\t$p[2]\t$p[3]\t.\tPASS\t$info\tGT:GQ:DP:RD:AD:FREQ:DP4\t$gtnormal\t$gttumor\n";
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
135 print OUT $line;
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
136 }
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
137 close IN;
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
138 close OUT;
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
139 }
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
140 sub vs2vcf
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
141 {
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
142
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
143 #
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
144 # G l o b a l v a r i a b l e s
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
145 #
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
146 my $version = '0.1';
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
147
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
148 #
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
149 # Read in file
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
150 #
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
151 my $input = shift;
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
152 my $output = shift;
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
153 my $chr_ord = shift;
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
154 open(IN, $input) or die "Can't open $input': $!\n";
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
155 open(OUT, ">$output") or die "Can't create $output': $!\n";
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
156 my %output;
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
157
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
158 while ( <IN> )
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
159 {
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
160 if ( /^#/ )
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
161 {
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
162 print OUT;
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
163 next;
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
164 }
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
165 chomp;
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
166 my $line = $_;
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
167
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
168 my @flds = split ( "\t", $line );
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
169 my $ref = $flds[3];
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
170 my $alt = $flds[4];
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
171 #
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
172 # Deletion of bases
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
173 #
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
174 if ( $alt =~ /^\-/ )
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
175 {
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
176 ($flds[3], $flds[4]) = ($ref.substr($alt,1), $ref);
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
177 }
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
178
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
179 #
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
180 # Insertion of bases
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
181 #
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
182 if ( $alt =~ /^\+/ )
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
183 {
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
184 $flds[4] = $ref.substr($alt,1);
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
185 }
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
186 ## insert dot for reference positions.
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
187 if ($flds[4] eq '') {
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
188 $flds[4] = '.';
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
189 }
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
190 print OUT join( "\t", @flds),"\n" unless defined $chr_ord;
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
191 $output{$flds[0]}{$flds[1]} = join( "\t", @flds)."\n" if defined $chr_ord;
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
192 }
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
193 close(IN);
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
194 # if chromosome order given return in sorted order
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
195 if(defined $chr_ord)
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
196 {
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
197 for my $chrom (@{ $chr_ord })
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
198 {
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
199 for my $pos (sort {$a<=>$b} keys %{ $output{$chrom} })
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
200 {
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
201 print OUT $output{$chrom}{$pos};
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
202 }
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
203 }
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
204 }
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
205 close(OUT);
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
206 }
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
207
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
208
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
209 sub chromosome_order
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
210 {
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
211 my $input = shift;
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
212 # calculate flagstats
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
213 my $COMM = "samtools view -H $input | grep '^\@SQ'";
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
214 my @SQ = `$COMM`;
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
215 chomp @SQ;
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
216 for(my $i = 0; $i <= $#SQ; $i++)
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
217 {
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
218 $SQ[$i] =~ s/^\@SQ\tSN:(.*?)\tLN:\d+$/$1/;
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
219 }
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
220 return(@SQ);
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
221 }
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
222
848f3dc54593 Uploaded
geert-vandeweyer
parents:
diff changeset
223