protected void addBaseQHistogram(final MetricsFile<CollectWgsMetrics.WgsMetrics, Integer> file) { file.addHistogram(getUnfilteredBaseQHistogram()); }
protected void addBaseQHistogram(final MetricsFile<CollectWgsMetrics.WgsMetrics, Integer> file) { file.addHistogram(getUnfilteredBaseQHistogram()); }
@Override public void addMetricsToFile(final MetricsFile<RnaSeqMetrics, Integer> file) { // Compute metrics based on coverage of top 1000 genes final Histogram<Integer> normalizedCovByPos = computeCoverageMetrics(); file.addMetric(metrics); file.addHistogram(normalizedCovByPos); }
@Override public void addMetricsToFile(final MetricsFile<RnaSeqMetrics, Integer> file) { // Compute metrics based on coverage of top 1000 genes final Histogram<Integer> normalizedCovByPos = computeCoverageMetrics(); file.addMetric(metrics); file.addHistogram(normalizedCovByPos); }
file.addHistogram(libraryIdGenerator.getDuplicateCountHist()); file.addHistogram(libraryIdGenerator.getOpticalDuplicateCountHist()); file.addHistogram(libraryIdGenerator.getNonOpticalDuplicateCountHist());
file.addHistogram(libraryIdGenerator.getDuplicateCountHist()); file.addHistogram(libraryIdGenerator.getOpticalDuplicateCountHist()); file.addHistogram(libraryIdGenerator.getNonOpticalDuplicateCountHist());
@Override protected void finish() { // Generate a "Histogram" of mean quality and write it to the file final MetricsFile<?,Integer> metrics = getMetricsFile(); metrics.addHistogram(q.getMeanQualityHistogram()); if (!oq.isEmpty()) metrics.addHistogram(oq.getMeanQualityHistogram()); metrics.write(OUTPUT); if (q.isEmpty() && oq.isEmpty()) { log.warn("No valid bases found in input file. No plot will be produced."); } else { // Now run R to generate a chart final int rResult = RExecutor.executeFromClasspath( "picard/analysis/meanQualityByCycle.R", OUTPUT.getAbsolutePath(), CHART_OUTPUT.getAbsolutePath(), INPUT.getName(), plotSubtitle); if (rResult != 0) { throw new PicardException("R script meanQualityByCycle.R failed with return code " + rResult); } } } }
@Override public void addToMetricsFile(final MetricsFile<WgsMetrics, Integer> file, final boolean includeBQHistogram, final CountingFilter dupeFilter, final CountingFilter mapqFilter, final CountingPairedFilter pairFilter) { highQualityDepthHistogram = getDepthHistogram(); highQualityDepthHistogramNonZero = getDepthHistogramNonZero(); // calculate metrics the same way as in CollectWgsMetrics final WgsMetricsWithNonZeroCoverage metrics = (WgsMetricsWithNonZeroCoverage) getMetrics(dupeFilter, mapqFilter, pairFilter); metrics.CATEGORY = WgsMetricsWithNonZeroCoverage.Category.WHOLE_GENOME; // set count of the coverage-zero bin to 0 and re-calculate metrics // note we don't need to update the base quality histogram; there are no bases in the depth = 0 bin highQualityDepthHistogramArray[0] = 0; unfilteredDepthHistogramArray[0] = 0; final WgsMetricsWithNonZeroCoverage metricsNonZero = (WgsMetricsWithNonZeroCoverage) getMetrics(dupeFilter, mapqFilter, pairFilter); metricsNonZero.CATEGORY = WgsMetricsWithNonZeroCoverage.Category.NON_ZERO_REGIONS; file.addMetric(metrics); file.addMetric(metricsNonZero); file.addHistogram(highQualityDepthHistogram); file.addHistogram(highQualityDepthHistogramNonZero); if (includeBQHistogram) { addBaseQHistogram(file); } }
@Override protected void finish() { // Generate a "Histogram" of mean quality and write it to the file final MetricsFile<?,Integer> metrics = getMetricsFile(); metrics.addHistogram(q.getMeanQualityHistogram()); if (!oq.isEmpty()) metrics.addHistogram(oq.getMeanQualityHistogram()); metrics.write(OUTPUT); if (q.isEmpty() && oq.isEmpty()) { log.warn("No valid bases found in input file. No plot will be produced."); } else { // Now run R to generate a chart final int rResult = RExecutor.executeFromClasspath( "picard/analysis/meanQualityByCycle.R", OUTPUT.getAbsolutePath(), CHART_OUTPUT.getAbsolutePath(), INPUT.getName(), plotSubtitle); if (rResult != 0) { throw new PicardException("R script meanQualityByCycle.R failed with return code " + rResult); } } } }
/** * Adds collected metrics and depth histogram to file * @param file MetricsFile for result of collector's work * @param dupeFilter counting filter for duplicate reads * @param mapqFilter counting filter for mapping quality * @param pairFilter counting filter for reads without a mapped mate pair */ public void addToMetricsFile(final MetricsFile<CollectWgsMetrics.WgsMetrics, Integer> file, final boolean includeBQHistogram, final CountingFilter dupeFilter, final CountingFilter mapqFilter, final CountingPairedFilter pairFilter) { final CollectWgsMetrics.WgsMetrics metrics = getMetrics(dupeFilter, mapqFilter, pairFilter); // add them to the file file.addMetric(metrics); file.addHistogram(getHighQualityDepthHistogram()); if (includeBQHistogram) addBaseQHistogram(file); }
/** * Adds collected metrics and depth histogram to file * @param file MetricsFile for result of collector's work * @param dupeFilter counting filter for duplicate reads * @param mapqFilter counting filter for mapping quality * @param pairFilter counting filter for reads without a mapped mate pair */ public void addToMetricsFile(final MetricsFile<CollectWgsMetrics.WgsMetrics, Integer> file, final boolean includeBQHistogram, final CountingFilter dupeFilter, final CountingFilter mapqFilter, final CountingPairedFilter pairFilter) { final CollectWgsMetrics.WgsMetrics metrics = getMetrics(dupeFilter, mapqFilter, pairFilter); // add them to the file file.addMetric(metrics); file.addHistogram(getHighQualityDepthHistogram()); if (includeBQHistogram) addBaseQHistogram(file); }
@Override public void addToMetricsFile(final MetricsFile<WgsMetrics, Integer> file, final boolean includeBQHistogram, final CountingFilter dupeFilter, final CountingFilter mapqFilter, final CountingPairedFilter pairFilter) { highQualityDepthHistogram = getDepthHistogram(); highQualityDepthHistogramNonZero = getDepthHistogramNonZero(); // calculate metrics the same way as in CollectWgsMetrics final WgsMetricsWithNonZeroCoverage metrics = (WgsMetricsWithNonZeroCoverage) getMetrics(dupeFilter, mapqFilter, pairFilter); metrics.CATEGORY = WgsMetricsWithNonZeroCoverage.Category.WHOLE_GENOME; // set count of the coverage-zero bin to 0 and re-calculate metrics // note we don't need to update the base quality histogram; there are no bases in the depth = 0 bin highQualityDepthHistogramArray[0] = 0; unfilteredDepthHistogramArray[0] = 0; final WgsMetricsWithNonZeroCoverage metricsNonZero = (WgsMetricsWithNonZeroCoverage) getMetrics(dupeFilter, mapqFilter, pairFilter); metricsNonZero.CATEGORY = WgsMetricsWithNonZeroCoverage.Category.NON_ZERO_REGIONS; file.addMetric(metrics); file.addMetric(metricsNonZero); file.addHistogram(highQualityDepthHistogram); file.addHistogram(highQualityDepthHistogramNonZero); if (includeBQHistogram) { addBaseQHistogram(file); } }
metrics.addHistogram(qHisto); if (!oqHisto.isEmpty()) metrics.addHistogram(oqHisto); metrics.write(OUTPUT); if (qHisto.isEmpty() && oqHisto.isEmpty()) {
metrics.addHistogram(qHisto); if (!oqHisto.isEmpty()) metrics.addHistogram(oqHisto); metrics.write(OUTPUT); if (qHisto.isEmpty() && oqHisto.isEmpty()) {
public void addMetricsToFile(final MetricsFile<GcMetrics,Integer> file) { final GcMetrics metrics = new GcMetrics(); metrics.SAMPLE = this.sample; metrics.LIBRARY = this.library; metrics.READ_GROUP = this.readGroup; double totalGc = 0; int totalReads = 0; for (Integer gcBin : histogram.keySet()) { int count = (int)histogram.get(gcBin).getValue(); totalReads += count; totalGc += gcBin * count; } metrics.MEAN_GC_CONTENT = totalGc; metrics.READ_COUNT = totalReads; file.addHistogram(histogram); file.addMetric(metrics); } }
public void addMetricsToFile(final MetricsFile<MapqMetrics,Integer> file) { final MapqMetrics metrics = new MapqMetrics(); metrics.SAMPLE = this.sample; metrics.LIBRARY = this.library; metrics.READ_GROUP = this.readGroup; metrics.MAPPED_READS = (long) histogram.getCount(); metrics.MIN_MAPQ = SAMRecord.UNKNOWN_MAPPING_QUALITY; metrics.MAX_MAPQ = 0; for (int key : histogram.keySet()) { if (key != SAMRecord.UNKNOWN_MAPPING_QUALITY) { if (histogram.get(key).getValue() > 0) { metrics.MIN_MAPQ = Math.min(metrics.MIN_MAPQ, key); metrics.MAX_MAPQ = Math.max(metrics.MAX_MAPQ, key); } } } if (histogram.get(SAMRecord.NO_MAPPING_QUALITY) != null) { metrics.ZERO_MAPQ = (long) histogram.get(SAMRecord.NO_MAPPING_QUALITY).getValue(); } if (histogram.get(SAMRecord.UNKNOWN_MAPPING_QUALITY) != null) { metrics.UNKNOWN_MAPQ = (long) histogram.get(SAMRecord.UNKNOWN_MAPPING_QUALITY).getValue(); } file.addHistogram(histogram); file.addMetric(metrics); } }
file.addHistogram(duplicationHisto);
file.addHistogram(duplicationHisto);
file.addHistogram(trimmedHistogram); file.addMetric(metrics);
file.addHistogram(trimmedHistogram); file.addMetric(metrics);