kundajelab / atac_dnase_pipelines

ATAC-seq and DNase-seq processing pipeline
BSD 3-Clause "New" or "Revised" License
159 stars 81 forks source link

java.lang.IndexOutOfBoundsException #108

Open am33567 opened 6 years ago

am33567 commented 6 years ago

I tried to run this: bds atac.bds -species Vc -nth 16 -fastq1_1 "Rep1_R1.fastq.gz" -fastq1_2 "Rep1_R2.fastq.gz" -fastq2_1 "Rep2_R1.fastq.gz" -fastq2_2 "Rep2_R2.fastq.gz" -fastq3_1 "Rep3_R1.fastq.gz" -fastq3_2 "Rep3_R2.fastq.gz" -enable_idr

I got this error:

Picked up _JAVA_OPTIONS: -Xms256M -Xmx728M -XX:ParallelGCThreads=1 Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 18, Size: 18 at java.util.ArrayList.rangeCheck(ArrayList.java:653) at java.util.ArrayList.get(ArrayList.java:429) at org.bds.BdsParseArgs.setVarInit(BdsParseArgs.java:245) at org.bds.BdsParseArgs.initializeArgs(BdsParseArgs.java:138) at org.bds.BdsParseArgs.initializeArgs(BdsParseArgs.java:106) at org.bds.BdsParseArgs.parse(BdsParseArgs.java:172) at org.bds.Bds.runCompile(Bds.java:872) at org.bds.Bds.run(Bds.java:815) at org.bds.Bds.main(Bds.java:182)

if I remove the -nth 16 and add -no_par the pipeline would run, but at the at certain points would use the maximum number of threads, which is problematic, because there are other people using the same server. In addition, I noticed from the report.html that Bowtie2 is using only one thread, which I guess is the reason is taking forever to run (bowtie2 -X2000 --mm --local --threads 1), is there a way to change this? As you can see I am not versatile in the cluster/parallelization, I would welcome any recommendation from you.

Our lab is using a server with CentOS Linux 7.4.1708 (Core) , rhel fedora.

Thanks

leepc12 commented 6 years ago

Please post a full log.

-nth 16 means total number of threads for the pipeline. You have 3 replicates so 16 threads are distributed to these threads according to the size of fastqs. You can check number of threads for other replicates they will sum up to 16.