CanvasCommon.CopyNumberOracle.GetKnownClonalityForSegment C# (CSharp) Метод

GetKnownClonalityForSegment() публичный Метод

public GetKnownClonalityForSegment ( CanvasSegment segment ) : double
segment CanvasSegment
Результат double
        public double GetKnownClonalityForSegment(CanvasSegment segment)
        {
            // Handle switched chromosome naming convention transparently:
            string chr = segment.Chr;
            if (!this.KnownCN.ContainsKey(segment.Chr))
            {
                chr = segment.Chr.Replace("chr", "");
                if (!this.KnownCN.ContainsKey(chr))
                {
                    chr = "chr" + segment.Chr;
                    if (!this.KnownCN.ContainsKey(chr)) return -1;
                }
            }
            double Clonality = -1;
            foreach (CNInterval interval in this.KnownCN[chr])
            {
                if (interval.End < segment.Begin) continue;
                if (interval.Start > segment.End) continue;
                int start = Math.Max(segment.Begin, interval.Start);
                int end = Math.Min(segment.End, interval.End);
                if ((end - start) * 2 >= (segment.End - segment.Begin))
                {
                    Clonality = interval.Heterogeneity;
                    break;
                }
            }
            return Clonality;
        }