1#!/usr/local/bin/bash
2
3usage(){
4echo "
5Description:  Generates a histogram of kmer counts for the input reads or assemblies.
6
7Usage:	khist.sh in=<input> hist=<histogram output>
8
9Please see bbnorm.sh for more information.
10All the flags are the same, only the parameters (near the bottom of this file) differ.
11"
12}
13
14#This block allows symlinked shellscripts to correctly set classpath.
15pushd . > /dev/null
16DIR="${BASH_SOURCE[0]}"
17while [ -h "$DIR" ]; do
18  cd "$(dirname "$DIR")"
19  DIR="$(readlink "$(basename "$DIR")")"
20done
21cd "$(dirname "$DIR")"
22DIR="$(pwd)/"
23popd > /dev/null
24
25#DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/"
26CP="$DIR""current/"
27
28z="-Xmx31g"
29z2="-Xms31g"
30set=0
31
32if [ -z "$1" ] || [[ $1 == -h ]] || [[ $1 == --help ]]; then
33	usage
34	exit
35fi
36
37calcXmx () {
38	source "$DIR""/calcmem.sh"
39	setEnvironment
40	parseXmx "$@"
41	if [[ $set == 1 ]]; then
42	return
43	fi
44	freeRam 31000m 84
45	z="-Xmx${RAM}m"
46	z2="-Xms${RAM}m"
47}
48calcXmx "$@"
49
50khist() {
51	local CMD="java $EA $EOOM $z $z2 -cp $CP jgi.KmerNormalize bits=32 ecc=f passes=1 keepall dr=f prefilter hist=stdout minprob=0 minqual=0 mindepth=0 minkmers=1 hashes=3 $@"
52	echo $CMD >&2
53	eval $CMD
54}
55
56khist "$@"
57