Skip to content

Uninformative error when second barcode tag is not provided #236

@magicDGS

Description

@magicDGS

When the user provides a file with two barcodes (or more) and use the default value for the barcode tag (BC), it throws with an uninformative error: UNEXPECTED ERROR: 1. This is an index out of bound exception, and it should be checked and/or cached.

After running with debug, this is the error and the stacktrace:

***********************************************************************

UNEXPECTED ERROR: 1

***********************************************************************
Please, search for this error in our issue tracker or post a new one:
	https://github.com/magicDGS/ReadTools/issues
java.lang.ArrayIndexOutOfBoundsException: 1
	at org.magicdgs.readtools.tools.barcodes.dictionary.decoder.BarcodeDecoder.lambda$getBestBarcodeString$6(BarcodeDecoder.java:218)
	at java.util.stream.IntPipeline$4$1.accept(IntPipeline.java:250)
	at java.util.stream.Streams$RangeIntSpliterator.forEachRemaining(Streams.java:110)
	at java.util.Spliterator$OfInt.forEachRemaining(Spliterator.java:693)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
	at org.magicdgs.readtools.tools.barcodes.dictionary.decoder.BarcodeDecoder.getBestBarcodeString(BarcodeDecoder.java:222)
	at org.magicdgs.readtools.tools.barcodes.dictionary.decoder.BarcodeDecoder.assignReadGroupByBarcode(BarcodeDecoder.java:181)
	at org.magicdgs.readtools.tools.barcodes.AssignReadGroupByBarcode.apply(AssignReadGroupByBarcode.java:166)
	at org.magicdgs.readtools.engine.ReadToolsWalker.lambda$new$52(ReadToolsWalker.java:147)
	at java.util.Iterator.forEachRemaining(Iterator.java:116)
	at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
	at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580)
	at org.magicdgs.readtools.engine.ReadToolsWalker.traverse(ReadToolsWalker.java:131)
	at org.magicdgs.readtools.engine.ReadToolsWalker.doWork(ReadToolsWalker.java:194)
	at org.broadinstitute.hellbender.cmdline.CommandLineProgram.runTool(CommandLineProgram.java:116)
	at org.broadinstitute.hellbender.cmdline.CommandLineProgram.instanceMainPostParseArgs(CommandLineProgram.java:179)
	at org.broadinstitute.hellbender.cmdline.CommandLineProgram.instanceMain(CommandLineProgram.java:198)
	at org.broadinstitute.hellbender.Main.runCommandLineProgram(Main.java:121)
	at org.broadinstitute.hellbender.Main.mainEntry(Main.java:142)
	at org.magicdgs.readtools.Main.main(Main.java:84)

Action here requires:

  • Add a FAQ entry asap to inform about this error
  • Catch this error and throw an user exception which is informative

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions