Mercurial > repos > md-anderson-bioinformatics > heat_map_creation_advanced
diff heatmap_advanced.sh @ 0:8893ea2915cc draft
Initial Version of Advanced Heat Map Tool
author | insilico-bob |
---|---|
date | Tue, 08 Aug 2017 14:01:05 -0400 |
parents | |
children | 603f99d9e776 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/heatmap_advanced.sh Tue Aug 08 14:01:05 2017 -0400 @@ -0,0 +1,58 @@ +echo $1 $2 $3 $4 $5 $6 $7 $8 $9 ${10} ${11} ${12} ${13} ${14} ${15} ${16} ${17} ${18} ${19} + +#run python to validate the input matrix and covariate files (if any) +#output="$(python ${11}/mda_heatmap_gen.py $@)" +output=$(python ${11}/mda_heatmap_gen.py "$@") +rc=$?; +echo $output; +if [ $rc != 0 ] +then + exit $rc; +fi + +#create temp directory for row and col order and dendro files. +tdir=${11}/$(date +%y%m%d%M%S) +echo $tdir +mkdir $tdir +#run R to cluster matrix +output="$(R --slave --vanilla --file=${11}/CHM_Advanced.R --args $3 $4 $5 $6 $7 $8 $9 $tdir/ROfile.txt $tdir/COfile.txt $tdir/RDfile.txt $tdir/CDfile.txt ${12} ${13} ${14} ${15} 2>&1)" +rc=$?; +if [ $rc != 0 ] +then + echo $output; + if [ `echo "$output" | grep -c "Inf in foreign function call"` -gt 0 ] + then + echo ""; + echo "Note: This error can occur when there is no variation in a row or column. Try a different distance measure or remove rows/columns without variation."; + fi + exit $rc; +fi + +#there are a variable number of triplicate parameters for classification bars +count=0 +classifications='' + +#if row cut was done, add that autogenerated classification +if [ ${12} -gt 1 ] +then + classifications="Class $tdir/ROfile.txt.cut row_categorical" +fi + +#if col cut was done, add that autogenerated classification +if [ ${13} -gt 1 ] +then + classifications="$classifications Class $tdir/COfile.txt.cut col_categorical" +fi + +#now add the user provided classification files +for i in "$@"; do + if [ $count -gt 15 ] + then + classifications=$classifications' '$i + fi + count=$((count+1)) +done +#call java program to generate NGCHM viewer files. +java -jar ${11}/GalaxyMapGen.jar "${1}" "${2}" DataLayer1 $3 linear ${14} ${15} $4 $5 $6 $tdir/ROfile.txt $tdir/RDfile.txt $7 $8 $9 $tdir/COfile.txt $tdir/CDfile.txt ${10} "${16}" $classifications +#clean up tempdir +rm -rf $tdir