annotate conifer_wrapper.pl @ 16:558f04d13648 draft

Uploaded
author bzonnedda
date Thu, 23 Feb 2017 04:25:31 -0500
parents bb2097b44940
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
1 #!/usr/bin/env perl
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
2
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
3 # Execute CoNIFER plotcalls and
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
4 # returns a HTML page with links to PNG plots
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
5
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
6 use strict;
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
7 use warnings;
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
8 use Getopt::Long;
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
9 use File::Basename;
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
10 use File::Path qw(make_path remove_tree);
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
11
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
12 my $command;
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
13 my $dir=$ENV{'CONIFER_PATH'};
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
14
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
15 our ($multiple, $input, $regions, $sample, $window, $html_file, $html_folder, $verbose);
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
16
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
17 GetOptions('multiple'=>\$multiple, 'input=s'=>\$input, 'regions=s'=>\$regions,
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
18 'sample:s'=>\$sample, 'window:i'=>\$window, 'verbose'=>\$verbose,
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
19 'html_file=s'=>\$html_file, 'html_folder=s'=>\$html_folder);
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
20
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
21 make_path($html_folder);
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
22
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
23 # Build command
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
24 if ($multiple){
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
25 # Reformat file with regions as required by CoNIFER plotcalls
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
26 system("awk '{print \$5,\$1,\$2,\$3,\$4}' OFS=\"\t\" $regions > regions_sorted");
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
27
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
28 $command = "python ".$dir."/conifer.py plotcalls --input $input --calls regions_sorted --window $window --outputdir $html_folder 2>&1";
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
29 }else{
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
30 my $sample_command = ($sample eq "") ? "" : "--sample $sample";
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
31 my $plot_name = $regions;
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
32 $plot_name =~ s/[:-]/_/g;
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
33 $command = "python ".$dir."/conifer.py plot --input $input --region $regions $sample_command --output $html_folder/$plot_name.png 2>&1";
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
34 }
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
35
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
36 # Run CoNIFER
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
37 system($command);
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
38 $verbose and print $command,"\n";
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
39
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
40 # Write HTML file
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
41 open(HTML, ">$html_file");
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
42 print HTML "<html><head><title>CoNIFER: Copy Number Analysis for Targeted Resequencing</title></head><body><h3>CoNIFER Output Files:</h3><p><ul>\n";
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
43 opendir(DIR, $html_folder);
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
44
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
45 my @FILES= grep { /png$/ } readdir(DIR);
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
46 closedir(DIR);
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
47 foreach my $file (@FILES) {
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
48 print HTML "<li><a href=$file>$file</a><img src=\"$file\" height=\"50\" width=\"100\"></li>\n";
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
49 }
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
50 print HTML "</ul></p></body></html>\n";
bb2097b44940 Uploaded
bzonnedda
parents:
diff changeset
51 close(HTML);