annotate methylation_analysis/methylation_extractor_wrapper.pl @ 4:282edadee017 draft

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