Package picard.fingerprint

## Class HaplotypeMap

- java.lang.Object
- - picard.fingerprint.HaplotypeMap

-     public class HaplotypeMap
      extends Object

  A collection of metadata about Haplotype Blocks including multiple in memory "indices" of the data to make it easy to query the correct HaplotypeBlock or Snp by snp names, positions etc. Also has the ability to read and write itself to and from files.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static String` | `HET_GENOTYPE_FOR_PHASING` |
    `static String` | `PHASESET_PREFIX` |
    `static String` | `SYNTHETIC_PHASESET_PREFIX` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `HaplotypeMap​(htsjdk.samtools.SAMFileHeader header)` | Constructs an empty HaplotypeMap using the provided SAMFileHeader's sequence dictionary.
    `HaplotypeMap​(File file)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addHaplotype​(HaplotypeBlock haplotypeBlock)` | Adds a HaplotypeBlock to the map and updates all the relevant caches/indices.
    `Collection<htsjdk.variant.variantcontext.VariantContext>` | `asVcf​(htsjdk.samtools.reference.ReferenceSequenceFile ref)` |
    `Set<Snp>` | `getAllSnps()` | Returns an unmodifiable collection of all SNPs in all Haplotype blocks.
    `HaplotypeBlock` | `getHaplotype​(String snpName)` | Queries a HaplotypeBlock by Snp name.
    `HaplotypeBlock` | `getHaplotype​(String chrom, int pos)` | Queries a HaplotypeBlock by Snp chromosome and position.
    `HaplotypeBlock` | `getHaplotype​(Snp snp)` | Queries a HaplotypeBlock by Snp object.
    `List<HaplotypeBlock>` | `getHaplotypes()` | Returns an unmodifiable collection of all the haplotype blocks in the map.
    `htsjdk.samtools.SAMFileHeader` | `getHeader()` |
    `htsjdk.samtools.util.IntervalList` | `getIntervalList()` | Returns an IntervalList with an entry for every SNP in every Haplotype in the map.
    `Snp` | `getSnp​(String chrom, int pos)` | Queries a Snp by chromosome and position.
    `HaplotypeMap` | `withoutChromosomes​(Set<String> chroms)` | Returns a copy of this haplotype map that excludes haplotypes on the chromosomes provided.
    `void` | `writeAsVcf​(File output, File refFile)` |
    `void` | `writeToFile​(File file)` | Writes out a HaplotypeMap file with the contents of this map.

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

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

- - ### Field Detail

    - #### HET_GENOTYPE_FOR_PHASING

          public static final String HET_GENOTYPE_FOR_PHASING

      See Also:
        Constant Field Values

    - #### SYNTHETIC_PHASESET_PREFIX

          public static final String SYNTHETIC_PHASESET_PREFIX

      See Also:
        Constant Field Values

    - #### PHASESET_PREFIX

          public static final String PHASESET_PREFIX

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### HaplotypeMap

          public HaplotypeMap​(htsjdk.samtools.SAMFileHeader header)

      Constructs an empty HaplotypeMap using the provided SAMFileHeader's sequence dictionary.

    - #### HaplotypeMap

          public HaplotypeMap​(File file)

  - ### Method Detail

    - #### addHaplotype

          public void addHaplotype​(HaplotypeBlock haplotypeBlock)

      Adds a HaplotypeBlock to the map and updates all the relevant caches/indices.

    - #### getHaplotype

          public HaplotypeBlock getHaplotype​(Snp snp)

      Queries a HaplotypeBlock by Snp object. Returns NULL if none found.

    - #### getHaplotype

          public HaplotypeBlock getHaplotype​(String snpName)

      Queries a HaplotypeBlock by Snp name. Returns NULL if none found.

    - #### getHaplotype

          public HaplotypeBlock getHaplotype​(String chrom,
                                             int pos)

      Queries a HaplotypeBlock by Snp chromosome and position. Returns NULL if none found.

    - #### getHaplotypes

          public List<HaplotypeBlock> getHaplotypes()

      Returns an unmodifiable collection of all the haplotype blocks in the map.

    - #### getSnp

          public Snp getSnp​(String chrom,
                            int pos)

      Queries a Snp by chromosome and position. Returns NULL if none found.

    - #### getAllSnps

          public Set<Snp> getAllSnps()

      Returns an unmodifiable collection of all SNPs in all Haplotype blocks.

    - #### getIntervalList

          public htsjdk.samtools.util.IntervalList getIntervalList()

      Returns an IntervalList with an entry for every SNP in every Haplotype in the map.

    - #### withoutChromosomes

          public HaplotypeMap withoutChromosomes​(Set<String> chroms)

      Returns a copy of this haplotype map that excludes haplotypes on the chromosomes provided.
      Parameters:
        `chroms` - a set of zero or more chromosome names

    - #### writeAsVcf

          public void writeAsVcf​(File output,
                                 File refFile)
                          throws FileNotFoundException

      Throws:
        `FileNotFoundException`

    - #### asVcf

          public Collection<htsjdk.variant.variantcontext.VariantContext> asVcf​(htsjdk.samtools.reference.ReferenceSequenceFile ref)

    - #### writeToFile

          public void writeToFile​(File file)

      Writes out a HaplotypeMap file with the contents of this map.

    - #### getHeader

          public htsjdk.samtools.SAMFileHeader getHeader()