Class SinglePassSamProgram

java.lang.Object
picard.cmdline.CommandLineProgram
picard.analysis.SinglePassSamProgram
Direct Known Subclasses:
CollectAlignmentSummaryMetrics, CollectBaseDistributionByCycle, CollectDuplicateMetrics, CollectGcBiasMetrics, CollectInsertSizeMetrics, CollectQualityYieldMetrics, CollectRnaSeqMetrics, CollectSequencingArtifactMetrics, MeanQualityByCycle, QualityScoreDistribution

public abstract class SinglePassSamProgram extends CommandLineProgram
Super class that is designed to provide some consistent structure between subclasses that simply iterate once over a coordinate sorted BAM and collect information from the records as the go in order to produce some kind of output.
  • Field Details

    • INPUT

      @Argument(shortName="I", doc="Input SAM/BAM/CRAM file.") public File INPUT
    • output

      @ArgumentCollection public OutputArgumentCollection output
    • OUTPUT

      protected File OUTPUT
    • ASSUME_SORTED

      @Argument(doc="If true (default), then the sort order in the header file will be ignored.", shortName="AS") public boolean ASSUME_SORTED
    • STOP_AFTER

      @Argument(doc="Stop after processing N reads, mainly for debugging.") public long STOP_AFTER
  • Constructor Details

    • SinglePassSamProgram

      public SinglePassSamProgram()
  • Method Details

    • getOutputArgumentCollection

      protected OutputArgumentCollection getOutputArgumentCollection()
    • setReferenceSequence

      public void setReferenceSequence(File referenceFile)
      Set the reference File.
    • doWork

      protected final int doWork()
      Final implementation of doWork() that checks and loads the input and optionally reference sequence files and the runs the sublcass through the setup() acceptRead() and finish() steps.
      Specified by:
      doWork in class CommandLineProgram
      Returns:
      program exit status.
    • makeItSo

      public static void makeItSo(File input, File referenceSequence, boolean assumeSorted, long stopAfter, Collection<SinglePassSamProgram> programs)
    • usesNoRefReads

      protected boolean usesNoRefReads()
      Can be overridden and set to false if the section of unmapped reads at the end of the file isn't needed.
    • setup

      protected abstract void setup(htsjdk.samtools.SAMFileHeader header, File samFile)
      Should be implemented by subclasses to do one-time initialization work.
    • acceptRead

      protected abstract void acceptRead(htsjdk.samtools.SAMRecord rec, htsjdk.samtools.reference.ReferenceSequence ref)
      Should be implemented by subclasses to accept SAMRecords one at a time. If the read has a reference sequence and a reference sequence file was supplied to the program it will be passed as 'ref'. Otherwise 'ref' may be null.
    • finish

      protected abstract void finish()
      Should be implemented by subclasses to do one-time finalization work.