Hi BBTools team,
I was trying to run dedupe.sh on a fastq with the fo pto
options, and I was getting the following exception:
Exception in thread "Thread-4" java.lang.ArrayIndexOutOfBoundsException: Index 2147483647 out of bounds for length 110
at java.base/java.lang.invoke.VarHandle$1.apply(VarHandle.java:2187)
at java.base/java.lang.invoke.VarHandle$1.apply(VarHandle.java:2184)
at java.base/jdk.internal.util.Preconditions$1.apply(Preconditions.java:177)
at java.base/jdk.internal.util.Preconditions$1.apply(Preconditions.java:174)
at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:62)
at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:266)
at java.base/java.lang.invoke.VarHandleInts$Array.getVolatile(VarHandleInts.java:768)
at java.base/java.util.concurrent.atomic.AtomicIntegerArray.get(AtomicIntegerArray.java:95)
at jgi.Dedupe.determineCluster2(Dedupe.java:4286)
at jgi.Dedupe.access$30(Dedupe.java:4281)
at jgi.Dedupe$Unit.determineCluster(Dedupe.java:4365)
at jgi.Dedupe$HashThread.findOverlaps(Dedupe.java:3349)
at jgi.Dedupe$HashThread.processRead(Dedupe.java:3230)
at jgi.Dedupe$HashThread.processReadOuter(Dedupe.java:3106)
at jgi.Dedupe$HashThread.run(Dedupe.java:3039)
I ran this on versions 38.96 and 39.00. Whether these options should or should not be used together is unknown to me, since I just was just using dedupe.sh for the first time with the given example in the help message:
dedupe.sh in=x.fq am=f ac=f fo c pc rnc=f mcs=4 mo=100 s=1 pto cc qin=33 csf=stats.txt pattern=cluster_%.fq dot=graph.dot
I narrowed the behavior down to just being when the bare command is run:
dedupe.sh in=x.fq fo pto
I did notice that the error reports that the exception is from trying to access an index of Index.MAX_VALUE, so knowing this may or may not help with fixing the issue.
Best,
Josh