Class 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.
    • 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)
      • HaplotypeMap

        public HaplotypeMap​(Collection<HaplotypeBlock> haplotypeBlocks)
        since this constructor doesn't initialize the HaplotypeMap "properly", it should be used carefully!
    • 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
      • 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()