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 |
