annotate methylation_analysis_bismark/methylation_analysis/methylation_extractor_wrapper.pl @ 9:5b208d4d89e5 draft

Uploaded
author fcaramia
date Tue, 04 Dec 2012 20:15:26 -0500
parents d15b4a2e3bdc
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
1 use strict;
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
2 use warnings;
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
3 use File::Basename;
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
4 use Cwd;
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
5 use File::Path qw(make_path remove_tree);
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
6 die qq(
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
7 Bad numbr of inputs
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
8
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
9 ) if(!@ARGV);
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
10
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
11 my @bam_list_entries;
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
12
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
13 my $player_options = "";
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
14 my $bam_file;
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
15 my $ending;
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
16 my $genome;
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
17 my $summary ;
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
18 my $output;
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
19
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
20 foreach my $input (@ARGV)
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
21 {
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
22 my @tmp = split "::", $input;
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
23 if($tmp[0] eq "GENOME")
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
24 {
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
25 $genome=$tmp[1];
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
26 }
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
27 elsif($tmp[0] eq "OPTION")
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
28 {
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
29 $player_options = "$player_options ${tmp[1]}";
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
30 }
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
31 elsif($tmp[0] eq "ENDING")
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
32 {
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
33 $ending = $tmp[1];
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
34 }
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
35 elsif($tmp[0] eq "BAMFILE")
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
36 {
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
37 $bam_file = $tmp[1];
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
38 }
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
39 elsif($tmp[0] eq "SUMMARY")
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
40 {
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
41 $summary = $tmp[1];
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
42 }
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
43 elsif($tmp[0] eq "OUTPUT")
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
44 {
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
45 $output = $tmp[1];
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
46 }
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
47 else
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
48 {
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
49 die("Unknown Input: $input\n");
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
50 }
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
51 }
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
52
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
53
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
54 my $working_dir = cwd();
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
55
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
56 #convert bam to sam
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
57 my $sam_file = "$working_dir/coverted.sam";
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
58 system("samtools view -h $bam_file > $sam_file");
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
59
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
60 #run bismark
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
61
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
62 system ("bismark_methylation_extractor $ending $player_options --genome_folder $genome $sam_file > $summary 2>&1");
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
63
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
64 move_files($working_dir);
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
65
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
66 sub move_files
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
67 {
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
68 my $name;
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
69 my $suffix;
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
70 my $path;
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
71 my $local_dir = $_[0];
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
72 opendir(DIR, $local_dir);
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
73 #print ("Openning: $local_dir\n");
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
74 my @FILES= readdir(DIR);
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
75 closedir(DIR);
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
76 foreach my $file (@FILES)
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
77 {
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
78 if ($file eq "." || $file eq "..")
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
79 {
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
80 #print ("./ or ../ skipped\n");
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
81 }
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
82 elsif (-d "$local_dir/$file")
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
83 {
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
84 #print ("moving to: $local_dir/$file\n");
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
85 move_files("$local_dir/$file");
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
86 }
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
87 elsif (-f "$local_dir/$file")
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
88 {
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
89 ($name,$path,$suffix) = fileparse($file,qr"\.[^.]*$");
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
90 if ($suffix eq ".bedGraph")
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
91 {
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
92 system ("mv $local_dir/$file $output");
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
93 }
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
94 }
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
95 else
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
96 {
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
97 die("Unrecognized file generated: $file\n");
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
98 }
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
99
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
100 }
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
101 }
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
102
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
103
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
104
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
105
d15b4a2e3bdc Uploaded
fcaramia
parents:
diff changeset
106