Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for documentation generation for metrics classes. #1782

Merged
merged 6 commits into from
Apr 4, 2022
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions src/main/java/picard/analysis/AlignmentSummaryMetrics.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,19 @@

package picard.analysis;

import org.broadinstitute.barclay.help.DocumentedFeature;
import picard.metrics.MultilevelMetrics;
import picard.util.help.HelpConstants;

/**
* High level metrics about the alignment of reads within a SAM file, produced by
* the CollectAlignmentSummaryMetrics program and usually stored in a file with
* the extension ".alignment_summary_metrics".
*/
@DocumentedFeature(
groupName = HelpConstants.DOC_CAT_METRICS,
groupSummary = HelpConstants.DOC_CAT_METRICS_SUMMARY,
summary = "Alignment metrics")
public class AlignmentSummaryMetrics extends MultilevelMetrics {
public enum Category {UNPAIRED, FIRST_OF_PAIR, SECOND_OF_PAIR, PAIR}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,10 @@
package picard.analysis;

import htsjdk.samtools.metrics.MetricBase;
import org.broadinstitute.barclay.help.DocumentedFeature;
import picard.util.help.HelpConstants;

@DocumentedFeature(groupName = HelpConstants.DOC_CAT_METRICS, summary = HelpConstants.DOC_CAT_METRICS_SUMMARY)
public class BaseDistributionByCycleMetrics extends MetricBase {
public int READ_END;
public int CYCLE;
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/picard/analysis/CollectOxoGMetrics.java
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
import picard.cmdline.StandardOptionDefinitions;
import picard.cmdline.programgroups.DiagnosticsAndQCProgramGroup;
import picard.util.DbSnpBitSetUtil;
import picard.util.help.HelpConstants;

import java.io.File;
import java.util.*;
Expand Down Expand Up @@ -136,6 +137,7 @@ public class CollectOxoGMetrics extends CommandLineProgram {
private static final String UNKNOWN_SAMPLE = "UnknownSample";

/** Metrics class for outputs. */
@DocumentedFeature(groupName = HelpConstants.DOC_CAT_METRICS, summary = HelpConstants.DOC_CAT_METRICS_SUMMARY)
public static final class CpcgMetrics extends MetricBase {
/** The name of the sample being assayed. */
public String SAMPLE_ALIAS;
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/picard/analysis/CollectQualityYieldMetrics.java
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
import org.broadinstitute.barclay.help.DocumentedFeature;
import picard.cmdline.StandardOptionDefinitions;
import picard.cmdline.programgroups.DiagnosticsAndQCProgramGroup;
import picard.util.help.HelpConstants;

import java.io.File;

Expand Down Expand Up @@ -203,6 +204,7 @@ public void addMetricsToFile(final MetricsFile<QualityYieldMetrics, Integer> met
/**
* A set of metrics used to describe the general quality of a BAM file
*/
@DocumentedFeature(groupName = HelpConstants.DOC_CAT_METRICS, summary = HelpConstants.DOC_CAT_METRICS_SUMMARY)
public static class QualityYieldMetrics extends MergeableMetricBase {

/**
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/picard/analysis/CollectRawWgsMetrics.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
import org.broadinstitute.barclay.argparser.CommandLineProgramProperties;
import org.broadinstitute.barclay.help.DocumentedFeature;
import picard.cmdline.programgroups.DiagnosticsAndQCProgramGroup;
import picard.util.help.HelpConstants;

/**
* Computes a number of metrics that are useful for evaluating coverage and performance of whole genome sequencing
Expand Down Expand Up @@ -114,6 +115,7 @@ public CollectRawWgsMetrics() {
}

// rename the class so that in the metric file it is annotated differently.
@DocumentedFeature(groupName = HelpConstants.DOC_CAT_METRICS, summary = HelpConstants.DOC_CAT_METRICS_SUMMARY)
public static class RawWgsMetrics extends WgsMetrics {
public RawWgsMetrics() {
super();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
import picard.filter.CountingFilter;
import picard.filter.CountingPairedFilter;
import picard.util.RExecutor;
import picard.util.help.HelpConstants;

import java.io.File;
import java.util.List;
Expand Down Expand Up @@ -87,6 +88,7 @@ public class CollectWgsMetricsWithNonZeroCoverage extends CollectWgsMetrics {
/**
* Metrics for evaluating the performance of whole genome sequencing experiments.
*/
@DocumentedFeature(groupName = HelpConstants.DOC_CAT_METRICS, summary = HelpConstants.DOC_CAT_METRICS_SUMMARY)
public static class WgsMetricsWithNonZeroCoverage extends WgsMetrics {
public enum Category {WHOLE_GENOME, NON_ZERO_REGIONS}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,15 @@
package picard.analysis;

import htsjdk.samtools.metrics.MetricBase;
import org.broadinstitute.barclay.help.DocumentedFeature;
import picard.util.help.HelpConstants;

/**
* Detailed metrics about an individual SNP/Haplotype comparison within a fingerprint comparison.
*
* @author Tim Fennell
*/
@DocumentedFeature(groupName = HelpConstants.DOC_CAT_METRICS, summary = HelpConstants.DOC_CAT_METRICS_SUMMARY)
public class FingerprintingDetailMetrics extends MetricBase {
/** The sequencing read group from which sequence data was fingerprinted. */
public String READ_GROUP;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@
package picard.analysis;

import htsjdk.samtools.metrics.MetricBase;
import org.broadinstitute.barclay.help.DocumentedFeature;
import picard.util.help.HelpConstants;

/**
* Summary fingerprinting metrics and statistics about the comparison of the sequence data
Expand All @@ -33,6 +35,7 @@
*
* @author Tim Fennell
*/
@DocumentedFeature(groupName = HelpConstants.DOC_CAT_METRICS, summary = HelpConstants.DOC_CAT_METRICS_SUMMARY)
public class FingerprintingSummaryMetrics extends MetricBase {
/** The read group from which sequence data was drawn for comparison. */
public String READ_GROUP;
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/picard/analysis/GcBiasDetailMetrics.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,17 @@

package picard.analysis;

import org.broadinstitute.barclay.help.DocumentedFeature;
import picard.metrics.MultilevelMetrics;
import picard.util.help.HelpConstants;

/**
* Class that holds detailed metrics about reads that fall within windows of a certain
* GC bin on the reference genome.
*
* @author Tim Fennell
*/
@DocumentedFeature(groupName = HelpConstants.DOC_CAT_METRICS, summary = HelpConstants.DOC_CAT_METRICS_SUMMARY)
public class GcBiasDetailMetrics extends MultilevelMetrics {
public String ACCUMULATION_LEVEL;
/** This option is used to mark including or excluding duplicates. */
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/picard/analysis/GcBiasSummaryMetrics.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,16 @@

package picard.analysis;

import org.broadinstitute.barclay.help.DocumentedFeature;
import picard.metrics.MultilevelMetrics;
import picard.util.help.HelpConstants;

/**
* High level metrics that capture how biased the coverage in a certain lane is.
*
* @author Tim Fennell
*/
@DocumentedFeature(groupName = HelpConstants.DOC_CAT_METRICS, summary = HelpConstants.DOC_CAT_METRICS_SUMMARY)
public class GcBiasSummaryMetrics extends MultilevelMetrics {
public String ACCUMULATION_LEVEL;

Expand Down
3 changes: 3 additions & 0 deletions src/main/java/picard/analysis/InsertSizeMetrics.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,9 @@
package picard.analysis;

import htsjdk.samtools.SamPairUtil.PairOrientation;
import org.broadinstitute.barclay.help.DocumentedFeature;
import picard.metrics.MultilevelMetrics;
import picard.util.help.HelpConstants;

/**
* Metrics about the insert size distribution of a paired-end library, created by the
Expand All @@ -35,6 +37,7 @@
*
* @author Doug Voet (dvoet at broadinstitute dot org)
*/
@DocumentedFeature(groupName = HelpConstants.DOC_CAT_METRICS, summary = HelpConstants.DOC_CAT_METRICS_SUMMARY)
public class InsertSizeMetrics extends MultilevelMetrics {

/** The MEDIAN insert size of all paired end reads where both ends mapped to the same chromosome. */
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/picard/analysis/JumpingLibraryMetrics.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,16 @@
package picard.analysis;

import htsjdk.samtools.metrics.MetricBase;
import org.broadinstitute.barclay.help.DocumentedFeature;
import picard.util.help.HelpConstants;

/**
* High level metrics about the presence of outward- and inward-facing pairs
* within a SAM file generated with a jumping library, produced by
* the CollectJumpingLibraryMetrics program and usually stored in a file with
* the extension ".jump_metrics".
*/
@DocumentedFeature(groupName = HelpConstants.DOC_CAT_METRICS, summary = HelpConstants.DOC_CAT_METRICS_SUMMARY)
public class JumpingLibraryMetrics extends MetricBase {

/**
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/picard/analysis/RnaSeqMetrics.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,15 @@
*/
package picard.analysis;

import org.broadinstitute.barclay.help.DocumentedFeature;
import picard.metrics.MultilevelMetrics;
import picard.util.help.HelpConstants;

/**
* Metrics about the alignment of RNA-seq reads within a SAM file to genes, produced by the CollectRnaSeqMetrics
* program and usually stored in a file with the extension ".rna_metrics".
*/
@DocumentedFeature(groupName = HelpConstants.DOC_CAT_METRICS, summary = HelpConstants.DOC_CAT_METRICS_SUMMARY)
public class RnaSeqMetrics extends MultilevelMetrics {
/** The total number of PF bases including non-aligned reads. */
public long PF_BASES;
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/picard/analysis/RrbsCpgDetailMetrics.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,15 @@

package picard.analysis;

import org.broadinstitute.barclay.help.DocumentedFeature;
import picard.metrics.MultilevelMetrics;
import picard.util.help.HelpConstants;

/**
* Holds information about CpG sites encountered for RRBS processing QC
* @author jgentry
*/
@DocumentedFeature(groupName = HelpConstants.DOC_CAT_METRICS, summary = HelpConstants.DOC_CAT_METRICS_SUMMARY)
public final class RrbsCpgDetailMetrics extends MultilevelMetrics {
/** Sequence the CpG is seen in */
public String SEQUENCE_NAME;
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/picard/analysis/RrbsMetrics.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@
package picard.analysis;

import htsjdk.samtools.metrics.MetricBase;
import org.broadinstitute.barclay.help.DocumentedFeature;
import picard.util.help.HelpConstants;

import java.util.List;

Expand All @@ -37,6 +39,7 @@
*
* @author jgentry@broadinstitute.org
*/
@DocumentedFeature(groupName = HelpConstants.DOC_CAT_METRICS, summary = HelpConstants.DOC_CAT_METRICS_SUMMARY)
class RrbsMetrics extends MetricBase {
private final RrbsSummaryMetrics summaryMetrics;
private final List<RrbsCpgDetailMetrics> detailMetrics;
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/picard/analysis/RrbsSummaryMetrics.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,16 @@

package picard.analysis;

import org.broadinstitute.barclay.help.DocumentedFeature;
import picard.metrics.MultilevelMetrics;
import picard.util.help.HelpConstants;

/**
* Holds summary statistics from RRBS processing QC
*
* @author jgentry
*/
@DocumentedFeature(groupName = HelpConstants.DOC_CAT_METRICS, summary = HelpConstants.DOC_CAT_METRICS_SUMMARY)
public final class RrbsSummaryMetrics extends MultilevelMetrics {
/** Number of mapped reads processed */
public Integer READS_ALIGNED;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@
package picard.analysis;

import htsjdk.samtools.metrics.MetricBase;
import org.broadinstitute.barclay.help.DocumentedFeature;
import picard.util.help.HelpConstants;

/**
* TheoreticalSensitivityMetrics, are metrics calculated from TheoreticalSensitivity and parameters used in
Expand All @@ -35,6 +37,7 @@
*
* @author Mark Fleharty
*/
@DocumentedFeature(groupName = HelpConstants.DOC_CAT_METRICS, summary = HelpConstants.DOC_CAT_METRICS_SUMMARY)
public class TheoreticalSensitivityMetrics extends MetricBase {
/** The allele fraction which theoretical sensitivity is calculated for. */
public double ALLELE_FRACTION;
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/picard/analysis/WgsMetrics.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,13 @@
import htsjdk.samtools.util.Histogram;
import htsjdk.samtools.util.IntervalList;
import htsjdk.samtools.util.QualityUtil;
import org.broadinstitute.barclay.help.DocumentedFeature;
import picard.PicardException;
import picard.util.MathUtil;
import picard.util.help.HelpConstants;

/** Metrics for evaluating the performance of whole genome sequencing experiments. */
@DocumentedFeature(groupName = HelpConstants.DOC_CAT_METRICS, summary = HelpConstants.DOC_CAT_METRICS_SUMMARY)
public class WgsMetrics extends MergeableMetricBase {
private static final double LOG_ODDS_THRESHOLD = 3.0;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package picard.analysis.artifacts;

import org.broadinstitute.barclay.help.DocumentedFeature;
import picard.analysis.MergeableMetricBase;
import picard.util.help.HelpConstants;

/**
* Summary metrics produced by {@link CollectSequencingArtifactMetrics} as a roll up of the
Expand All @@ -9,6 +11,7 @@
* Errors are normalized to the lexically lower reference base and summarized together. E.g.
* G>T is converted to C>A and merged with data from C>A for reporting.
*/
@DocumentedFeature(groupName = HelpConstants.DOC_CAT_METRICS, summary = HelpConstants.DOC_CAT_METRICS_SUMMARY)
public class ErrorSummaryMetrics extends MergeableMetricBase {
/** The reference base (or it's complement). */
@MergeByAssertEquals public char REF_BASE;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

import htsjdk.samtools.metrics.MetricBase;
import htsjdk.samtools.util.QualityUtil;
import org.broadinstitute.barclay.help.DocumentedFeature;
import picard.util.help.HelpConstants;

public class SequencingArtifactMetrics {
public static final String PRE_ADAPTER_SUMMARY_EXT = ".pre_adapter_summary_metrics";
Expand Down Expand Up @@ -31,6 +33,7 @@ public class SequencingArtifactMetrics {
* their contributions will cancel out in the calculation.
*
*/
@DocumentedFeature(groupName = HelpConstants.DOC_CAT_METRICS, summary = HelpConstants.DOC_CAT_METRICS_SUMMARY)
public static class PreAdapterSummaryMetrics extends MetricBase {
/** The name of the sample being assayed. */
public String SAMPLE_ALIAS;
Expand Down Expand Up @@ -89,6 +92,7 @@ public void inferArtifactName() {
* relative to sites with the flip (C positive / G negative). This is known as the "G-Ref" artifact.
*
*/
@DocumentedFeature(groupName = HelpConstants.DOC_CAT_METRICS, summary = HelpConstants.DOC_CAT_METRICS_SUMMARY)
public static class BaitBiasSummaryMetrics extends MetricBase {
/** The name of the sample being assayed. */
public String SAMPLE_ALIAS;
Expand Down Expand Up @@ -138,6 +142,7 @@ public void inferArtifactName() {
/**
* Pre-adapter artifacts broken down by context.
*/
@DocumentedFeature(groupName = HelpConstants.DOC_CAT_METRICS, summary = HelpConstants.DOC_CAT_METRICS_SUMMARY)
public static class PreAdapterDetailMetrics extends MetricBase {
/** The name of the sample being assayed. */
public String SAMPLE_ALIAS;
Expand Down Expand Up @@ -200,6 +205,7 @@ public int compareTo(final PreAdapterDetailMetrics o) {
/**
* Bait bias artifacts broken down by context.
*/
@DocumentedFeature(groupName = HelpConstants.DOC_CAT_METRICS, summary = HelpConstants.DOC_CAT_METRICS_SUMMARY)
public static class BaitBiasDetailMetrics extends MetricBase {
public String SAMPLE_ALIAS;
/** The name of the library being assayed. */
Expand Down
4 changes: 4 additions & 0 deletions src/main/java/picard/analysis/directed/HsMetrics.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@

package picard.analysis.directed;

import org.broadinstitute.barclay.help.DocumentedFeature;
import picard.util.help.HelpConstants;

/**
* <p>Metrics generated by CollectHsMetrics for the analysis of target-capture sequencing experiments. The metrics
* in this class fall broadly into three categories:</p>
Expand All @@ -46,6 +49,7 @@
*
* @author Tim Fennell
*/
@DocumentedFeature(groupName = HelpConstants.DOC_CAT_METRICS, summary = HelpConstants.DOC_CAT_METRICS_SUMMARY)
public class HsMetrics extends PanelMetricsBase {
/** The name of the bait set used in the hybrid selection. */
public String BAIT_SET;
Expand Down
4 changes: 4 additions & 0 deletions src/main/java/picard/analysis/directed/TargetMetrics.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,14 @@

package picard.analysis.directed;

import org.broadinstitute.barclay.help.DocumentedFeature;
import picard.util.help.HelpConstants;

/**
* TargetMetrics, are metrics to measure how well we hit specific targets (or baits) when using a targeted sequencing process like hybrid selection
* or Targeted PCR Techniques (TSCA). TargetMetrics at the moment are the metrics that are shared by both HybridSelection and TargetedPcrMetrics.
*/
@DocumentedFeature(groupName = HelpConstants.DOC_CAT_METRICS, summary = HelpConstants.DOC_CAT_METRICS_SUMMARY)
public class TargetMetrics extends TargetMetricsBase {
/** The name of the PROBE_SET (BAIT_SET, AMPLICON_SET, ...) used in this metrics collection run */
public String PROBE_SET;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,12 @@
package picard.analysis.directed;


import org.broadinstitute.barclay.help.DocumentedFeature;
import picard.util.help.HelpConstants;

/** Metrics class for the analysis of reads obtained from targeted pcr experiments e.g. the TruSeq Custom Amplicon
* (TSCA) kit (Illumina). */
@DocumentedFeature(groupName = HelpConstants.DOC_CAT_METRICS, summary = HelpConstants.DOC_CAT_METRICS_SUMMARY)
public class TargetedPcrMetrics extends TargetMetricsBase {

/** The name of the amplicon set used in this metrics collection run */
Expand Down
Loading