protected List<ModelPoint> InitializeModelPoints(CoverageModel model)
{
List<ModelPoint> modelPoints = new List<ModelPoint>();
double[] mu = GetProjectedMeanCoverage(model.DiploidCoverage);
double diploidMAF = this.AllPloidies[3].MinorAlleleFrequency; /// %%% Magic number!
// Refine our estimate of diploid MAF:
//double diploidMAF = this.EstimateDiploidMAF(2, model.DiploidCoverage);
/////////////////////////////////////////////
// Update the parameters in each SegmentPloidy object, and construct corresponding SegmentInfo objects
foreach (SegmentPloidy ploidy in this.AllPloidies)
{
ModelPoint point = new ModelPoint();
double pureCoverage = mu[ploidy.CopyNumber];
point.Coverage = pureCoverage;
double pureMAF = ploidy.MinorAlleleFrequency;
point.MAF = pureMAF;
if (double.IsNaN(point.MAF)) point.MAF = 0;
point.Ploidy = ploidy;
modelPoints.Add(point);
point.CN = ploidy.CopyNumber;
ploidy.MixedMinorAlleleFrequency = point.MAF;
ploidy.MixedCoverage = point.Coverage;
}
return modelPoints;
}