public static void CheckBins(Dictionary <int, int> nonZeroBinValues, IBins <int> intBins) { for (int i = 0; i < 100; i++) { if (!nonZeroBinValues.ContainsKey(i)) { Assert.Equal(0, intBins.GetHit(i)); } } foreach (var bin in nonZeroBinValues) { Assert.Equal(bin.Value, intBins.GetHit(bin.Key)); } }
public void Merge(IBins <int> otherBins, int binOffset, int startBinInOther, int endBinInOther) { var startBinInThis = startBinInOther - binOffset; var endBinInThis = Math.Min(_numBins, endBinInOther - binOffset); for (int i = startBinInThis; i <= endBinInThis; i++) { var binIdInOtherBins = i + binOffset; // Note, this keeps checking even if we've gone past the range of the other guy var otherHit = otherBins.GetHit(binIdInOtherBins, false); if (otherHit > 0) { IncrementHit(i, otherHit); } } }
/// <summary> /// Increment the hits of this bin with the hits from otherBins. Assumes they are on the same scale, /// and will not go past the current bins. If offset not provided, also assumes start positions are the same. /// </summary> /// <param name="otherBins"></param> /// <param name="binOffset"></param> public void Merge(IBins <T> otherBins, int binOffset, int startBinInOther, int endBinInOther) { var defaultResult = ReturnDefault(); var startBinInThis = startBinInOther - binOffset; var endBinInThis = Math.Min(_numBins, endBinInOther - binOffset); for (int i = startBinInThis; i <= endBinInThis; i++) { var binIndexInOther = i + binOffset; // Note, this keeps checking even if we've gone past the range of the other guy var otherHit = otherBins.GetHit(binIndexInOther); if (!otherHit.Equals(defaultResult)) { MergeHits(i, otherHit); } } }
public int GetAllHits(int i) { return(AllHits.GetHit(i)); }
public int GetMapqMessyHit(int i) { return(_mapqMessyHits.GetHit(i)); }
public int GetIndelHit(int i) { return(_indelHits.GetHit(i)); }
public int GetReverseMessyRegionHit(int i) { return(_revOnlyMessyHits.GetHit(i)); }
public int GetForwardMessyRegionHit(int i) { return(_fwdOnlyMessyHits.GetHit(i)); }
private bool GetProbableSnvHit(int i) { return(_probableTrueSnvRegions.GetHit(i)); }
public bool GetIsMessyEnough(int i) { return(_isMessyEnough.GetHit(i)); }
public bool GetIndelRegionHit(int i) { return(_indelRegions.GetHit(i)); }
public bool GetMapqMessyStatus(int i) { return(_mapqMessyStatus.GetHit(i)); }
public bool GetRevMessyStatus(int i) { return(_revMessyStatus.GetHit(i)); }
public bool GetFwdMessyStatus(int i) { return(_fwdMessyStatus.GetHit(i)); }
public bool IsPositionUsable(int position) { return(_sitesUsable.GetHit(_binConclusions.GetBinId(position))); }