5 die "This program add HEADER and TAG of READ GROUP to bam file.\nAuther: Woody\nUsage: $0 <in.bam> <out.bam>\n" if @ARGV<2;
9 $in =~ /^.+\/(\w
+)\
.rmdup\
.bam
$/;
11 $out =~ /^(.+)\.bam$/;
14 open I
, "-|", "samtools-0.1.7 view -h $in";
15 open HEAD
, ">", "$op.header.sam";
16 open READ
, "|-", "samtools-0.1.7 view -bS - >$op.read.bam";
18 warn "$ip adding TAG...\n";
27 my @b = split /:/, $a[0];
28 my $rg = "$b[0]_$b[1]_$b[2]_$b[3]";
30 print READ
"$_\tRG:Z:$rg\n";
37 foreach (sort keys %RG) {
38 print HEAD
"\@RG\tID:$_\tPL:ILLUMINA\tSM:$ip\n";
42 warn "$ip reheadering...\n";
43 system "samtools reheader -P $op.header.sam $op.read.bam >$op.bam";
44 system "rm $op.header.sam $op.read.bam";