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";