annotate CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/opt/bbmap-39.01-1/countbarcodes.sh @ 69:33d812a61356

planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author jpayne
date Tue, 18 Mar 2025 17:55:14 -0400
parents
children
rev   line source
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 October 16, 2015
jpayne@69 7
jpayne@69 8 Description: Counts the number of reads with each barcode.
jpayne@69 9
jpayne@69 10 Usage: countbarcodes.sh in=<file> counts=<file>
jpayne@69 11
jpayne@69 12 Input may be stdin or a fasta or fastq file, raw or gzipped.
jpayne@69 13 If you pipe via stdin/stdout, please include the file type; e.g. for gzipped fasta input, set in=stdin.fa.gz
jpayne@69 14
jpayne@69 15 Input parameters:
jpayne@69 16 in=<file> Input reads, whose names end in a colon then barcode.
jpayne@69 17 counts=<file> Output of counts.
jpayne@69 18 interleaved=auto (int) If true, forces fastq input to be paired and interleaved.
jpayne@69 19 qin=auto ASCII offset for input quality. May be 33 (Sanger), 64 (Illumina), or auto.
jpayne@69 20 unpigz=t Use pigz to decompress.
jpayne@69 21 expected= Comma-delimited list of expected bar codes.
jpayne@69 22 valid= Comma-delimited list of valid bar codes.
jpayne@69 23 countundefined=t Count barcodes that contain non-ACGT symbols.
jpayne@69 24 printheader=t Print a header.
jpayne@69 25 maxrows=-1 Optionally limit the number of rows printed.
jpayne@69 26
jpayne@69 27 Output parameters:
jpayne@69 28 out=<file> Write bar codes and counts here. 'out=stdout' will pipe to standard out.
jpayne@69 29
jpayne@69 30 Java Parameters:
jpayne@69 31 -Xmx This will set Java's memory usage, overriding autodetection.
jpayne@69 32 -Xmx20g will specify 20 gigs of RAM, and -Xmx200m will specify 200 megs.
jpayne@69 33 The max is typically 85% of physical memory.
jpayne@69 34 -eoom This flag will cause the process to exit if an
jpayne@69 35 out-of-memory exception occurs. Requires Java 8u92+.
jpayne@69 36 -da Disable assertions.
jpayne@69 37
jpayne@69 38 Please contact Brian Bushnell at bbushnell@lbl.gov if you encounter any problems.
jpayne@69 39 "
jpayne@69 40 }
jpayne@69 41
jpayne@69 42 #This block allows symlinked shellscripts to correctly set classpath.
jpayne@69 43 pushd . > /dev/null
jpayne@69 44 DIR="${BASH_SOURCE[0]}"
jpayne@69 45 while [ -h "$DIR" ]; do
jpayne@69 46 cd "$(dirname "$DIR")"
jpayne@69 47 DIR="$(readlink "$(basename "$DIR")")"
jpayne@69 48 done
jpayne@69 49 cd "$(dirname "$DIR")"
jpayne@69 50 DIR="$(pwd)/"
jpayne@69 51 popd > /dev/null
jpayne@69 52
jpayne@69 53 #DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/"
jpayne@69 54 CP="$DIR""current/"
jpayne@69 55
jpayne@69 56 z="-Xmx200m"
jpayne@69 57 set=0
jpayne@69 58
jpayne@69 59 if [ -z "$1" ] || [[ $1 == -h ]] || [[ $1 == --help ]]; then
jpayne@69 60 usage
jpayne@69 61 exit
jpayne@69 62 fi
jpayne@69 63
jpayne@69 64 calcXmx () {
jpayne@69 65 source "$DIR""/calcmem.sh"
jpayne@69 66 setEnvironment
jpayne@69 67 parseXmx "$@"
jpayne@69 68 }
jpayne@69 69 calcXmx "$@"
jpayne@69 70
jpayne@69 71 countbarcodes() {
jpayne@69 72 local CMD="java $EA $EOOM $z -cp $CP jgi.CountBarcodes $@"
jpayne@69 73 echo $CMD >&2
jpayne@69 74 eval $CMD
jpayne@69 75 }
jpayne@69 76
jpayne@69 77 countbarcodes "$@"