Mercurial > repos > geert-vandeweyer > bamtools_wrappers
comparison SplitOnRg.pl @ 0:afa51021226c draft
Uploaded
author | geert-vandeweyer |
---|---|
date | Tue, 18 Feb 2014 04:18:08 -0500 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:afa51021226c |
---|---|
1 #!/usr/bin/perl | |
2 | |
3 use Getopt::Std; | |
4 getopts('i:o:O:k:p:', \%opts) ; | |
5 | |
6 | |
7 # split | |
8 $prefix = "primary_$opts{'O'}"."_"; | |
9 $command = "cd $opts{'p'} && bamtools split -in $opts{'i'} -tag RG -tagPrefix '$prefix' -stub $opts{'p'}/data" ; | |
10 #print $command ."\n"; | |
11 system($command); | |
12 chdir($opts{'p'}); | |
13 # rename to correct format. | |
14 my @ls = `ls data.primary_$opts{'O'}_RG_*`; | |
15 open OUT, ">$opts{'o'}"; | |
16 $idx = 0; | |
17 foreach(@ls) { | |
18 chomp(); | |
19 my $from = $_; | |
20 $from =~ m/(.*_RG_)(.*)(\.bam)/; | |
21 my $rg = $2; | |
22 # remove data_ | |
23 my $to = substr($from,5,-4); | |
24 $to .= "_visible_bam_$opts{'k'}"; | |
25 $to =~ s/RG_//; | |
26 $to =~ m/primary_(\d+)_(.*)_visible.*/; | |
27 $rgreplace = $2; | |
28 $rgreplace =~ s/\.|-|_//g; | |
29 $to =~ s/(primary_\d+_)(.*)(_visible.*)/$1$rgreplace$3/; | |
30 system("mv $from $to"); | |
31 $idx++; | |
32 print OUT "File $idx : $to : ReadGroup: $rg\n"; | |
33 } | |
34 close OUT; | |
35 exit; | |
36 | |
37 |