picard.sam.markduplicates

## Class UmiAwareMarkDuplicatesWithMateCigar

- java.lang.Object
- - picard.cmdline.CommandLineProgram
  - - picard.sam.markduplicates.util.AbstractOpticalDuplicateFinderCommandLineProgram
    - - picard.sam.markduplicates.util.AbstractMarkDuplicatesCommandLineProgram
      - - picard.sam.markduplicates.MarkDuplicates
        - - picard.sam.markduplicates.SimpleMarkDuplicatesWithMateCigar
          - - picard.sam.markduplicates.UmiAwareMarkDuplicatesWithMateCigar

-     public class UmiAwareMarkDuplicatesWithMateCigar
      extends SimpleMarkDuplicatesWithMateCigar

  This is a simple tool to mark duplicates making use of UMIs in the reads. It makes use of the fact that duplicate sets with UMIs can be broken up into subsets based on information contained in the UMI. Since UMIs may contain sequencing errors, this tool allows for UMIs that are different but within a given edit distance to be considered to be part of the same duplicate set. Users should continue to use MarkDuplicates in general, the main motivation for this tool is to provide a way to mark duplicates using information from UMIs.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class picard.sam.markduplicates.MarkDuplicates

      `MarkDuplicates.DuplicateTaggingPolicy, MarkDuplicates.DuplicateType`

    - ### Nested classes/interfaces inherited from class picard.sam.markduplicates.util.AbstractMarkDuplicatesCommandLineProgram

      `AbstractMarkDuplicatesCommandLineProgram.SamHeaderAndIterator`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `boolean` | `ALLOW_MISSING_UMIS`
    `String` | `ASSIGNED_UMI_TAG`
    `int` | `MAX_EDIT_DISTANCE_TO_JOIN`
    `String` | `UMI_TAG_NAME`

    - ### Fields inherited from class picard.sam.markduplicates.MarkDuplicates

      `BARCODE_TAG, DUPLICATE_TYPE_LIBRARY, DUPLICATE_TYPE_SEQUENCING, DUPLICATE_TYPE_TAG, libraryIdGenerator, MAX_FILE_HANDLES_FOR_READ_ENDS_MAP, MAX_SEQUENCES_FOR_DISK_READ_ENDS_MAP, READ_ONE_BARCODE_TAG, READ_TWO_BARCODE_TAG, REMOVE_SEQUENCING_DUPLICATES, SORTING_COLLECTION_SIZE_RATIO, TAGGING_POLICY`

    - ### Fields inherited from class picard.sam.markduplicates.util.AbstractMarkDuplicatesCommandLineProgram

      `ASSUME_SORT_ORDER, ASSUME_SORTED, COMMENT, DUPLICATE_SCORING_STRATEGY, INPUT, METRICS_FILE, OUTPUT, pgIdsSeen, PROGRAM_GROUP_COMMAND_LINE, PROGRAM_GROUP_NAME, PROGRAM_GROUP_VERSION, PROGRAM_RECORD_ID, REMOVE_DUPLICATES`

    - ### Fields inherited from class picard.sam.markduplicates.util.AbstractOpticalDuplicateFinderCommandLineProgram

      `LOG, OPTICAL_DUPLICATE_PIXEL_DISTANCE, opticalDuplicateFinder, READ_NAME_REGEX`

    - ### Fields inherited from class picard.cmdline.CommandLineProgram

      `COMPRESSION_LEVEL, CREATE_INDEX, CREATE_MD5_FILE, GA4GH_CLIENT_SECRETS, MAX_RECORDS_IN_RAM, QUIET, REFERENCE_SEQUENCE, TMP_DIR, VALIDATION_STRINGENCY, VERBOSITY`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `UmiAwareMarkDuplicatesWithMateCigar()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected htsjdk.samtools.util.CloseableIterator<htsjdk.samtools.DuplicateSet>` | `getDuplicateSetIterator(AbstractMarkDuplicatesCommandLineProgram.SamHeaderAndIterator headerAndIterator, htsjdk.samtools.SAMRecordDuplicateComparator comparator)`

    - ### Methods inherited from class picard.sam.markduplicates.SimpleMarkDuplicatesWithMateCigar

      `doWork, main`

    - ### Methods inherited from class picard.sam.markduplicates.util.AbstractMarkDuplicatesCommandLineProgram

      `finalizeAndWriteMetrics, getChainedPgIds, openInputs, trackOpticalDuplicates`

    - ### Methods inherited from class picard.sam.markduplicates.util.AbstractOpticalDuplicateFinderCommandLineProgram

      `customCommandLineValidation, setupOpticalDuplicateFinder`

    - ### Methods inherited from class picard.cmdline.CommandLineProgram

      `getCommandLine, getCommandLineParser, getDefaultHeaders, getMetricsFile, getNestedOptions, getNestedOptionsForHelp, getStandardUsagePreamble, getVersion, instanceMain, instanceMainWithExit, parseArgs, setDefaultHeaders`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### MAX_EDIT_DISTANCE_TO_JOIN

          @Option(shortName="MAX_EDIT_DISTANCE_TO_JOIN",
                  doc="Largest edit distance that UMIs must have in order to be considered as coming from distinct source molecules.",
                  optional=true)
          public int MAX_EDIT_DISTANCE_TO_JOIN

    - #### UMI_TAG_NAME

          @Option(shortName="UMI_TAG_NAME",
                  doc="Tag name to use for UMI",
                  optional=true)
          public String UMI_TAG_NAME

    - #### ASSIGNED_UMI_TAG

          @Option(shortName="ASSIGNED_UMI_TAG",
                  doc="Tag name to use for assigned UMI",
                  optional=true)
          public String ASSIGNED_UMI_TAG

    - #### ALLOW_MISSING_UMIS

          @Option(doc="FOR TESTING ONLY: allow for missing UMIs if data doesn\'t have UMIs. This option is intended to be used ONLY for testing the code. Use MarkDuplicatesWithMateCigar if data has no UMIs. Mixed data (where some reads have UMIs and others do not) is not supported.",
                  optional=true)
          public boolean ALLOW_MISSING_UMIS

  - ### Constructor Detail

    - #### UmiAwareMarkDuplicatesWithMateCigar

          public UmiAwareMarkDuplicatesWithMateCigar()

  - ### Method Detail

    - #### getDuplicateSetIterator

          protected htsjdk.samtools.util.CloseableIterator<htsjdk.samtools.DuplicateSet> getDuplicateSetIterator(AbstractMarkDuplicatesCommandLineProgram.SamHeaderAndIterator headerAndIterator,
                                                                                                                 htsjdk.samtools.SAMRecordDuplicateComparator comparator)

      Overrides:
        `getDuplicateSetIterator` in class `SimpleMarkDuplicatesWithMateCigar`