annotate mytools/bowtie2bed.pl @ 7:f0dc65e7f6c0

Uploaded
author xuebing
date Fri, 09 Mar 2012 19:59:07 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
1 #!/usr/bin/perl
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
2
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
3 # write bowtie output to bed file
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
4
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
5 # perl bowtie2bed.pl s_5_trimmed.map outputfile 200
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
6 # input
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
7 # inputfile
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
8 # extension
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
9
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
10 $inputfile = $ARGV[0];
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
11 $extension = $ARGV[2];
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
12 $outputfile = $ARGV[1];#$inputfile.".extended_$extension"."bp.bed";
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
13
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
14 print "input file: $inputfile\n";
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
15 print "output file: $outputfile\n";
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
16 print "track name: $outputfile\n";
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
17
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
18 open (IN,$inputfile) or die $!;
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
19 open (OUT,">$outputfile") or die $!;
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
20
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
21 print OUT "track name=$outputfile itemRgb=On\n";
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
22
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
23 while(<IN>)
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
24 {
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
25 @flds = split/\t/;
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
26 $flds[0] =~ s/ /-/g;#substitute space to dash
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
27
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
28 if ($flds[1] eq "+")
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
29 {
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
30 print OUT join("\t",$flds[2],$flds[3],$flds[3]+$extension+length($flds[4]),$flds[0],1,$flds[1],$flds[3],$flds[3]+length($flds[4]),"255,0,0","\n");
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
31 }
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
32 else
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
33 {
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
34
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
35 print OUT join("\t",$flds[2],max(0,$flds[3]-$extension),$flds[3]+length($flds[4]),$flds[0],1,$flds[1],$flds[3],$flds[3]+length($flds[4]),"0,255,0","\n");
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
36 }
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
37 }
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
38 close(IN);
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
39 close(OUT);
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
40
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
41 sub max()
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
42 {
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
43 ($a,$b) = @_;
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
44 return $a>$b?$a:$b;
f0dc65e7f6c0 Uploaded
xuebing
parents:
diff changeset
45 }