public double GetAdjustedRatioUsingChromCorrData(O16O18TargetedResultObject o16O18TargetedResultObject) { double ratio; intensityTheorI0 = getI0Intensity(o16O18TargetedResultObject.Target.IsotopicProfile); intensityTheorI2 = getI2Intensity(o16O18TargetedResultObject.Target.IsotopicProfile); intensityTheorI4 = GetI4Intensity(o16O18TargetedResultObject.Target.IsotopicProfile); if (o16O18TargetedResultObject.ChromCorrelationData == null) { return(-1); } var noO16PeakPresent = !o16O18TargetedResultObject.ChromCorrelationData.CorrelationDataItems.Any(); if (noO16PeakPresent) { ratio = 0; } else { var ratioSingleO18ToO16 = o16O18TargetedResultObject.ChromCorrelationData.CorrelationDataItems[0].CorrelationSlope ?? 0d; var ratioDoubleO18ToO16 = o16O18TargetedResultObject.ChromCorrelationData.CorrelationDataItems[1].CorrelationSlope ?? 0d; double adjRatioI0I4; var tempIntensity = CalculateRatio(intensityTheorI0, intensityTheorI2, intensityTheorI4, 1.0, ratioSingleO18ToO16, ratioDoubleO18ToO16, out adjRatioI0I4); ratio = 1 / adjRatioI0I4; //report the o16/o18 ratio } return(ratio); }
private static void addAdditionalInfo(TargetedResultDTO tr, O16O18TargetedResultObject result) { var r = (O16O18TargetedResultDTO)tr; r.IntensityI0 = getIntensityFromIso(result.IsotopicProfile, 0); r.IntensityI2 = getIntensityFromIso(result.IsotopicProfile, 2); r.IntensityI4 = getIntensityFromIso(result.IsotopicProfile, 4); r.IntensityTheorI0 = getIntensityFromIso(result.Target.IsotopicProfile, 0); r.IntensityTheorI2 = getIntensityFromIso(result.Target.IsotopicProfile, 2); r.IntensityTheorI4 = getIntensityFromIso(result.Target.IsotopicProfile, 4); r.IntensityI4Adjusted = result.IntensityI4Adjusted; r.ChromCorrO16O18DoubleLabel = (float)(result.ChromCorrO16O18DoubleLabel ?? 0f); r.ChromCorrO16O18SingleLabel = (float)(result.ChromCorrO16O18SingleLabel ?? 0f); r.Ratio = result.RatioO16O18; r.RatioFromChromCorr = result.RatioO16O18FromChromCorr; }