Author: Gilles Filippini <pini@debian.org>
Last-Update: Fri, 18 Nov 2016 19:52:05 +0100
Bugs-Debian: https://bugs.debian.org/844760
Description: HDF5 1.10 is about to transition into unstable, and unfortunately
 a FastQC build-dependency, libsis-jhdf5-java, doesn't support this new
 release yet, and we have no information about its upstream schedule
 wrt HDF5 1.10.
 .
 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, I propose to temporarily drop fast5 support from FastQC
 to avoid a removal from testing.

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;
@@ -92,7 +91,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,
@@ -189,10 +187,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";		
@@ -326,11 +320,6 @@ DESCRIPTION
                     (including being gzipped and ending with .gz) otherwise they
                     won't be grouped together correctly.
                     
-    --nano          Files come from nanopore 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/Fast5File.java
===================================================================
--- fastqc.orig/uk/ac/babraham/FastQC/Sequence/Fast5File.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/**
- * Copyright Copyright 2010-17 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);
-		
-		String [] rdfPaths = new String [] {
-				"Analyses/Basecall_2D_000/BaseCalled_template/Fastq",
-				"Analyses/Basecall_2D_000/BaseCalled_2D/Fastq",
-				"Analyses/Basecall_1D_000/BaseCalled_template/Fastq",
-				"Analyses/Basecall_1D_000/BaseCalled_1D/Fastq"
-		};
-		
-		boolean foundPath = false;
-		for (int r=0;r<rdfPaths.length;r++) {
-		
-				if (reader.exists(rdfPaths[r])) {
-		
-					foundPath = true;
-					String fastq = reader.readString(rdfPaths[r]);
-		
-					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]);
-					break;
-				}
-		}
-
-		reader.close();
-
-		if (!foundPath) {
-			throw new SequenceFormatException("No valid fastq paths found in "+file);
-		}
-		
-	}
-
-	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;
-	}
-
-}
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,9 @@ 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 if (file.getName().toLowerCase().endsWith(".fast5")) {
+//			return new Fast5File(file);
+//		}
 		else {
 			return new FastQFile(config,file);
 		}
