/// <summary> /// Perform GC normalization depending on the mode /// </summary> /// <param name="bins">Bins whose counts are to be normalized</param> /// <param name="manifest"></param> /// <param name="mode">GC normalization mode</param> static void NormalizeByGC(List <SampleGenomicBin> bins, NexteraManifest manifest, CanvasGCNormalizationMode mode) { switch (mode) { case CanvasGCNormalizationMode.MedianByGC: NormalizeByGC(bins, manifest: manifest); break; case CanvasGCNormalizationMode.LOESS: var normalizer = new LoessGCNormalizer(bins, manifest, robustnessIter: 0, countTransformer: x => (double)Math.Log(x), invCountTransformer: x => (float)Math.Exp(x)); normalizer.Normalize(); break; default: throw new Illumina.Common.IlluminaException("Unsupported Canvas GC normalization mode: " + mode.ToString()); } }
/// <summary> /// Perform GC normalization depending on the mode /// </summary> /// <param name="bins">Bins whose counts are to be normalized</param> /// <param name="manifest"></param> /// <param name="mode">GC normalization mode</param> static void NormalizeByGC(List<GenomicBin> bins, NexteraManifest manifest, CanvasGCNormalizationMode mode) { switch (mode) { case CanvasGCNormalizationMode.MedianByGC: NormalizeByGC(bins, manifest: manifest); break; case CanvasGCNormalizationMode.LOESS: var normalizer = new LoessGCNormalizer(bins, manifest, robustnessIter: 0, countTransformer: x => (double)Math.Log(x), invCountTransformer: x => (float)Math.Exp(x)); normalizer.Normalize(); break; default: throw new ApplicationException("Unsupported Canvas GC normalization mode: " + mode.ToString()); } }