diff rnachipintegrator_wrapper.sh @ 0:0abe6bac47a6 draft

planemo upload for repository https://github.com/fls-bioinformatics-core/galaxy-tools/tree/master/rnachipintegrator commit 97d556dae96db5457590a3a257392b6e4093a912-dirty
author pjbriggs
date Wed, 24 Feb 2016 09:25:18 -0500
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rnachipintegrator_wrapper.sh	Wed Feb 24 09:25:18 2016 -0500
@@ -0,0 +1,105 @@
+#!/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 and peak data
+#
+# Collect command line options
+opts=
+xlsx_file=
+zip_file=
+gene_centric=
+peak_centric=
+gene_centric_summary=
+peak_centric_summary=
+while [ ! -z "$1" ] ; do
+    case $1 in
+	--xlsx_file)
+	    shift; xlsx_file=$1
+	    opts="$opts --xlsx"
+	    ;;
+	--output_files)
+	    shift; gene_centric=$1
+	    shift; peak_centric=$1
+	    ;;
+	--summary_files)
+	    shift; gene_centric_summary=$1
+	    shift; peak_centric_summary=$1
+	    opts="$opts --summary"
+	    ;;
+	--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 --name=${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 XLSX file
+if [ -f "${outdir}/${base_name}.xlsx" ] ; then
+    /bin/mv ${outdir}/${base_name}.xlsx $xlsx_file
+else
+    echo No file ${outdir}/${base_name}.xlsx >&2
+    # Clean up and exit
+    /bin/rm -rf $outdir
+    exit 1
+fi
+#
+# Generate zip file
+if [ ! -z "$zip_file" ] ; then
+    for ext in \
+	gene_centric \
+	gene_centric_summary \
+	peak_centric \
+	peak_centric_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
+#
+# Collect tab delimited files
+for ext in \
+    gene_centric \
+    gene_centric_summary \
+    peak_centric \
+    peak_centric_summary ; do
+    eval dest=\$$ext
+    if [ ! -z "$dest" ] ; then
+	outfile=${outdir}/${base_name}_${ext}.txt
+	if [ -f "$outfile" ] ; then
+	    /bin/mv $outfile $dest
+	else
+	    echo ERROR missing output file $outfile >&2
+	fi
+    fi
+done
+#
+# Clean up
+/bin/rm -rf $outdir
+#
+# Done