Exemple #1
0
        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;
        }