diff rnachipintegrator_wrapper.sh @ 0:d9c1f2133124 draft

Uploaded initial version 0.4.4.
author pjbriggs
date Tue, 30 Jun 2015 06:44:06 -0400
parents
children 5f69a2c1b9c9
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rnachipintegrator_wrapper.sh	Tue Jun 30 06:44:06 2015 -0400
@@ -0,0 +1,137 @@
+#!/bin/sh
+#
+# Wrapper script to run RnaChipIntegrator as a Galaxy tool
+#
+# usage: sh rnachipintegrator_wrapper.sh [OPTIONS] <rnaseq_in> <chipseq_in> --output_xls <xls_out>
+#
+echo RnaChipIntegrator: analyse gene expression and ChIP data
+#
+# Collect command line options
+opts=
+output_xls=
+peaks_to_transcripts_out=
+zip_file=
+while [ ! -z "$1" ] ; do
+    case $1 in
+	--output_xls)
+	    shift; output_xls=$1
+	    ;;
+	--summit_outputs)
+	    shift; peaks_to_transcripts_out=$1
+	    shift; tss_to_summits_out=$1
+	    ;;
+	--peak_outputs)
+	    shift; transcripts_to_edges_out=$1
+	    shift; transcripts_to_edges_summary=$1
+	    shift; tss_to_edges_out=$1
+	    shift; tss_to_edges_summary=$1
+	    ;;
+	--zip_file)
+	    shift; zip_file=$1
+	    ;;
+	*)
+	    opts="$opts $1"
+	    ;;
+    esac
+    shift
+done 
+#
+# Run RnaChipIntegrator
+# NB append stderr to stdout otherwise Galaxy job will fail
+# Direct output to a temporary directory
+outdir=`mktemp -d`
+base_name=galaxy
+cmd="RnaChipIntegrator.py --project=${outdir}/${base_name} $opts"
+echo $cmd
+$cmd 2>&1
+#
+# Check exit code
+exit_status=$?
+if [ "$exit_status" -ne "0" ] ; then
+    echo RnaChipIntegrator exited with non-zero status >&2
+    # Clean up and exit
+    /bin/rm -rf $outdir
+    exit $exit_status
+fi
+#
+# Deal with output files - XLS
+if [ -f "${outdir}/${base_name}.xls" ] ; then
+    /bin/mv ${outdir}/${base_name}.xls $output_xls
+else
+    echo No file ${outdir}/${base_name}.xls >&2
+    # Clean up and exit
+    /bin/rm -rf $outdir
+    exit 1
+fi
+#
+# Zip file
+if [ ! -z "$zip_file" ] ; then
+    for ext in "PeaksToTranscripts" "TSSToSummits" "TranscriptsToPeakEdges" "TranscriptsToPeakEdges_summary" "TSSToPeakEdges" "TSSToPeakEdges_summary" ; do
+	txt_file=${outdir}/${base_name}_${ext}.txt
+	if [ -f "$txt_file" ] ; then
+	    zip -j -g ${outdir}/archive.zip $txt_file
+	fi
+    done
+    /bin/mv ${outdir}/archive.zip $zip_file
+fi
+#
+# Peaks to transcripts
+if [ ! -z "$peaks_to_transcripts_out" ] ; then
+    outfile=${outdir}/${base_name}_PeaksToTranscripts.txt
+    if [ -f "$outfile" ] ; then
+	/bin/mv $outfile $peaks_to_transcripts_out
+    else
+	echo No file $outfile >&2
+    fi
+fi
+#
+# TSS to summits
+if [ ! -z "$tss_to_summits_out" ] ; then
+    outfile=${outdir}/${base_name}_TSSToSummits.txt
+    if [ -f "$outfile" ] ; then
+	/bin/mv $outfile $tss_to_summits_out
+    else
+	echo No file $outfile >&2
+    fi
+fi
+#
+# Transcripts to Peak Edges
+if [ ! -z "$transcripts_to_edges_out" ] ; then
+    outfile=${outdir}/${base_name}_TranscriptsToPeakEdges.txt
+    if [ -f "$outfile" ] ; then
+	/bin/mv $outfile $transcripts_to_edges_out
+    else
+	echo No file $outfile >&2
+    fi
+fi
+if [ ! -z "$transcripts_to_edges_summary" ] ; then
+    outfile=${outdir}/${base_name}_TranscriptsToPeakEdges_summary.txt
+    if [ -f "$outfile" ] ; then
+	/bin/mv $outfile $transcripts_to_edges_summary
+    else
+	echo No file $outfile >&2
+    fi
+fi
+#
+# TSS to Peak Edges
+if [ ! -z "$tss_to_edges_out" ] ; then
+    outfile=${outdir}/${base_name}_TSSToPeakEdges.txt
+    if [ -f "$outfile" ] ; then
+	/bin/mv $outfile $tss_to_edges_out
+    else
+	echo No file $outfile >&2
+    fi
+fi
+if [ ! -z "$tss_to_edges_summary" ] ; then
+    outfile=${outdir}/${base_name}_TSSToPeakEdges_summary.txt
+    if [ -f "$outfile" ] ; then
+	/bin/mv $outfile $tss_to_edges_summary
+    else
+	echo No file $outfile >&2
+    fi
+fi
+#
+# Clean up
+/bin/rm -rf $outdir
+#
+# Done