示例#1
0
        private clsUMC convertDeconToolsTargetedFeatureToUMC(TargetedResultDTO result)
        {
            var umc = new clsUMC();

            umc.AbundanceMax             = result.Intensity;
            umc.AbundanceSum             = (long)result.Intensity;
            umc.AverageDeconFitScore     = result.FitScore;
            umc.AverageInterferenceScore = result.IScore;
            umc.ChargeMax            = result.ChargeState;
            umc.ChargeRepresentative = (short)result.ChargeState;
            umc.ClusterId            = 0;
            umc.CombinedScore        = 0;
            umc.ConformationFitScore = 0;
            umc.ConformationId       = 0;
            umc.DatasetId            = 0;
            umc.DriftTime            = 0;
            umc.DriftTimeUncorrected = 0;
            umc.Id          = (int)result.TargetID;
            umc.Mass        = result.MonoMass;
            umc.MZForCharge = result.MonoMZ;
            umc.Net         = result.NET;
            umc.Scan        = result.ScanLC;
            umc.ScanStart   = result.ScanLCStart;
            umc.ScanEnd     = result.ScanLCEnd;

            umc.SpectralCount = 0;

            return(umc);
        }
示例#2
0
        protected override string addAdditionalInfo(TargetedResultDTO result)
        {
            var o16o18result = (O16O18TargetedResultDTO)result;

            var sb = new StringBuilder();

            sb.Append(Delimiter);
            sb.Append(o16o18result.IntensityTheorI0);
            sb.Append(Delimiter);
            sb.Append(o16o18result.IntensityTheorI2);
            sb.Append(Delimiter);
            sb.Append(o16o18result.IntensityTheorI4);
            sb.Append(Delimiter);
            sb.Append(o16o18result.IntensityI0);
            sb.Append(Delimiter);
            sb.Append(o16o18result.IntensityI2);
            sb.Append(Delimiter);
            sb.Append(o16o18result.IntensityI4);
            sb.Append(Delimiter);
            sb.Append(o16o18result.IntensityI4Adjusted);
            sb.Append(Delimiter);
            sb.Append(o16o18result.ChromCorrO16O18SingleLabel.ToString("0.000"));
            sb.Append(Delimiter);
            sb.Append(o16o18result.ChromCorrO16O18DoubleLabel.ToString("0.000"));
            sb.Append(Delimiter);
            sb.Append(o16o18result.Ratio.ToString("0.0000"));
            sb.Append(Delimiter);
            sb.Append(o16o18result.RatioFromChromCorr.ToString("0.0000"));
            return(sb.ToString());
        }
        protected override string addAdditionalInfo(TargetedResultDTO result)
        {
            var deuteratedResult = (DeuteratedTargetedResultDTO)result;

            var sb = new StringBuilder();

            sb.Append(Delimiter);
            sb.Append(deuteratedResult.HydrogenI0);
            sb.Append(Delimiter);
            sb.Append(deuteratedResult.HydrogenI1);
            sb.Append(Delimiter);
            sb.Append(deuteratedResult.HydrogenI2);
            sb.Append(Delimiter);
            sb.Append(deuteratedResult.HydrogenI3);
            sb.Append(Delimiter);
            sb.Append(deuteratedResult.HydrogenI4);

            sb.Append(Delimiter);
            sb.Append(0);
            sb.Append(Delimiter);
            sb.Append(deuteratedResult.DeuteriumI0);
            sb.Append(Delimiter);
            sb.Append(deuteratedResult.DeuteriumI1);
            sb.Append(Delimiter);
            sb.Append(deuteratedResult.DeuteriumI2);
            sb.Append(Delimiter);
            sb.Append(deuteratedResult.DeuteriumI3);
            sb.Append(Delimiter);
            sb.Append(deuteratedResult.DeuteriumI4);

            sb.Append(Delimiter);
            sb.Append(deuteratedResult.TheoryI0);
            sb.Append(Delimiter);
            sb.Append(deuteratedResult.TheoryI1);
            sb.Append(Delimiter);
            sb.Append(deuteratedResult.TheoryI2);
            sb.Append(Delimiter);
            sb.Append(deuteratedResult.TheoryI3);
            sb.Append(Delimiter);
            sb.Append(deuteratedResult.TheoryI4);

            sb.Append(Delimiter);
            sb.Append(deuteratedResult.RawI0);
            sb.Append(Delimiter);
            sb.Append(deuteratedResult.RawI1);
            sb.Append(Delimiter);
            sb.Append(deuteratedResult.RawI2);
            sb.Append(Delimiter);
            sb.Append(deuteratedResult.RawI3);
            sb.Append(Delimiter);
            sb.Append(deuteratedResult.RawI4);
            sb.Append(Delimiter);
            sb.Append(deuteratedResult.LabelingEfficiency);
            sb.Append(Delimiter);
            sb.Append(deuteratedResult.RatioDH.ToString("0.0000"));

            return(sb.ToString());
        }
        protected override string addBasicTargetedResult(TargetedResultDTO result)
        {
            var topDownResult = (TopDownTargetedResultDTO)result;

            if (topDownResult.PrsmList == null)
            {
                throw new NullReferenceException(
                          "Top down exporter failed when trying to process a result. The 'PrsmList' object is null.");
            }


            var sb = new StringBuilder();

            var prsmList = new StringBuilder();

            foreach (var prsm in topDownResult.PrsmList)
            {
                if (prsmList.Length > 0)
                {
                    prsmList.Append(", ");
                }
                prsmList.Append(prsm);
            }
            var chargeList = new StringBuilder();

            foreach (var charge in topDownResult.ChargeStateList)
            {
                if (chargeList.Length > 0)
                {
                    chargeList.Append(", ");
                }
                chargeList.Append(charge);
            }

            sb.Append(topDownResult.MatchedMassTagID);
            sb.Append(Delimiter);
            sb.Append(prsmList.ToString());
            sb.Append(Delimiter);
            sb.Append(chargeList.ToString());
            sb.Append(Delimiter);
            sb.Append(topDownResult.ProteinName);
            sb.Append(Delimiter);
            sb.Append(topDownResult.ProteinMass);
            sb.Append(Delimiter);
            sb.Append(topDownResult.PeptideSequence);
            sb.Append(Delimiter);
            sb.Append(topDownResult.EmpiricalFormula);
            sb.Append(Delimiter);
            sb.Append(topDownResult.Quantitation);
            sb.Append(Delimiter);
            sb.Append(topDownResult.MostAbundantChargeState);
            sb.Append(Delimiter);
            sb.Append(topDownResult.ScanLC);

            return(sb.ToString());
        }
示例#5
0
        protected virtual void GetBasicResultDTOData(List <string> rowData, TargetedResultDTO result)
        {
            result.DatasetName                = LookupData(rowData, datasetHeaders);
            result.ChargeState                = ParseIntField(LookupData(rowData, chargeStateHeaders));
            result.FitScore                   = ParseFloatField(LookupData(rowData, fitScoreHeaders));
            result.Intensity                  = ParseFloatField(LookupData(rowData, intensityRepHeaders));
            result.IntensityI0                = ParseFloatField(LookupData(rowData, intensityI0Headers));
            result.IScore                     = ParseFloatField(LookupData(rowData, iscoreHeaders));
            result.TargetID                   = ParseLongField(LookupData(rowData, targetIDHeaders));
            result.MonoMass                   = ParseDoubleField(LookupData(rowData, monomassHeaders));
            result.MonoMassCalibrated         = ParseDoubleField(LookupData(rowData, monomassCalibratedHeaders));
            result.MassErrorBeforeCalibration = ParseDoubleField(LookupData(rowData, massErrorBeforeCalibrationHeaders));
            result.MassErrorAfterCalibration  = ParseDoubleField(LookupData(rowData, massErrorAfterCalibrationHeaders));
            result.MonoMZ                     = ParseDoubleField(LookupData(rowData, mzHeaders));
            result.NET      = ParseFloatField(LookupData(rowData, netHeaders));
            result.NETError = ParseFloatField(LookupData(rowData, netErrorHeaders));
            result.NumChromPeaksWithinTol        = ParseIntField(LookupData(rowData, numchromPeaksWithinTolHeaders));
            result.NumQualityChromPeaksWithinTol = ParseIntField(LookupData(rowData, numQualitychromPeaksWithinTolHeaders));
            result.ScanLC           = ParseIntField(LookupData(rowData, scanHeaders));
            result.ScanLCEnd        = ParseIntField(LookupData(rowData, scanEndHeaders));
            result.ScanLCStart      = ParseIntField(LookupData(rowData, scanStartHeaders));
            result.ErrorDescription = LookupData(rowData, failureTypeHeaders);
            result.EmpiricalFormula = LookupData(rowData, empiricalFormulaHeaders);
            result.Code             = LookupData(rowData, codeHeaders);



            var validationCode = LookupData(rowData, validationCodeHeaders);

            if (String.IsNullOrEmpty(validationCode))
            {
                result.ValidationCode = ValidationCode.None;
            }
            else
            {
                if (Enum.IsDefined(typeof(ValidationCode), validationCode))
                {
                    result.ValidationCode = (ValidationCode)Enum.Parse(typeof(ValidationCode), validationCode, true);
                }
                else
                {
                    result.ValidationCode = ValidationCode.None;
                }
            }
        }
示例#6
0
        protected override string addAdditionalInfo(TargetedResultDTO result)
        {
            var sipperResult = (SipperLcmsFeatureTargetedResultDTO)result;

            var sb = new StringBuilder();

            sb.Append(Delimiter);
            sb.Append(sipperResult.MatchedMassTagID);
            sb.Append(Delimiter);
            sb.Append(sipperResult.NumHighQualityProfilePeaks.ToString("0"));
            sb.Append(Delimiter);
            sb.Append(sipperResult.FitScoreLabeledProfile.ToString("0.0000"));
            sb.Append(Delimiter);
            sb.Append(sipperResult.AreaUnderDifferenceCurve.ToString("0.000"));
            sb.Append(Delimiter);
            sb.Append(sipperResult.AreaUnderRatioCurve.ToString("0.000"));
            sb.Append(Delimiter);
            sb.Append(sipperResult.AreaUnderRatioCurveRevised.ToString("0.000"));
            sb.Append(Delimiter);
            sb.Append(sipperResult.ChromCorrelationMin.ToString("0.00000"));
            sb.Append(Delimiter);
            sb.Append(sipperResult.ChromCorrelationMax.ToString("0.00000"));
            sb.Append(Delimiter);
            sb.Append(sipperResult.ChromCorrelationAverage.ToString("0.00000"));
            sb.Append(Delimiter);
            sb.Append(sipperResult.ChromCorrelationMedian.ToString("0.00000"));
            sb.Append(Delimiter);
            sb.Append(sipperResult.ChromCorrelationStdev.ToString("0.00000"));
            sb.Append(Delimiter);
            sb.Append(sipperResult.NumCarbonsLabelled.ToString("0.000"));
            sb.Append(Delimiter);
            sb.Append(sipperResult.PercentCarbonsLabelled.ToString("0.00"));
            sb.Append(Delimiter);
            sb.Append(sipperResult.PercentPeptideLabelled.ToString("0.00"));
            sb.Append(Delimiter);
            sb.Append(sipperResult.ContiguousnessScore.ToString("0"));
            sb.Append(Delimiter);
            sb.Append(sipperResult.RSquaredValForRatioCurve.ToString("0.0000"));
            sb.Append(Delimiter);
            //sb.Append(GetLabelDistributionDataAsString(sipperResult));
            //sb.Append(Delimiter);
            sb.Append(sipperResult.ValidationCode == ValidationCode.None ? string.Empty : sipperResult.ValidationCode.ToString());
            return(sb.ToString());
        }
示例#7
0
        private void SetCurrentWorkflowTarget(TargetedResultDTO result)
        {
            TargetBase target = new LcmsFeatureTarget();

            target.ChargeState = (short)result.ChargeState;
            target.ChargeStateTargets.Add(target.ChargeState);
            target.ElutionTimeUnit  = DeconTools.Backend.Globals.ElutionTimeUnit.ScanNum;
            target.EmpiricalFormula = result.EmpiricalFormula;
            target.ID = (int)result.TargetID;


            target.IsotopicProfile = null;   //workflow will determine this

            target.MZ = result.MonoMZ;
            target.MonoIsotopicMass = result.MonoMass;
            target.ScanLCTarget     = result.ScanLC;

            Run.CurrentMassTag = target;
        }
示例#8
0
        protected override string addAdditionalInfo(TargetedResultDTO result)
        {
            var n14result = (N14N15TargetedResultDTO)result;

            var sb = new StringBuilder();

            sb.Append(Delimiter);
            sb.Append(n14result.ScanN15);
            sb.Append(Delimiter);
            sb.Append(n14result.ScanN15Start);
            sb.Append(Delimiter);
            sb.Append(n14result.ScanN15End);
            sb.Append(Delimiter);
            sb.Append(n14result.NETN15);
            sb.Append(Delimiter);
            sb.Append(n14result.NumChromPeaksWithinTolN15);
            sb.Append(Delimiter);
            sb.Append(n14result.NumQualityChromPeaksWithinTolN15);
            sb.Append(Delimiter);
            sb.Append(n14result.MonoMassN15);
            sb.Append(Delimiter);
            sb.Append(n14result.MonoMassCalibratedN15);
            sb.Append(Delimiter);
            sb.Append(n14result.MonoMZN15);
            sb.Append(Delimiter);
            sb.Append(n14result.IntensityN15);
            sb.Append(Delimiter);
            sb.Append(n14result.FitScoreN15);
            sb.Append(Delimiter);
            sb.Append(n14result.IScoreN15);
            sb.Append(Delimiter);
            sb.Append(n14result.RatioContributionN14);
            sb.Append(Delimiter);
            sb.Append(n14result.RatioContributionN15);
            sb.Append(Delimiter);
            sb.Append(n14result.Ratio);



            return(sb.ToString());
        }
        private void ReadResultsFromDB(List <TargetedResultDTO> results, DbDataReader reader)
        {
            while (reader.Read())
            {
                var result = new TargetedResultDTO();

                result.DatasetName      = readString(reader, "Dataset");
                result.TargetID         = readInt(reader, "UMC_Ind");
                result.MatchedMassTagID = readInt(reader, "Mass_Tag_ID");


                result.FailureType = "";
                //result.FitScore = readFloat(reader,"


                result.IndexOfMostAbundantPeak = -1;

                result.ChargeState = readInt(reader, "Class_Stats_Charge_Basis");
                result.Intensity   = readFloat(reader, "Class_Abundance");
                result.IntensityI0 = result.Intensity;
                result.IntensityMostAbundantPeak = result.Intensity;
                result.IScore = 0;
                result.MassErrorBeforeCalibration = readFloat(reader, "MassErrorPPM");

                result.MonoMass           = readDouble(reader, "Class_Mass");
                result.MonoMassCalibrated = result.MonoMass;
                result.MonoMZ             = result.MonoMass / result.ChargeState + 1.00727649;
                result.NET      = readFloat(reader, "ElutionTime");
                result.NETError = readFloat(reader, "NET_Error");
                result.NumChromPeaksWithinTol        = 1;
                result.NumQualityChromPeaksWithinTol = 1;
                result.ScanLC      = readInt(reader, "Scan_Max_Abundance");
                result.ScanLCStart = readInt(reader, "Scan_First");
                result.ScanLCEnd   = readInt(reader, "Scan_Last");

                results.Add(result);
            }
        }
示例#10
0
        public override void Execute()
        {
            if (string.IsNullOrEmpty(ExecutorParameters.TargetsFilePath))
            {
                throw new ApplicationException("Processing failed. TargetsFilePath is empty. Check your parameter file.");
            }

            if (!File.Exists(ExecutorParameters.TargetsFilePath))
            {
                throw new FileNotFoundException("File not found error for the TargetsFilePath. Check your parameter file for " + ExecutorParameters.TargetsFilePath);
            }


            TargetedResultFromTextImporter resultImporter = new UnlabelledTargetedResultFromTextImporter(ExecutorParameters.TargetsFilePath);
            var allresults = resultImporter.Import();


            var resultsSortedByDataset = allresults.Results.OrderBy(p => p.DatasetName);

            var totalResults = resultsSortedByDataset.Count();


            ResultRepository.Clear();

            //iterate over results

            var resultCounter = 0;

            foreach (var result in resultsSortedByDataset)
            {
                resultCounter++;
                _currentResult = result;


                if (result.DatasetName != _currentDatasetName)
                {
                    if (Run != null)
                    {
                        Run.Close();
                    }


                    InitializeRun(result.DatasetName);

                    if (Run == null)
                    {
                        throw new ApplicationException("Error initializing dataset. (Run is null)");
                    }

                    _currentDatasetName = Run.DatasetName;
                }

                SetCurrentWorkflowTarget(result);

                try
                {
                    this.TargetedWorkflow.Execute();
                    ResultRepository.AddResult(this.TargetedWorkflow.Result);
                }
                catch (Exception ex)
                {
                    var errorString = "Error on MT\t" + result.TargetID + "\tchargeState\t" + result.ChargeState + "\t" + ex.Message + "\t" + ex.StackTrace;
                    ReportProcessingProgress(errorString, resultCounter);

                    throw;
                }

                var progressString = "Processed " + resultCounter + " of " + totalResults;

                if (_backgroundWorker != null)
                {
                    if (_backgroundWorker.CancellationPending)
                    {
                        return;
                    }
                }

                ReportProcessingProgress(progressString, resultCounter);
            }
        }