Package beagleutil
Class PbwtUpdater
- java.lang.Object
-
- beagleutil.PbwtUpdater
-
public class PbwtUpdater extends java.lang.Object
Class
PbwtDivUpdater
updates prefix arrays using the positional Burrows-Wheeler transform (PBWT).Instances of
PbwtDivUpdater
are not thread-safe.Reference: Durbin, Richard (2014) Efficient haplotype matching and storage using the positional Burrows-Wheeler transform (PBWT). Bioinformatics 30(9):166-1272. doi: 10.1093/bioinformatics/btu014
-
-
Constructor Summary
Constructors Constructor Description PbwtUpdater(int nHaps)
Constructs a newPbwtUpdater
instance for the specified data.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
nHaps()
Returns the number of haplotypes.void
update(int[] alleles, int nAlleles, int[] prefix)
Update the specified prefix and divergence arrays using the forward Positional Burrows-Wheeler Transform.void
update(IntArray rec, int nAlleles, int[] prefix)
Update the specified prefix and divergence arrays using the forward Positional Burrows-Wheeler Transform.
-
-
-
Method Detail
-
nHaps
public int nHaps()
Returns the number of haplotypes.- Returns:
- the number of haplotypes
-
update
public void update(IntArray rec, int nAlleles, int[] prefix)
Update the specified prefix and divergence arrays using the forward Positional Burrows-Wheeler Transform. The contract for this method is undefined if the specifiedprefix
array is not a permutation of0, 1, 2, ..., (nHaps - 1)
.- Parameters:
rec
- the haplotype allelesnAlleles
- the number of allelesprefix
- the prefix array- Throws:
java.lang.IllegalArgumentException
- ifnAlleles < 1
java.lang.IllegalArgumentException
- ifrec.size() != this.nHaps() || prefix.length != this.nHaps()
java.lang.IndexOutOfBoundsException
- if(prefix[j] < 0 || prefix[j] >= rec.size()
for anyj
satisfying(0 <= j && j < prefix.length)
java.lang.IndexOutOfBoundsException
- if(rec.get[j] < 0 || rec.get(j) >= nAlleles)
for anyj
satisfying(0 <= j && j < this.nHaps())
java.lang.NullPointerException
- ifrec == null || prefix == null
-
update
public void update(int[] alleles, int nAlleles, int[] prefix)
Update the specified prefix and divergence arrays using the forward Positional Burrows-Wheeler Transform. The contract for this method is undefined if the specifiedprefix
array is not a permutation of0, 1, 2, ..., (nHaps - 1)
.- Parameters:
alleles
- the haplotype allelesnAlleles
- the number of allelesprefix
- the prefix array- Throws:
java.lang.IllegalArgumentException
- ifnAlleles < 1
java.lang.IllegalArgumentException
- ifalleles.length != this.nHaps() || prefix.length != this.nHaps()
java.lang.IndexOutOfBoundsException
- if(prefix[j] < 0 || prefix[j] >= rec.size()
for anyj
satisfying(0 <= j && j < prefix.length)
java.lang.IndexOutOfBoundsException
- if(alleles[j] < 0 || alleles[j] >= nAlleles)
for anyj
satisfying(0 <= j && j < this.nHaps())
java.lang.NullPointerException
- ifalleles == null || prefix == null
-
-