public TaxaDistribution
This is a specialized multiset for recording the distribution of a single across taxa. HashMap or Multiset or large arrays could be reasonable approaches by they do not scale well with hundreds of taxa scored out of the thousands. Instead this the general implementations use primitive arrays.
TaxaDistribution increment(int taxaNum)
Add the taxa to do the distribution, with an additional depth of 1
taxaNum - kotlin.Array[] depths()
Distribution of taxa depths across all taxa. Taxa with zero depth are included in the array
kotlin.Array[] taxaWithDepths()
Two arrays with the list of taxa with the tag (i.e. depth>0) int[0], and the depth of the taxa in the second array int[1]
kotlin.Array[] encodeTaxaDepth()
Custom run length encoding compression that also use Snappy
com.google.common.collect.Multiset<java.lang.Integer> taxaDepthMap()
Multiset version of the taxa depth. This is a convenient data structure, but it is slow to create compared to depths or taxaWithDepths. Do not use this if performance is key.
int totalDepth()
Total depth across all taxa of the tag
int numberOfTaxaWithTag()
Number of taxa with at least one read
int maxTaxa()
Number of taxa that depth is being recorded for. Maximum taxa index = (maxTaxa-1)
int memorySize()
Estimated memory footprint of this taxa distribution. Can be used to estimate the size of the Map containing these distributions.