Mercurial > repos > pjbriggs > rnachipintegrator
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