Mercurial > repos > vipints > rdiff
diff rDiff/galaxy/rdiff_run.sh @ 0:0f80a5141704
version 0.3 uploaded
author | vipints |
---|---|
date | Thu, 14 Feb 2013 23:38:36 -0500 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/rDiff/galaxy/rdiff_run.sh Thu Feb 14 23:38:36 2013 -0500 @@ -0,0 +1,90 @@ +#/bin/bash +# Galaxy wrapper script for rDiff version 0.3 +# Copyright (C) 2013 cBio Department Memorial Sloan-Kettering Cancer Center + +#Licence Information: GPL +#This program is free software; you can redistribute it and/or modify +#it under the terms of the GNU General Public License as published by +#the Free Software Foundation; either version 3 of the License, or +#(at your option) any later version + +set -e + +PROG=`basename $0` +DIR=`dirname $0` +. ${DIR}/../bin/rdiff_config.sh + +echo +echo ${PROG}: This program is part of the rDiff version $RDIFF_VERSION. +echo +echo rDiff performs differential expression testing from RNA-Seq measurements. +echo + +if [ -z "$1" -o "$1" == '--help' ]; +then + echo Usage: $0 poisson\|param\|nonparam in.gff readLength out.resultfile out_result_dir S1_in.bam?:S2_in.bam?: + echo " :" $0 poisson\|param\|nonparam in.gff readLength out.resultfile out_result_dir S1_R1_in.bam?S1_R2_in.bam?:S2_R1_in.bam?S2_R2_in.bam?: + echo " or:" $0 --help + echo + false +fi + +if [ "$1" != 'poisson' -a "$1" != 'param' -a "$1" != 'nonparam' ]; +then + echo invalid parameter: $1 + echo + echo "For usage:" $0 --help + false +fi + +TEST_METH=$1 ## Test method +shift +GFF_INPUT=$1 ## Genome annotation in GFF format +shift +readlength=$1 ## Sequencing read length +shift +RDIFF_OUT=$1 ## rDiff result file +shift +RDIFF_OUT_PATH=$1 ## temp session working directory +shift + +if [ -d $RDIFF_OUT_PATH ] +then + echo "Using the extra file path as : $RDIFF_OUT_PATH" +else + mkdir -p ${RDIFF_OUT_PATH} ## create the temp working directory +fi + +## changing tool working directory to the session path +cd ${RDIFF_OUT_PATH} + +## Seperating the files according to the sample and correspondinf replicates. +SAMPLE_LIST=() +for SAMPLES in $@ +do + IFS='?' + for BAM_FILE in ${SAMPLES} + do + if [ $BAM_FILE = ":" ]; ## samples are seperated with ':' + then + SAMPLE_LIST+=(${SAMPLE_FNAME%?}) ## samples are separating + SAMPLE_FNAME="" + continue + fi + if [ ! -f ${BAM_FILE}.bai ] + then + echo "Indexing $BAM_FILE" + ${RDIFF_SAMTOOLS_INCLUDE_DIR}/samtools index $BAM_FILE + else + echo "$BAM_FILE already indexed" + fi + La_fn=$BAM_FILE + SAMPLE_FNAME="$SAMPLE_FNAME$BAM_FILE," ## adding a ',' between each BAM files. + done +done + +## rDiff execution call +${DIR}/../bin/rdiff -o ${RDIFF_OUT_PATH} -d / -g ${GFF_INPUT} -a ${SAMPLE_LIST[0]} -b ${SAMPLE_LIST[1]} -m ${TEST_METH} -L ${readlength} + +## rdiff out file +ln -fs ${RDIFF_OUT_PATH}/P_values_rDiff_"${TEST_METH/param/parametric}".tab ${RDIFF_OUT}