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