public class DynamicBitStorage implements BitStorage
Provides rapid conversion routines and caching from byte encoding of nucleotides to bit encoding. Only two alleles are supported for each scope (e.g. Major and minor, or Reference and Alternate).
The cache is designed to support multiple scopes, but currently scope must be passed in at construction.
It is not clear that site or taxa optimization is needed. The code should be highly parallelizable as long as the gets are not for adjacent sites.
public DynamicBitStorage(GenotypeCallTable genotype, WHICH_ALLELE allele, kotlin.Array[] prefAllele)
public BitSet allelePresenceForAllSites(int taxon)
public BitSet allelePresenceForAllTaxa(int site)
public kotlin.Array[] allelePresenceForSitesBlock(int taxon,
int startBlock,
int endBlock)
public BitSet haplotypeAllelePresenceForAllSites(int taxon, boolean firstParent)
public BitSet haplotypeAllelePresenceForAllTaxa(int site, boolean firstParent)
public kotlin.Array[] haplotypeAllelePresenceForSitesBlock(int taxon,
boolean firstParent,
int startBlock,
int endBlock)
public static DynamicBitStorage getUnknownInstance(GenotypeCallTable genotype)