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