Source: fastqc Version: 0.11.5+dfsg-4 Severity: important Tags: patch -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
Hi, HDF5 1.10 is about to transition into unstable [1], and unfortunately a FastQC build-dependency, libsis-jhdf5-java, doesn't support this new release yet [2], and we have no information about its upstream schedule wrt HDF5 1.10. I've had a look at the FastQC code, and AFAIUI, libsis-jhdf5-java is required only to support fast5 files from nanopore sequences. Since these files can easily be converted to FastQ format using poretools [3], I propose to temporarily drop fast5 support from FastQC to avoid a removal from testing. Please find attached a patch proposal to this end. Thanks in advance, _g. [1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=842177#40 [2] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=842815 {3] https://bioinfoexpert.com/2016/06/15/minion-fast5-to-fastq/ -----BEGIN PGP SIGNATURE----- iQEcBAEBCAAGBQJYL03KAAoJEO/obGx//s+D0uAH/3dDwjK+eAjV5lrCu7sa17rR RFVYrJMhpnwwgH3q4cNHPvcHeyYZYwyC7WZMw++RWOIEDOlp04KeTkXNhW0/nlt+ FYlGwc1PjHnKUVVy3oyJBTeHnydHU0gP2qNkndvGtrxTjhsIT2toxU3gR+1Z86OI iW7UAxmuhBoOF3rqYUb9pevRVQjOu8ikrG5ExS7Lg1Fk4TKu00IjaiqvppndoqPO dsahyQkorSn+Rw0qQFxO4COBZVx5cMsFgIqa+QVvEhSw1Muw/x1S4m2NSfOsM9wQ H2S3vIrbeDYuyI7ACZSfqHlOsuxVi8v6Y50kZqo0eGZM3km1z5r/cJHqalKt7hI= =yCAp -----END PGP SIGNATURE-----
diff --git a/debian/changelog b/debian/changelog index aeba166..20d6f39 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,13 @@ +fastqc (0.11.5+dfsg-4.1) unstable; urgency=medium + + * Non-maintainer upload. + * New patch drop-fast5.patch to temporarily drop support for fast5 + file format. This way we can drop the build-dependency on + libsis-jhdf5-java which doesn't support HDF5 1.10 yet (#842815). + fast5 files can easily be converted to fastq using poretools. + + -- Gilles Filippini <p...@debian.org> Fri, 18 Nov 2016 19:03:15 +0100 + fastqc (0.11.5+dfsg-4) unstable; urgency=low * Team upload. diff --git a/debian/control b/debian/control index 7fa5f02..9cd7223 100644 --- a/debian/control +++ b/debian/control @@ -11,8 +11,7 @@ Build-Depends: debhelper (>= 9), ant, libhtsjdk-java, libjbzip2-java, - libcommons-math3-java, - libsis-jhdf5-java + libcommons-math3-java Standards-Version: 3.9.8 Vcs-Browser: https://anonscm.debian.org/cgit/debian-med/fastqc.git Vcs-Git: https://anonscm.debian.org/git/debian-med/fastqc.git diff --git a/debian/patches/drop-fast5.patch b/debian/patches/drop-fast5.patch new file mode 100644 index 0000000..f9a0cf6 --- /dev/null +++ b/debian/patches/drop-fast5.patch @@ -0,0 +1,151 @@ +Index: fastqc/fastqc +=================================================================== +--- fastqc.orig/fastqc ++++ fastqc/fastqc +@@ -74,7 +74,6 @@ my $quiet; + my $nogroup; + my $expgroup; + my $casava; +-my $nano; + my $nofilter; + my $kmer_size; + my $temp_directory; +@@ -91,7 +90,6 @@ my $result = GetOptions('version' => \$v + 'threads=i' => \$threads, + 'kmers=i' => \$kmer_size, + 'casava' => \$casava, +- 'nano' => \$nano, + 'nofilter' => \$nofilter, + 'contaminants=s' => \$contaminant, + 'adapters=s' => \$adapter, +@@ -183,10 +181,6 @@ if ($casava) { + push @java_args ,"-Dfastqc.casava=true"; + } + +-if ($nano) { +- push @java_args ,"-Dfastqc.nano=true"; +-} +- + + if ($nofilter) { + push @java_args ,"-Dfastqc.nofilter=true"; +@@ -320,11 +314,6 @@ DESCRIPTION + (including being gzipped and ending with .gz) otherwise they + won't be grouped together correctly. + +- --nano Files come from naopore sequences and are in fast5 format. In +- this mode you can pass in directories to process and the program +- will take in all fast5 files within those directories and produce +- a single output file from the sequences found in all files. +- + --nofilter If running with --casava then don't remove read flagged by + casava as poor quality when performing the QC analysis. + +Index: fastqc/uk/ac/babraham/FastQC/Sequence/SequenceFactory.java +=================================================================== +--- fastqc.orig/uk/ac/babraham/FastQC/Sequence/SequenceFactory.java ++++ fastqc/uk/ac/babraham/FastQC/Sequence/SequenceFactory.java +@@ -99,9 +99,6 @@ public class SequenceFactory { + // We default to using all reads + return new BAMFile(file,false); + } +- else if (file.getName().toLowerCase().endsWith(".fast5")) { +- return new Fast5File(file); +- } + else { + return new FastQFile(config,file); + } +Index: fastqc/uk/ac/babraham/FastQC/Sequence/Fast5File.java +=================================================================== +--- fastqc.orig/uk/ac/babraham/FastQC/Sequence/Fast5File.java ++++ /dev/null +@@ -1,89 +0,0 @@ +-/** +- * Copyright Copyright 2010-15 Simon Andrews +- * +- * This file is part of FastQC. +- * +- * FastQC is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 3 of the License, or +- * (at your option) any later version. +- * +- * FastQC is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with FastQC; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +- */ +-package uk.ac.babraham.FastQC.Sequence; +- +-import java.io.File; +-import java.io.IOException; +- +-import ch.systemsx.cisd.hdf5.HDF5Factory; +-import ch.systemsx.cisd.hdf5.IHDF5SimpleReader; +- +-public class Fast5File implements SequenceFile { +- +- private Sequence nextSequence = null; +- private File file; +- +- private String name; +- +- protected Fast5File(File file) throws SequenceFormatException, IOException { +- this.file = file; +- name = file.getName(); +- +- IHDF5SimpleReader reader = HDF5Factory.openForReading(file); +- +- if (reader.exists("Analyses/Basecall_2D_000/BaseCalled_template/Fastq")) { +- +- String fastq = reader.readString("Analyses/Basecall_2D_000/BaseCalled_template/Fastq"); +- +- String [] sections = fastq.split("\\n"); +- +- if (sections.length != 4) { +- throw new SequenceFormatException("Didn't get 4 sections from "+fastq); +- } +- +- nextSequence = new Sequence(this, sections[1].toUpperCase(),sections[3], sections[0]); +- } +- reader.close(); +- +- } +- +- public String name() { +- return name; +- } +- +- public int getPercentComplete() { +- if (! hasNext()) return 100; +- +- return 0; +- } +- +- public boolean isColorspace() { +- return false; +- } +- +- public boolean hasNext() { +- return nextSequence != null; +- } +- +- public Sequence next() throws SequenceFormatException { +- Sequence seq = nextSequence; +- nextSequence = null; +- return seq; +- } +- +- public void remove() { +- // No action here +- } +- +- public File getFile() { +- return file; +- } +- +-} diff --git a/debian/patches/series b/debian/patches/series index 0801e7d..6f96f87 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -3,3 +3,4 @@ fastqc.patch fix-help-call.patch set_configuration_path.patch adapt_to_htslib.patch +drop-fast5.patch