annotate bin/SpliceTrap_measure.pl @ 4:cd336e593a92 draft

planemo upload
author bioitcore
date Thu, 07 Sep 2017 16:53:12 -0400
parents adc0f7765d85
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
1 # Author: wuj@cshl.edu
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
2 use strict;
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
3 use Getopt::Long;
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
4 ####################
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
5 my %config=do "$ENV{HOME}/.SpliceTrap.pl.ini";
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
6 my $SrcFolder=$config{SrcFolder};
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
7 #my $SrcFolder="/data/zhang/wuj/tools/SpliceTrap.0.8";
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
8 ####################
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
9 my $MapSoftware="eland";
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
10 my $ReadFileFormat="";
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
11 my $ReadFile1Name="";
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
12 my $ReadFile2Name="";
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
13 my $CutoffLevel="H";
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
14 my $OutputPrefix="Result";
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
15 my $CutoffOnly=0;
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
16 my $ReadSize=36;
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
17
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
18 GetOptions (
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
19 "m:s"=>\$MapSoftware,
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
20 "f:s"=>\$ReadFileFormat,
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
21 "1:s"=>\$ReadFile1Name,
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
22 "2:s"=>\$ReadFile2Name,
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
23 "c:s"=>\$CutoffLevel,
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
24 "o:s"=>\$OutputPrefix,
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
25 "s:i"=>\$ReadSize,
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
26 # "local:s"=>\$local,
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
27 "rerun"=>\$CutoffOnly
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
28 );
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
29
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
30
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
31 my $InputParaDes=" Usage of the script (v0.82):
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
32 -m Mapping software: eland/bowtie/rmap
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
33 -f Read File Format: fasta/fastq
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
34 -1 Read File 1
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
35 -2 Read File 2
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
36 -c Cutoff Level:H/M/L
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
37 Means High, Middle or Low
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
38 -o Output prefix
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
39 -s Read Size 36
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
40 --rerun Only run the last step, which is filtering
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
41 ";
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
42
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
43 if($ReadFile1Name eq "" or $ReadFile2Name eq "" or $ReadFileFormat eq "")
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
44 {
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
45 print $InputParaDes;
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
46 exit;
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
47 }
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
48
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
49 if($ReadFileFormat ne "fastq" and $ReadFileFormat ne "fasta")
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
50 {
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
51 print $InputParaDes;
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
52 exit;
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
53
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
54 }
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
55
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
56 if($CutoffLevel ne "H" and $CutoffLevel ne "M" and $CutoffLevel ne "L")
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
57 {
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
58 print $InputParaDes;
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
59 exit;
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
60 }
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
61
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
62 my $dirname1=`dirname $ReadFile1Name`;
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
63 my $dirname2=`dirname $ReadFile2Name`;
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
64 if($dirname1 ne ".")
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
65 {
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
66 system("ln -s $ReadFile1Name ./");
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
67 }
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
68 if($dirname2 ne ".")
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
69 {
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
70 system("ln -s $ReadFile2Name ./");
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
71 }
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
72
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
73 $ReadFile1Name = `basename $ReadFile1Name`;
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
74 chomp($ReadFile1Name);
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
75 $ReadFile2Name = `basename $ReadFile2Name`;
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
76 chomp($ReadFile2Name);
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
77 my $start = time;
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
78 if($MapSoftware eq "bowtie")
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
79 {
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
80 print "=================STAGE 1 MAPPING===================\n";
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
81 system("bash $SrcFolder/mapping_bowtie.sh $ReadFile1Name $ReadFileFormat") if not $CutoffOnly;
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
82 system("bash $SrcFolder/mapping_bowtie.sh $ReadFile2Name $ReadFileFormat") if not $CutoffOnly;
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
83 print "STAGE 1 FINISHED IN ",time-$start," seconds\n";
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
84 print "=================STAGE 2 ESTIMATION================\n";
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
85
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
86 system("bash $SrcFolder/batch_para_cov10p_fit.sh $ReadFile1Name $ReadFile2Name $OutputPrefix $ReadSize") if not $CutoffOnly;
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
87 print "STAGE 2 FINISHED IN ",time-$start," seconds\n";
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
88 print "=================STAGE 3 CUTOFF====================\n";
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
89 system("bash $SrcFolder/apply_cutoff.sh $OutputPrefix $CutoffLevel");
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
90 print "STAGE 3 FINISHED IN ",time-$start," seconds\n";
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
91
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
92
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
93
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
94 }
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
95
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
96 if($MapSoftware eq "rmap")
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
97 {
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
98 print "=================STAGE 1 MAPPING===================\n";
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
99
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
100 system("bash $SrcFolder/mapping_rmap.sh $ReadFile1Name $ReadFileFormat") if not $CutoffOnly;
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
101 system("bash $SrcFolder/mapping_rmap.sh $ReadFile2Name $ReadFileFormat") if not $CutoffOnly;
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
102 print "=================STAGE 2 ESTIMATION================\n";
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
103
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
104 system("bash $SrcFolder/batch_para_cov10p_fit.sh $ReadFile1Name $ReadFile2Name $OutputPrefix $ReadSize") if not $CutoffOnly;
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
105 print "=================STAGE 3 CUTOFF====================\n";
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
106 system("bash $SrcFolder/apply_cutoff.sh $OutputPrefix $CutoffLevel");
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
107
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
108
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
109 }
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
110
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
111 print "============ALL DONE, OUTPUTFILE:$OutputPrefix.txt\n";