FelixKrueger / TrimGalore

A wrapper around Cutadapt and FastQC to consistently apply adapter and quality trimming to FastQ files, with extra functionality for RRBS data
GNU General Public License v3.0
468 stars 151 forks source link

FastQC issues with Java 11 #58

Closed danicic7 closed 5 years ago

danicic7 commented 5 years ago

Hi Felix! I am trying to run Trim Galore v0.6.2 with Java 11 and FastQC 0.11.8 installed, but I always get the following error: _Started analysis of test_val_2.fq ... Analysis complete for test_val_2.fq Failed to process file test_val2.fq java.lang.ClassCastException: class sun.font.CompositeFont cannot be cast to class sun.font.PhysicalFont (sun.font.CompositeFont and sun.font.PhysicalFont are in module java.desktop of loader 'bootstrap') at java.desktop/sun.font.SunFontManager.getDefaultPhysicalFont(SunFontManager.java:1086) at java.desktop/sun.font.SunFontManager.initialiseDeferredFont(SunFontManager.java:971) at java.desktop/sun.font.CompositeFont.doDeferredInitialisation(CompositeFont.java:287) at java.desktop/sun.font.CompositeFont.getSlotFont(CompositeFont.java:376) at java.desktop/sun.font.CompositeStrike.getStrikeForSlot(CompositeStrike.java:80) at java.desktop/sun.font.CompositeStrike.getFontMetrics(CompositeStrike.java:95) at java.desktop/sun.font.FontDesignMetrics.initMatrixAndMetrics(FontDesignMetrics.java:360) at java.desktop/sun.font.FontDesignMetrics.(FontDesignMetrics.java:351) at java.desktop/sun.font.FontDesignMetrics.getMetrics(FontDesignMetrics.java:303) at java.desktop/sun.java2d.SunGraphics2D.getFontMetrics(SunGraphics2D.java:856) at uk.ac.babraham.FastQC.Graphs.QualityBoxPlot.paint(QualityBoxPlot.java:88) at java.desktop/javax.swing.JComponent.print(JComponent.java:1220) at uk.ac.babraham.FastQC.Modules.AbstractQCModule.writeDefaultImage(AbstractQCModule.java:68) at uk.ac.babraham.FastQC.Modules.PerBaseQualityScores.makeReport(PerBaseQualityScores.java:199) at uk.ac.babraham.FastQC.Report.HTMLReportArchive.(HTMLReportArchive.java:131) at uk.ac.babraham.FastQC.Analysis.OfflineRunner.analysisComplete(OfflineRunner.java:155) at uk.ac.babraham.FastQC.Analysis.AnalysisRunner.run(AnalysisRunner.java:110) at java.base/java.lang.Thread.run(Thread.java:834)

The command line is: trim_galore --phred33 --fastqc --dont_gzip --paired test_1.fastq.gz test_2.fastq.gz

It seems to be a Java 11 bug. Did you test it with Java 11 or is there a specific Java version compatibile with the latest version of Trim Galore? I also have Trim Galore v0.4.4 installed on a docker image where Java 8 is installed, and it is running perfectly. Any advice on how to overcome this?

Thank you! Aleksandar

FelixKrueger commented 5 years ago

I've forwarded this to Simon, let's see if he's got a clue.

danicic7 commented 5 years ago

Thank you!

FelixKrueger commented 5 years ago

This is what he said (thanks Simon):

There are a few instances of similar crashes in JDK11 on linux in different applications. None of them have an obvious fix beyond trying to install some font packages and see if it goes away. It’s likely to be something which affects all java apps.

You can look at some of the suggestions at:

https://bz.apache.org/bugzilla/show_bug.cgi?id=63230

..which might help. Specifically check that the fontconfig and fonts-dejavu-core OS packages are installed and see if that helps.

danicic7 commented 5 years ago

Problem solved. Thanks a lot! Best, Aleksandar