1#!/usr/local/bin/bash 2 3usage(){ 4echo " 5Written by Brian Bushnell and Jonathan Rood 6Last modified September 15, 2015 7 8Dedupe2 is identical to Dedupe except it supports hashing unlimited kmer 9prefixes and suffixes per sequence. Dedupe supports at most 2 of each, 10but uses slightly more memory. You can manually set the number of kmers to 11hash per read with the numaffixmaps (nam) flag. Dedupe will automatically 12call Dedupe2 if necessary (if nam=3 or higher) so this script is no longer 13necessary. 14 15For documentation, please consult dedupe.sh; syntax is identical. 16" 17} 18 19#This block allows symlinked shellscripts to correctly set classpath. 20pushd . > /dev/null 21DIR="${BASH_SOURCE[0]}" 22while [ -h "$DIR" ]; do 23 cd "$(dirname "$DIR")" 24 DIR="$(readlink "$(basename "$DIR")")" 25done 26cd "$(dirname "$DIR")" 27DIR="$(pwd)/" 28popd > /dev/null 29 30#DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/" 31CP="$DIR""current/" 32JNI="-Djava.library.path=""$DIR""jni/" 33JNI="" 34 35z="-Xmx1g" 36z2="-Xms1g" 37set=0 38 39if [ -z "$1" ] || [[ $1 == -h ]] || [[ $1 == --help ]]; then 40 usage 41 exit 42fi 43 44calcXmx () { 45 source "$DIR""/calcmem.sh" 46 setEnvironment 47 parseXmx "$@" 48 if [[ $set == 1 ]]; then 49 return 50 fi 51 freeRam 3200m 84 52 z="-Xmx${RAM}m" 53 z2="-Xms${RAM}m" 54} 55calcXmx "$@" 56 57dedupe() { 58 local CMD="java $JNI $EA $EOOM $z $z2 -cp $CP jgi.Dedupe2 $@" 59 echo $CMD >&2 60 eval $CMD 61} 62 63dedupe "$@" 64