CanvasBin.FragmentBinner.BinTask.FindBestBin C# (CSharp) Method

FindBestBin() public static method

Starting from the bin at binIndexStart, increments the bin index and searches for the bin that overlaps the fragment the most. In case of a tie, the bin encountered first is returned.
public static FindBestBin ( List bins, int binIndexStart, int fragmentStart, int fragmentStop ) : int
bins List
binIndexStart int
fragmentStart int
fragmentStop int
return int
            public static int FindBestBin(List<GenomicBin> bins, int binIndexStart, int fragmentStart, int fragmentStop)
            {
                int bestBinIndex = -1;
                int bestOverlap = 0;
                for (int binIndex = binIndexStart; binIndex < bins.Count; binIndex++)
                {
                    int overlapStart = Math.Max(bins[binIndex].Start, fragmentStart);
                    int overlapStop = Math.Min(bins[binIndex].Stop, fragmentStop);
                    int overlap = overlapStop - overlapStart;
                    if (overlap <= 0) { break; }
                    if (overlap > bestOverlap)
                    {
                        bestOverlap = overlap;
                        bestBinIndex = binIndex;
                    }
                }

                return bestBinIndex;
            }