jpayne@69
|
1 #!/bin/bash
|
jpayne@69
|
2
|
jpayne@69
|
3 usage(){
|
jpayne@69
|
4 echo "
|
jpayne@69
|
5 Written by Brian Bushnell
|
jpayne@69
|
6 Last modified June 22, 2016
|
jpayne@69
|
7
|
jpayne@69
|
8 Description: Summarizes the stats output of Seal for evaluation of
|
jpayne@69
|
9 cross-contamination. The intended use is to map multiple libraries or
|
jpayne@69
|
10 assemblies, of different multiplexed organisms, to a concatenated reference
|
jpayne@69
|
11 containing one fused scaffold per organism. This will convert all of the
|
jpayne@69
|
12 resulting stats files (one per library) to a single text file, with multiple
|
jpayne@69
|
13 columns, indicating how much of the input hit the primary versus nonprimary
|
jpayne@69
|
14 scaffolds.
|
jpayne@69
|
15
|
jpayne@69
|
16 If ingoresametaxa or ignoresamebarcode are used, ref names must be
|
jpayne@69
|
17 in this format:
|
jpayne@69
|
18 barcode,library,tax,location
|
jpayne@69
|
19 For example:
|
jpayne@69
|
20 6-G,N0296,gammaproteobacteria_bacterium,deep_ocean
|
jpayne@69
|
21
|
jpayne@69
|
22 Usage: summarizeseal.sh in=<file,file...> out=<file>
|
jpayne@69
|
23
|
jpayne@69
|
24 You can alternately run 'summarizeseal.sh *.txt out=out.txt'
|
jpayne@69
|
25
|
jpayne@69
|
26 Parameters:
|
jpayne@69
|
27 in=<file> A list of stats files, or a text file containing one stats file name per line.
|
jpayne@69
|
28 out=<file> Destination for summary.
|
jpayne@69
|
29 printtotal=t (pt) Print a line summarizing the total contamination rate of all assemblies.
|
jpayne@69
|
30 ignoresametaxa=f Ignore secondary hits sharing taxonomy.
|
jpayne@69
|
31 ignoresamebarcode=f Ignore secondary hits sharing a barcode.
|
jpayne@69
|
32 ignoresamelocation=f Ignore secondary hits sharing a sampling site.
|
jpayne@69
|
33 totaldenominator=f (td) Use all bases as denominator rather than mapped bases.
|
jpayne@69
|
34
|
jpayne@69
|
35 Please contact Brian Bushnell at bbushnell@lbl.gov if you encounter any problems.
|
jpayne@69
|
36 "
|
jpayne@69
|
37 }
|
jpayne@69
|
38
|
jpayne@69
|
39 #This block allows symlinked shellscripts to correctly set classpath.
|
jpayne@69
|
40 pushd . > /dev/null
|
jpayne@69
|
41 DIR="${BASH_SOURCE[0]}"
|
jpayne@69
|
42 while [ -h "$DIR" ]; do
|
jpayne@69
|
43 cd "$(dirname "$DIR")"
|
jpayne@69
|
44 DIR="$(readlink "$(basename "$DIR")")"
|
jpayne@69
|
45 done
|
jpayne@69
|
46 cd "$(dirname "$DIR")"
|
jpayne@69
|
47 DIR="$(pwd)/"
|
jpayne@69
|
48 popd > /dev/null
|
jpayne@69
|
49
|
jpayne@69
|
50 #DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/"
|
jpayne@69
|
51 CP="$DIR""current/"
|
jpayne@69
|
52
|
jpayne@69
|
53 z="-Xmx120m"
|
jpayne@69
|
54 set=0
|
jpayne@69
|
55
|
jpayne@69
|
56 if [ -z "$1" ] || [[ $1 == -h ]] || [[ $1 == --help ]]; then
|
jpayne@69
|
57 usage
|
jpayne@69
|
58 exit
|
jpayne@69
|
59 fi
|
jpayne@69
|
60
|
jpayne@69
|
61 calcXmx () {
|
jpayne@69
|
62 source "$DIR""/calcmem.sh"
|
jpayne@69
|
63 setEnvironment
|
jpayne@69
|
64 parseXmx "$@"
|
jpayne@69
|
65 }
|
jpayne@69
|
66 calcXmx "$@"
|
jpayne@69
|
67
|
jpayne@69
|
68 summarizeseal() {
|
jpayne@69
|
69 local CMD="java $EA $EOOM $z -cp $CP driver.SummarizeSealStats $@"
|
jpayne@69
|
70 # echo $CMD >&2
|
jpayne@69
|
71 eval $CMD
|
jpayne@69
|
72 }
|
jpayne@69
|
73
|
jpayne@69
|
74 summarizeseal "$@"
|