I have a FASTQ file and I'm able to run the FASTQC program to analyse the file. but when I use trim_galore, FASTQC (or the FASTQC option in trim_galore) is not working anymore.

    $ fastqc ./sub1_val_1.fq.gz 

This is the output:

    Started analysis of sub1_val_1.fq.gz
    Analysis complete for sub1_val_1.fq.gz
    Failed to process file sub1_val_1.fq.gz
    java.lang.ArrayIndexOutOfBoundsException: -1
        at uk.ac.babraham.FastQC.Modules.SequenceLengthDistribution.calculateDistribution(SequenceLengthDistribution.java:100)
        at uk.ac.babraham.FastQC.Modules.SequenceLengthDistribution.raisesError(SequenceLengthDistribution.java:184)
        at uk.ac.babraham.FastQC.Report.HTMLReportArchive.startDocument(HTMLReportArchive.java:336)
        at uk.ac.babraham.FastQC.Report.HTMLReportArchive.<init>(HTMLReportArchive.java:84)
        at uk.ac.babraham.FastQC.Analysis.OfflineRunner.analysisComplete(OfflineRunner.java:155)
        at uk.ac.babraham.FastQC.Analysis.AnalysisRunner.run(AnalysisRunner.java:110)
        at java.lang.Thread.run(Thread.java:695)

Is the Failed to process file an error because the version is not correct between trim_galore and FastQC?

I found [this][1], [but that wasn't that helpful][2].

I'm using FastQC v0.11.5 and trim_galore v0.4.1.

I subsetted a library (reads in paired-end) using this:

    seqtk sample -s100 ./SRR2937435_1.fastq.gz 10000 | gzip  > sub1.fastq.gz
    seqtk sample -s100 ./SRR2937435_2.fastq.gz 10000 | gzip > sub2.fastq.gz

The sub1_val_1.fq.gz file was after passing sub1.fastq.gz into trim_galore. FastQC with sub1.fastq.gz is working.


  [1]: http://seqanswers.com/forums/archive/index.php/t-4846.html
  [2]: https://bugs.launchpad.net/ubuntu/+source/fastqc/+bug/1443275
I found the answer: You have to uncompress it. Probably, trim_galore is only working with tar.gz and not fastq.gz.

    gzip -d -k sub1.fastq.gz > sub1.fastq
    y # to accept to overwrite
    gzip -d -k sub2.fastq.gz > sub2.fastq
    y # to accept to overwrite
    
    trim_galore  --illumina --paired --fastqc sub1.fastq sub2.fastq

