Getting ArrayIndexOutOfBoundsException When Running CPU HiCCUPS

209 views
Skip to first unread message

Sadman Sakib

unread,
Jul 14, 2021, 9:31:37 AM7/14/21
to 3D Genomics
Hello, 
I am running into exceptions when running CPU version of HiCCUPS. I used this hic file

I could only find three files in the output directory: fdr_thresholds_5000, fdr_thresholds_10000, fdr_thresholds_25000. I think loop files were not produced by HiCCUPS due to the exception. I used this command: 
java -jar juicer_tools.jar hiccups --cpu data/GSE151553_A364_merged.hic a364_loops

I am using juicer_tools_1.22.01.jar file. The full error is:
     
WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.
WARN [2021-07-14T19:11:45,816]  [Globals.java:138] [main]  Development mode is enabled
Reading file: data/GSE151553_A364_merged.hic
No valid configurations specified, using default settings
WARNING - You are using the CPU version of HiCCUPS.
The GPU version of HiCCUPS is the official version and has been tested extensively.
The CPU version only searches for loops within 8MB (by default) of the diagonal and is still experimental.
Using 1 CPU thread(s)
Unable to assess map sparsity; continuing with HiCCUPS
Default settings for 5kb, 10kb, and 25kb being used
Running HiCCUPS for resolution 5000
Exception in thread "pool-2-thread-1" java.lang.ArrayIndexOutOfBoundsException: Index 306 out of bounds for length 306
        at juicebox.tools.utils.juicer.hiccups.GPUController.runCPUVersion(GPUController.java:384)
        at juicebox.tools.utils.juicer.hiccups.GPUController.process(GPUController.java:141)
        at juicebox.tools.clt.juicer.HiCCUPS.runCoreCodeForHiCCUPS(HiCCUPS.java:521)
        at juicebox.tools.clt.juicer.HiCCUPS.access$200(HiCCUPS.java:158)
        at juicebox.tools.clt.juicer.HiCCUPS$1.run(HiCCUPS.java:434)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:829)
Exception in thread "pool-4-thread-1" java.lang.ArrayIndexOutOfBoundsException: Index 306 out of bounds for length 306
        at juicebox.tools.utils.juicer.hiccups.GPUController.runCPUVersion(GPUController.java:384)
        at juicebox.tools.utils.juicer.hiccups.GPUController.process(GPUController.java:141)
        at juicebox.tools.clt.juicer.HiCCUPS.runCoreCodeForHiCCUPS(HiCCUPS.java:521)
        at juicebox.tools.clt.juicer.HiCCUPS.access$200(HiCCUPS.java:158)
        at juicebox.tools.clt.juicer.HiCCUPS$1.run(HiCCUPS.java:434)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:829)
Running HiCCUPS for resolution 10000
Exception in thread "pool-6-thread-1" java.lang.ArrayIndexOutOfBoundsException: Index 153 out of bounds for length 153
        at juicebox.tools.utils.juicer.hiccups.GPUController.runCPUVersion(GPUController.java:384)
        at juicebox.tools.utils.juicer.hiccups.GPUController.process(GPUController.java:141)
        at juicebox.tools.clt.juicer.HiCCUPS.runCoreCodeForHiCCUPS(HiCCUPS.java:521)
        at juicebox.tools.clt.juicer.HiCCUPS.access$200(HiCCUPS.java:158)
        at juicebox.tools.clt.juicer.HiCCUPS$1.run(HiCCUPS.java:434)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:829)
Exception in thread "pool-8-thread-1" java.lang.ArrayIndexOutOfBoundsException: Index 153 out of bounds for length 153
        at juicebox.tools.utils.juicer.hiccups.GPUController.runCPUVersion(GPUController.java:384)
        at juicebox.tools.utils.juicer.hiccups.GPUController.process(GPUController.java:141)
        at juicebox.tools.clt.juicer.HiCCUPS.runCoreCodeForHiCCUPS(HiCCUPS.java:521)
        at juicebox.tools.clt.juicer.HiCCUPS.access$200(HiCCUPS.java:158)
        at juicebox.tools.clt.juicer.HiCCUPS$1.run(HiCCUPS.java:434)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:829)
Running HiCCUPS for resolution 25000
Exception in thread "pool-10-thread-1" java.lang.ArrayIndexOutOfBoundsException: Index 61 out of bounds for length 61
        at juicebox.tools.utils.juicer.hiccups.GPUController.runCPUVersion(GPUController.java:384)
        at juicebox.tools.utils.juicer.hiccups.GPUController.process(GPUController.java:141)
        at juicebox.tools.clt.juicer.HiCCUPS.runCoreCodeForHiCCUPS(HiCCUPS.java:521)
        at juicebox.tools.clt.juicer.HiCCUPS.access$200(HiCCUPS.java:158)
        at juicebox.tools.clt.juicer.HiCCUPS$1.run(HiCCUPS.java:434)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:829)
Exception in thread "pool-12-thread-1" java.lang.ArrayIndexOutOfBoundsException: Index 61 out of bounds for length 61
        at juicebox.tools.utils.juicer.hiccups.GPUController.runCPUVersion(GPUController.java:384)
        at juicebox.tools.utils.juicer.hiccups.GPUController.process(GPUController.java:141)
        at juicebox.tools.clt.juicer.HiCCUPS.runCoreCodeForHiCCUPS(HiCCUPS.java:521)
        at juicebox.tools.clt.juicer.HiCCUPS.access$200(HiCCUPS.java:158)
        at juicebox.tools.clt.juicer.HiCCUPS$1.run(HiCCUPS.java:434)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:829)
HiCCUPS complete

Any help or suggestions are appreciated. 

Thanks, 
Sadman 

Muhammad Saad Shamim

unread,
Jul 14, 2021, 11:24:43 AM7/14/21
to Sadman Sakib, 3D Genomics
Can you try with specifying --threads 1?

--
You received this message because you are subscribed to the Google Groups "3D Genomics" group.
To unsubscribe from this group and stop receiving emails from it, send an email to 3d-genomics...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/3d-genomics/489ee9e4-4a6e-436e-a595-5cdabc1c26b6n%40googlegroups.com.

Sadman Sakib

unread,
Jul 15, 2021, 12:49:54 AM7/15/21
to 3D Genomics
Hello, 
Thanks for the quick reply! I have tried with --threads 1. Unfortunately, I'm getting the same error. 

I was able to run it with Google Colab's GPU. So, the problem is not that crucial for me now. If this problem on CPU version is difficult to troubleshoot, we can skip it I guess. 

Thanks, 
Sadman

Reply all
Reply to author
Forward
0 new messages