annotate mosaics_wrapper.pl @ 12:ce96e302ee92 draft default tip

Uploaded
author dongjun
date Thu, 10 Jan 2013 17:33:09 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
1 # Wrapper for MOSAiCS
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
2 # Written by Dongjun Chung, Jan. 15, 2013
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
3
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
4 #!/usr/bin/env perl;
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
5 use warnings;
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
6 use strict;
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
7 use File::Temp qw/tempfile/;
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
8 use File::Temp qw/tempdir/;
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
9 use File::Basename;
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
10
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
11 # parse command arguments
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
12 # inactive arguments: useChrfile, chrfile, excludeChr
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
13 # meaningless argument: analysisType (for later use)
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
14
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
15 die "Usage: perl mosaics_wrapper.pl [chip_path] [chip_file_format] [control_path] [control_file_format] [peak_path] [peak_file_format] [analysis_type] [report_summary_path] [report_gof_path] [report_exploratory_path] [PET?] [chromosome-wise?] [fdr_level] [frag_len] [bin_size] [capping] [signal_model] [bg_est_method] [d] [maxgap] [minsize] [thres] [parallel] [n_core]" unless @ARGV == 24;
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
16
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
17 my ( $chip_path, $chip_file_format, $control_path, $control_file_format, $peak_path, $peak_file_format, $analysis_type, $report_summary_path, $report_gof_path, $report_exploratory_path, $pet, $by_chr, $fdr_level, $frag_len, $bin_size, $capping, $signal_model, $bg_est_method, $d, $maxgap, $minsize, $thres, $parallel, $n_core ) = @ARGV;
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
18
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
19 # parse options: analysis type
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
20
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
21 if ( $analysis_type ne "IO" ) {
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
22 print "Only 'IO' is supported for analysis type!\n";
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
23 exit 1;
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
24 }
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
25
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
26
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
27 # parse options: report summary
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
28
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
29 my $report_summary = "FALSE";
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
30 if ( $report_summary_path ne "None" ) {
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
31 $report_summary = "TRUE";
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
32 }
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
33
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
34 # parse options: report GOF
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
35
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
36 my $report_gof = "FALSE";
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
37 if ( $report_gof_path ne "None" ) {
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
38 $report_gof = "TRUE";
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
39 }
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
40
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
41 # parse options: report exploratory analysis
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
42
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
43 my $report_exploratory = "FALSE";
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
44 if ( $report_exploratory_path ne "None" ) {
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
45 $report_exploratory = "TRUE";
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
46 }
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
47
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
48 # write a R scrip to run
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
49
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
50 my $tempdir_bin = tempdir();
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
51
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
52 my $cmd = qq|
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
53 suppressPackageStartupMessages(library(mosaics))
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
54 try( suppressPackageStartupMessages(library(parallel)), silent=TRUE )
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
55
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
56 mosaicsRunAll(
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
57 chipFile="$chip_path",
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
58 chipFileFormat="$chip_file_format",
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
59 controlFile="$control_path",
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
60 controlFileFormat="$control_file_format",
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
61 binfileDir="$tempdir_bin",
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
62 peakFile="$peak_path",
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
63 peakFileFormat="$peak_file_format",
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
64 reportSummary=$report_summary,
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
65 summaryFile="$report_summary_path",
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
66 reportExploratory=$report_exploratory,
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
67 exploratoryFile="$report_exploratory_path",
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
68 reportGOF=$report_gof,
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
69 gofFile="$report_gof_path",
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
70 PET=$pet,
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
71 byChr=$by_chr,
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
72 useChrfile=FALSE,
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
73 chrfile=NULL,
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
74 excludeChr=NULL,
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
75 FDR=$fdr_level,
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
76 fragLen=$frag_len,
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
77 binSize=$bin_size,
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
78 capping=$capping,
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
79 bgEst="$bg_est_method",
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
80 d=$d,
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
81 signalModel="$signal_model",
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
82 maxgap=$maxgap,
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
83 minsize=$minsize,
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
84 thres=$thres,
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
85 parallel=$parallel,
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
86 nCore=$n_core )
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
87
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
88 q()
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
89 |;
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
90
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
91 # run R
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
92
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
93 open( FT, "| R --slave --vanilla >& /dev/null" ) or die "Couldn't call R!\n";
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
94 print FT $cmd, "\n";
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
95 close FT or die "Couldn't finish R!\n";
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
96
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
97 exit;
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
98
ce96e302ee92 Uploaded
dongjun
parents:
diff changeset
99