Closed didillysquat closed 3 years ago
There must be something in that file which is causing fastqc to consume an unusual amount of memory such that the default allocation is being exhausted (but maybe only just?).
You can try adding -t 2
to the command which will increase the memory allocation (and increase the value above 2 if it still fails) and see if that fixes it. If not then there may be something causing runaway memory consumption and I'll track that separately if that's the case.
@s-andrews. Many thanks for your help! I can confirm that fastqc completes as expected with -t 2
.
@s-andrews. As a side note, it would be ideal - for my purposes at least - if the program would terminate with an error when the above exception occurs rather than hanging. Thanks again.
Yeah, I'm not sure why that's happening. I guess we'd need to add a default error handler to the main thread so that it can tell if one of its children dies with an exception which doesn't have to be caught. I'll reopen this and take a look.
+1 I've noticed this too on a small amount of samples run through fastqc. I don't believe an exit code is given & it just sort of hangs after the OOM error.
# paths shortened for readability
fastqc --outdir $PWD --threads 2 2000015529_1.clean.fastq.gz 2000015529_2.clean.fastq.gz
[...]
Approx 95% complete for 2000015529_1.clean.fastq.gz
Approx 95% complete for 2000015529_2.clean.fastq.gz
Analysis complete for 2000015529_1.clean.fastq.gz
Analysis complete for 2000015529_2.clean.fastq.gz
Exception in thread "Thread-2" java.lang.OutOfMemoryError: Java heap space
at java.lang.StringCoding$StringEncoder.encode(StringCoding.java:300)
at java.lang.StringCoding.encode(StringCoding.java:344)
at java.lang.StringCoding.encode(StringCoding.java:387)
at java.lang.String.getBytes(String.java:958)
at uk.ac.babraham.FastQC.Report.HTMLReportArchive.<init>(HTMLReportArchive.java:144)
at uk.ac.babraham.FastQC.Analysis.OfflineRunner.analysisComplete(OfflineRunner.java:178)
at uk.ac.babraham.FastQC.Analysis.AnalysisRunner.run(AnalysisRunner.java:110)
at java.lang.Thread.run(Thread.java:748)
For reference I'm using v0.11.8 in this docker container here: https://hub.docker.com/r/staphb/fastqc/tags
Edit: Just noticed this may have been fixed in v0.11.9. I will upgrade to that version!
As I think this was fixed in 0.11.9 I'm closing this.
FastQC is hanging and giving the error:
This is happening in versions v0.11.8 and v0.11.9 as installed in the docker hub containers singlecellpipeline/fastqc:v0.0.2 and biocontainers/fastqc:v0.11.9_cv8.
To recreate the issue:
mpg_L16981-1_D4728_S14_R1_001.trimmed_1U.fq.gz