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