Mercurial > repos > bioitcore > splicetrap
diff bin/SpliceTrap_measure.pl @ 1:adc0f7765d85 draft
planemo upload
author | bioitcore |
---|---|
date | Thu, 07 Sep 2017 15:06:58 -0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bin/SpliceTrap_measure.pl Thu Sep 07 15:06:58 2017 -0400 @@ -0,0 +1,111 @@ +# Author: wuj@cshl.edu +use strict; +use Getopt::Long; +#################### +my %config=do "$ENV{HOME}/.SpliceTrap.pl.ini"; +my $SrcFolder=$config{SrcFolder}; +#my $SrcFolder="/data/zhang/wuj/tools/SpliceTrap.0.8"; +#################### +my $MapSoftware="eland"; +my $ReadFileFormat=""; +my $ReadFile1Name=""; +my $ReadFile2Name=""; +my $CutoffLevel="H"; +my $OutputPrefix="Result"; +my $CutoffOnly=0; +my $ReadSize=36; + +GetOptions ( + "m:s"=>\$MapSoftware, + "f:s"=>\$ReadFileFormat, + "1:s"=>\$ReadFile1Name, + "2:s"=>\$ReadFile2Name, + "c:s"=>\$CutoffLevel, + "o:s"=>\$OutputPrefix, + "s:i"=>\$ReadSize, +# "local:s"=>\$local, + "rerun"=>\$CutoffOnly +); + + +my $InputParaDes=" Usage of the script (v0.82): + -m Mapping software: eland/bowtie/rmap + -f Read File Format: fasta/fastq + -1 Read File 1 + -2 Read File 2 + -c Cutoff Level:H/M/L + Means High, Middle or Low + -o Output prefix + -s Read Size 36 + --rerun Only run the last step, which is filtering +"; + +if($ReadFile1Name eq "" or $ReadFile2Name eq "" or $ReadFileFormat eq "") +{ + print $InputParaDes; + exit; +} + +if($ReadFileFormat ne "fastq" and $ReadFileFormat ne "fasta") +{ + print $InputParaDes; + exit; + +} + +if($CutoffLevel ne "H" and $CutoffLevel ne "M" and $CutoffLevel ne "L") +{ + print $InputParaDes; + exit; +} + +my $dirname1=`dirname $ReadFile1Name`; +my $dirname2=`dirname $ReadFile2Name`; +if($dirname1 ne ".") +{ + system("ln -s $ReadFile1Name ./"); +} +if($dirname2 ne ".") +{ + system("ln -s $ReadFile2Name ./"); +} + +$ReadFile1Name = `basename $ReadFile1Name`; +chomp($ReadFile1Name); +$ReadFile2Name = `basename $ReadFile2Name`; +chomp($ReadFile2Name); +my $start = time; +if($MapSoftware eq "bowtie") +{ + print "=================STAGE 1 MAPPING===================\n"; + system("bash $SrcFolder/mapping_bowtie.sh $ReadFile1Name $ReadFileFormat") if not $CutoffOnly; + system("bash $SrcFolder/mapping_bowtie.sh $ReadFile2Name $ReadFileFormat") if not $CutoffOnly; + print "STAGE 1 FINISHED IN ",time-$start," seconds\n"; + print "=================STAGE 2 ESTIMATION================\n"; + + system("bash $SrcFolder/batch_para_cov10p_fit.sh $ReadFile1Name $ReadFile2Name $OutputPrefix $ReadSize") if not $CutoffOnly; + print "STAGE 2 FINISHED IN ",time-$start," seconds\n"; + print "=================STAGE 3 CUTOFF====================\n"; + system("bash $SrcFolder/apply_cutoff.sh $OutputPrefix $CutoffLevel"); + print "STAGE 3 FINISHED IN ",time-$start," seconds\n"; + + + +} + +if($MapSoftware eq "rmap") +{ + print "=================STAGE 1 MAPPING===================\n"; + + system("bash $SrcFolder/mapping_rmap.sh $ReadFile1Name $ReadFileFormat") if not $CutoffOnly; + system("bash $SrcFolder/mapping_rmap.sh $ReadFile2Name $ReadFileFormat") if not $CutoffOnly; + print "=================STAGE 2 ESTIMATION================\n"; + + system("bash $SrcFolder/batch_para_cov10p_fit.sh $ReadFile1Name $ReadFile2Name $OutputPrefix $ReadSize") if not $CutoffOnly; + print "=================STAGE 3 CUTOFF====================\n"; + system("bash $SrcFolder/apply_cutoff.sh $OutputPrefix $CutoffLevel"); + + +} + +print "============ALL DONE, OUTPUTFILE:$OutputPrefix.txt\n";