diff --git a/src/main/java/picard/analysis/CollectBaseDistributionByCycle.java b/src/main/java/picard/analysis/CollectBaseDistributionByCycle.java index 1dc127d80b..db2f0a3e42 100644 --- a/src/main/java/picard/analysis/CollectBaseDistributionByCycle.java +++ b/src/main/java/picard/analysis/CollectBaseDistributionByCycle.java @@ -137,7 +137,10 @@ protected void finish() { metrics.write(OUTPUT); if (hist.isEmpty()) { log.warn("No valid bases found in input file. No plot will be produced."); - } else { + return; + } + + if (CHART_OUTPUT != null) { final int rResult = RExecutor.executeFromClasspath("picard/analysis/baseDistributionByCycle.R", OUTPUT.getAbsolutePath(), CHART_OUTPUT.getAbsolutePath().replaceAll("%", "%%"), diff --git a/src/main/java/picard/analysis/CollectGcBiasMetrics.java b/src/main/java/picard/analysis/CollectGcBiasMetrics.java index 21def4cc81..a03438ee0a 100644 --- a/src/main/java/picard/analysis/CollectGcBiasMetrics.java +++ b/src/main/java/picard/analysis/CollectGcBiasMetrics.java @@ -206,13 +206,15 @@ private void writeResultsToFiles() { detailMetricsFile.write(OUTPUT); summaryMetricsFile.write(SUMMARY_OUTPUT); - final NumberFormat fmt = NumberFormat.getIntegerInstance(); - fmt.setGroupingUsed(true); - RExecutor.executeFromClasspath(R_SCRIPT, - OUTPUT.getAbsolutePath(), - SUMMARY_OUTPUT.getAbsolutePath(), - CHART_OUTPUT.getAbsolutePath().replaceAll("%", "%%"), - String.valueOf(SCAN_WINDOW_SIZE)); + if (CHART_OUTPUT != null) { + final NumberFormat fmt = NumberFormat.getIntegerInstance(); + fmt.setGroupingUsed(true); + RExecutor.executeFromClasspath(R_SCRIPT, + OUTPUT.getAbsolutePath(), + SUMMARY_OUTPUT.getAbsolutePath(), + CHART_OUTPUT.getAbsolutePath().replaceAll("%", "%%"), + String.valueOf(SCAN_WINDOW_SIZE)); + } } } diff --git a/src/main/java/picard/analysis/CollectInsertSizeMetrics.java b/src/main/java/picard/analysis/CollectInsertSizeMetrics.java index d6d7916a8a..9f40458db5 100644 --- a/src/main/java/picard/analysis/CollectInsertSizeMetrics.java +++ b/src/main/java/picard/analysis/CollectInsertSizeMetrics.java @@ -167,10 +167,12 @@ protected String[] customCommandLineValidation() { " of the total aligned paired data."); final InsertSizeMetricsCollector.PerUnitInsertSizeMetricsCollector allReadsCollector = (InsertSizeMetricsCollector.PerUnitInsertSizeMetricsCollector) multiCollector.getAllReadsCollector(); log.warn("Total mapped pairs in all categories: " + (allReadsCollector == null ? allReadsCollector : allReadsCollector.getTotalInserts())); + return; } - else { - file.write(OUTPUT); + file.write(OUTPUT); + + if (Histogram_FILE != null) { final List plotArgs = new ArrayList<>(); Collections.addAll(plotArgs, OUTPUT.getAbsolutePath(), Histogram_FILE.getAbsolutePath().replaceAll("%", "%%"), INPUT.getName()); diff --git a/src/main/java/picard/analysis/MeanQualityByCycle.java b/src/main/java/picard/analysis/MeanQualityByCycle.java index 81891b1390..40b74e63a1 100644 --- a/src/main/java/picard/analysis/MeanQualityByCycle.java +++ b/src/main/java/picard/analysis/MeanQualityByCycle.java @@ -135,8 +135,10 @@ protected void finish() { if (q.isEmpty() && oq.isEmpty()) { log.warn("No valid bases found in input file. No plot will be produced."); + return; } - else { + + if(CHART_OUTPUT != null) { // Now run R to generate a chart final int rResult = RExecutor.executeFromClasspath( "picard/analysis/meanQualityByCycle.R", diff --git a/src/main/java/picard/analysis/QualityScoreDistribution.java b/src/main/java/picard/analysis/QualityScoreDistribution.java index db867ad18c..216c159a5e 100644 --- a/src/main/java/picard/analysis/QualityScoreDistribution.java +++ b/src/main/java/picard/analysis/QualityScoreDistribution.java @@ -158,8 +158,10 @@ protected void finish() { metrics.write(OUTPUT); if (qHisto.isEmpty() && oqHisto.isEmpty()) { log.warn("No valid bases found in input file. No plot will be produced."); + return; } - else { + + if (CHART_OUTPUT != null) { // Now run R to generate a chart final int rResult = RExecutor.executeFromClasspath( "picard/analysis/qualityScoreDistribution.R",