[med-svn] [fastqc] 01/04: Imported Upstream version 0.11.4+dfsg

Andreas Tille tille at debian.org
Tue Nov 3 14:50:50 UTC 2015


This is an automated email from the git hooks/post-receive script.

tille pushed a commit to branch master
in repository fastqc.

commit 0c37b8fb502438c4389263c34074f146c0c24b24
Author: Andreas Tille <tille at debian.org>
Date:   Tue Nov 3 14:35:21 2015 +0100

    Imported Upstream version 0.11.4+dfsg
---
 Configuration/contaminant_list.txt                 |  2 +-
 INSTALL.txt                                        | 26 ++++++++++++-----
 README.txt                                         | 12 ++++----
 RELEASE_NOTES.txt                                  | 33 ++++++++++++++++++++++
 fastqc                                             | 11 ++++++++
 uk/ac/babraham/FastQC/Analysis/OfflineRunner.java  |  2 +-
 uk/ac/babraham/FastQC/FastQCApplication.java       |  2 +-
 .../babraham/FastQC/Modules/DuplicationLevel.java  |  2 ++
 .../FastQC/Modules/OverRepresentedSeqs.java        |  7 +++++
 .../FastQC/Modules/PerBaseQualityScores.java       | 10 ++++++-
 .../FastQC/Modules/PerTileQualityScores.java       | 10 ++++++-
 .../babraham/FastQC/Report/HTMLReportArchive.java  |  2 ++
 12 files changed, 102 insertions(+), 17 deletions(-)

diff --git a/Configuration/contaminant_list.txt b/Configuration/contaminant_list.txt
index eb4b70a..d2c29be 100644
--- a/Configuration/contaminant_list.txt
+++ b/Configuration/contaminant_list.txt
@@ -115,7 +115,7 @@ TruSeq Adapter, Index 19						GATCGGAAGAGCACACGTCTGAACTCCAGTCACGTGAAACTCTCGTATGC
 TruSeq Adapter, Index 20						GATCGGAAGAGCACACGTCTGAACTCCAGTCACGTGGCCTTCTCGTATGCCGTCTTCTGCTTG
 TruSeq Adapter, Index 21						GATCGGAAGAGCACACGTCTGAACTCCAGTCACGTTTCGGTCTCGTATGCCGTCTTCTGCTTG
 TruSeq Adapter, Index 22						GATCGGAAGAGCACACGTCTGAACTCCAGTCACCGTACGTTCTCGTATGCCGTCTTCTGCTTG
-TruSeq Adapter, Index 23						GATCGGAAGAGCACACGTCTGAACTCCAGTCACCGTACGTTCTCGTATGCCGTCTTCTGCTTG
+TruSeq Adapter, Index 23						GATCGGAAGAGCACACGTCTGAACTCCAGTCACCCACTCTTCTCGTATGCCGTCTTCTGCTTG
 TruSeq Adapter, Index 25						GATCGGAAGAGCACACGTCTGAACTCCAGTCACACTGATATCTCGTATGCCGTCTTCTGCTTG
 TruSeq Adapter, Index 27						GATCGGAAGAGCACACGTCTGAACTCCAGTCACATTCCTTTCTCGTATGCCGTCTTCTGCTTG
 
diff --git a/INSTALL.txt b/INSTALL.txt
index 1a8fc4e..c4d578a 100644
--- a/INSTALL.txt
+++ b/INSTALL.txt
@@ -3,9 +3,21 @@ Installing FastQC
 FastQC is a java application.  In order to run it needs your system to have a suitable
 Java Runtime Environment (JRE) installed.  Before you try to run FastQC you should therefore
 ensure that you have a suitable JRE.  There are a number of different JREs available
-however the one we have tested is the v1.6 JRE from Oracle.  This is available
-for a number of different platforms from www.java.com (click the download now button at the
-top).
+however the ones we have tested are the v1.6-v1.8 JREs from Oracle.  These are available
+for a number of different platforms.
+
+Windows/Linux: Go to java.com - click on Free Java Download - DON'T click the large red button
+but choose the smaller link to "See all java downloads".  Find your operating system and select
+the appropriate offline installer.  If you are using a 64bit operating system (and nearly 
+everyone is these days), then make sure you select the 64bit version of the the installer.
+
+OSX: On newer versions of OSX you need to install the Java Development Kit.  The normal Java
+runtime environment IS NOT enough.  To get this go to java.com, click "Free java download",
+then IGNORE the big red button, and select "See all java downloads", on the next screen select
+"Looking for the JDK?" from the left hand menu and select the link to "JDK downloads" in the
+first paragraph.  You can then click the "Download" button underneath JDK in the page you are
+taken to.  Sorry this is such a pain!
+
 
 If you're not sure whether you have java installed then you can test this from a command
 prompt.  To get a command prompt try:
@@ -19,12 +31,12 @@ Either of these will give you a usable shell.
 
 At the command prompt type 'java -version' and press enter.  You should see something like:
 
-java version "1.6.0_17"
-Java(TM) SE Runtime Environment (build 1.6.0_17-b04-248-10M3025)
-Java HotSpot(TM) Client VM (build 14.3-b01-101, mixed mode)
+java version "1.8.0_60"
+Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
+Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)
 
 If you get an error then you don't have java installed.  If the version listed on the first
-line is less than 1.5 then you might have problems running FastQC.
+line is less than 1.6 then you might have problems running FastQC.
 
 Actually installing FastQC is as simple as unzipping the zip file it comes in into a
 suitable location.  That's it.  Once unzipped it's ready to go.
diff --git a/README.txt b/README.txt
index e08d5a2..3e0db5c 100644
--- a/README.txt
+++ b/README.txt
@@ -30,13 +30,15 @@ an HTML report for each file you process.
 
 FastQC is a cross-platform application, written in java.  In theory it
 should run on any platform which has a suitable java runtime environment.
-Having said that we've only tested in on Windows, MacOSX 10.6 and Linux
-running the Sun v1.5 and 1.6 JREs.  Please let us know what happened if
-you try running it on other platforms / JREs.
+Having said that we've only tested in on Windows, MacOSX and Linux
+running the Oracle v1.6 to 1.8 JREs.  Please let us know what happened if
+you try running it on other platforms / JREs.  Please see the detailed
+instructions in the INSTALL.txt document to tell you how to get a 
+suitable java version to run FastQC on your system.
 
 If you have any comments about FastQC we would like to hear them.  You
 can either enter them in our bug tracking system at:
 
-http://www.bioinformatics.bbsrc.ac.uk/bugzilla/
+http://www.bioinformatics.babraham.ac.uk/bugzilla/
 
-..or send them directly to simon.andrews at bbsrc.ac.uk.
+..or send them directly to simon.andrews at babraham.ac.uk.
diff --git a/RELEASE_NOTES.txt b/RELEASE_NOTES.txt
index 1eb92cf..8399a22 100644
--- a/RELEASE_NOTES.txt
+++ b/RELEASE_NOTES.txt
@@ -1,3 +1,36 @@
+RELEASE NOTES FOR FastQC v0.11.4
+--------------------------------
+
+This is a minor bug-fix release which addresses issues found in
+the previous release.
+
+1) 	Changed the OSX launcher to not rely on the Mac specific JVM
+	framework, but to use any command line java which is found.  This
+	will require the user to install the JDK on newer OSX releases
+	rather than just the JVM.  See the updated version of the INSTALL.txt
+	document if you have problems with this on OSX.
+
+2)	Fixed a typo in one of the included adapter sequences in the search
+	set.
+	
+3) 	Fixed a bug which failed to remove an fq.gz extension from the 
+	name used in the report when running in offline mode.
+	
+4)	Made the per-tile quality module not collect any stats if it's
+	been disabled in limits.txt, rather than just not being included
+	in the output.
+	
+5)	Fixed a bug in the calculation of duplication levels which only 
+	affected highly duplicated ordered libraries where the count limit
+	was not reached.
+	
+6)  Fixed a bug which triggered an error flag on the per-base quality
+	plot for positions with fewer than 100 observations, where we can't
+	calculate a sensible percentile value.  Changed the text report to
+	assign NaN to these positions rather than 0.
+
+
+
 RELEASE NOTES FOR FastQC v0.11.3
 --------------------------------
 
diff --git a/fastqc b/fastqc
index a737484..d3afba4 100644
--- a/fastqc
+++ b/fastqc
@@ -48,6 +48,17 @@ else {
 my @java_args;
 my @files;
 
+if ($^O =~/darwin/) {
+		
+	# Add the OSX specific options to use a standard OSX menu bar
+	# and set the program name to something sensible.
+				
+	push @java_args, '-Xdock:name=FastQC';
+	push @java_args, "-Xdock:icon=$RealBin/../Resources/seqmonk.icns";
+	push @java_args, '-Dapple.laf.useScreenMenuBar=true';
+	
+}
+
 # We now need to scan the command line for switches which we're going
 # to pass on to the main java program.
 
diff --git a/uk/ac/babraham/FastQC/Analysis/OfflineRunner.java b/uk/ac/babraham/FastQC/Analysis/OfflineRunner.java
index 7593c2a..4570087 100644
--- a/uk/ac/babraham/FastQC/Analysis/OfflineRunner.java
+++ b/uk/ac/babraham/FastQC/Analysis/OfflineRunner.java
@@ -144,7 +144,7 @@ public class OfflineRunner implements AnalysisListener {
 
 		
 		if (FastQCConfig.getInstance().output_dir != null) {
-			String fileName = file.getFile().getName().replaceAll("\\.gz$","").replaceAll("\\.bz2$","").replaceAll("\\.txt$","").replaceAll("\\.fastq$", "").replaceAll("\\.fastq$", "").replaceAll("\\.csfastq$", "").replaceAll("\\.sam$", "").replaceAll("\\.bam$", "")+"_fastqc.html";
+			String fileName = file.getFile().getName().replaceAll("\\.gz$","").replaceAll("\\.bz2$","").replaceAll("\\.txt$","").replaceAll("\\.fastq$", "").replaceAll("\\.fq$", "").replaceAll("\\.csfastq$", "").replaceAll("\\.sam$", "").replaceAll("\\.bam$", "")+"_fastqc.html";
 			reportFile = new File(FastQCConfig.getInstance().output_dir+"/"+fileName);						
 		}
 		else {
diff --git a/uk/ac/babraham/FastQC/FastQCApplication.java b/uk/ac/babraham/FastQC/FastQCApplication.java
index 0d71a9c..ac94c6b 100644
--- a/uk/ac/babraham/FastQC/FastQCApplication.java
+++ b/uk/ac/babraham/FastQC/FastQCApplication.java
@@ -54,7 +54,7 @@ import uk.ac.babraham.FastQC.Utilities.NanoporeBasename;
 
 public class FastQCApplication extends JFrame {	
 	
-	public static final String VERSION = "0.11.3";
+	public static final String VERSION = "0.11.4";
 	
 	private JTabbedPane fileTabs;
 	private WelcomePanel welcomePanel;
diff --git a/uk/ac/babraham/FastQC/Modules/DuplicationLevel.java b/uk/ac/babraham/FastQC/Modules/DuplicationLevel.java
index 1f91b97..6b35f20 100644
--- a/uk/ac/babraham/FastQC/Modules/DuplicationLevel.java
+++ b/uk/ac/babraham/FastQC/Modules/DuplicationLevel.java
@@ -159,6 +159,8 @@ public class DuplicationLevel extends AbstractQCModule {
 	
 	private static double getCorrectedCount (long countAtLimit, long totalCount, int duplicationLevel, int numberOfObservations) {
 		
+//		System.err.println("Count at limit = "+countAtLimit+" total = "+totalCount+" Dup level = "+duplicationLevel+" no obs = "+numberOfObservations);
+		
 		// See if we can bail out early
 		if (countAtLimit == totalCount) return numberOfObservations;
 		
diff --git a/uk/ac/babraham/FastQC/Modules/OverRepresentedSeqs.java b/uk/ac/babraham/FastQC/Modules/OverRepresentedSeqs.java
index ca185e4..5a76a09 100644
--- a/uk/ac/babraham/FastQC/Modules/OverRepresentedSeqs.java
+++ b/uk/ac/babraham/FastQC/Modules/OverRepresentedSeqs.java
@@ -157,6 +157,13 @@ public class OverRepresentedSeqs extends AbstractQCModule {
 				
 		if (sequences.containsKey(seq)) {
 			sequences.put(seq, sequences.get(seq)+1);
+			
+			// We need to increment the count at unique limit just in case
+			// we never hit the unique sequence limit, so we need to know 
+			// that we'd actually seen all of the sequences.
+			if (! frozen) {
+				countAtUniqueLimit = count;
+			}
 		}
 		else {
 			if (! frozen) {
diff --git a/uk/ac/babraham/FastQC/Modules/PerBaseQualityScores.java b/uk/ac/babraham/FastQC/Modules/PerBaseQualityScores.java
index 36373d4..e6f240c 100644
--- a/uk/ac/babraham/FastQC/Modules/PerBaseQualityScores.java
+++ b/uk/ac/babraham/FastQC/Modules/PerBaseQualityScores.java
@@ -166,6 +166,10 @@ public class PerBaseQualityScores extends AbstractQCModule {
 		if (!calculated) getPercentages();
 
 		for (int i=0;i<lowerQuartile.length;i++) {
+			if (Double.isNaN(lowerQuartile[i])) {
+				// There wasn't enough data for this group to make an assessment
+				continue;
+			}
 			if (lowerQuartile[i] < ModuleConfig.getParam("quality_base_lower", "error") || medians[i] < ModuleConfig.getParam("quality_base_median", "error")) {
 				return true;
 			}
@@ -177,6 +181,10 @@ public class PerBaseQualityScores extends AbstractQCModule {
 		if (!calculated) getPercentages();
 
 		for (int i=0;i<lowerQuartile.length;i++) {
+			if (Double.isNaN(lowerQuartile[i])) {
+				// There wasn't enough data for this group to make an assessment
+				continue;
+			}
 			if (lowerQuartile[i] < ModuleConfig.getParam("quality_base_lower", "warn") || medians[i] < ModuleConfig.getParam("quality_base_median", "warn")) {
 				return true;
 			}
@@ -231,7 +239,7 @@ public class PerBaseQualityScores extends AbstractQCModule {
 		if (count > 0) {
 			return total/count;
 		}
-		return 0;
+		return Double.NaN;
 		
 	}
 
diff --git a/uk/ac/babraham/FastQC/Modules/PerTileQualityScores.java b/uk/ac/babraham/FastQC/Modules/PerTileQualityScores.java
index eb21707..18f6f58 100644
--- a/uk/ac/babraham/FastQC/Modules/PerTileQualityScores.java
+++ b/uk/ac/babraham/FastQC/Modules/PerTileQualityScores.java
@@ -169,9 +169,17 @@ public class PerTileQualityScores extends AbstractQCModule {
 
 	public void processSequence(Sequence sequence) {
 
+		// Check if we can skip counting because the module is being ignored anyway
+		if (totalCount == 0) {
+			if (ModuleConfig.getParam("tile", "ignore") > 0) {
+				ignoreInReport = true;
+			}
+		}
+
+		
 		// Don't waste time calculating this if we're not going to use it anyway
 		if (ignoreInReport) return;
-
+				
 		calculated = false;
 
 		// Try to find the tile id.  This can come in one of two forms:
diff --git a/uk/ac/babraham/FastQC/Report/HTMLReportArchive.java b/uk/ac/babraham/FastQC/Report/HTMLReportArchive.java
index c916029..080eaa1 100644
--- a/uk/ac/babraham/FastQC/Report/HTMLReportArchive.java
+++ b/uk/ac/babraham/FastQC/Report/HTMLReportArchive.java
@@ -214,6 +214,8 @@ public class HTMLReportArchive {
 			bos.close();
 			bis.close();
 		}
+		
+		zipFile.close();
 	}
 
 	public XMLStreamWriter xhtmlStream ()

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/fastqc.git



More information about the debian-med-commit mailing list