public void ImportIqTargetsFromMsgfTest1()
        {
            var targetsFile = @"\\protoapps\UserData\Slysz\Standard_Testing\Targeted_FeatureFinding\Unlabelled\Targets\Yellow_C13_070_23Mar10_Griffin_10-01-28_msgfplus.tsv";
            var importer    = new BasicIqTargetImporter(targetsFile);

            var targets = importer.Import();

            Assert.IsNotNull(targets);
            Assert.IsTrue(targets.Any());


            var utilities = new IqTargetUtilities();

            foreach (var iqTarget in targets)
            {
                utilities.UpdateTargetMissingInfo(iqTarget, false);
            }


            Assert.IsTrue(targets.Count > 10);
            foreach (var iqTarget in targets.Take(10))
            {
                Console.WriteLine(iqTarget.ToString() + "\t" + iqTarget.ScanLC + "\t" + iqTarget.QualityScore);
            }
        }
Exemple #2
0
        public virtual void LoadAndInitializeTargets(string targetsFilePath)
        {
            if (TargetImporter == null)
            {
                TargetImporter = new BasicIqTargetImporter(targetsFilePath);
            }

            IqLogger.Log.Info("Target Loading Started...");

            Targets = TargetImporter.Import();

            foreach (var iqTarget in Targets)
            {
                iqTarget.ChargeState = 0;    //parent has a 0 charge state

                if (Parameters.TargetType == Globals.TargetType.LcmsFeature)
                {
                    iqTarget.ElutionTimeTheor = Run.NetAlignmentInfo.GetNETValueForScan(iqTarget.ScanLC);
                }
            }

            _targetUtilities.CreateChildTargets(Targets, Parameters.MinMzForDefiningChargeStateTargets,
                                                Parameters.MaxMzForDefiningChargeStateTargets, Parameters.MaxNumberOfChargeStateTargetsToCreate, IqTargetsAreCysteineModified);

            IqLogger.Log.Info("Targets Loaded Successfully. Total targets loaded= " + Targets.Count);
        }
Exemple #3
0
        public void JoinTargetsTest1()
        {
            var targetsFileName =
                @"\\proto-7\VOrbi05\2013_2\mhp_plat_test_1_14April13_Frodo_12-12-04\MSG201305011339_Auto939903\mhp_plat_test_1_14April13_Frodo_12-12-04_msgfdb_fht.txt";

            var massTagFilename =
                @"\\protoapps\DataPkgs\Public\2013\795_Iq_analysis_of_mouse_O16O18\Targets\MT_Mouse_MHP_O18_Set1_P890_targets.txt";

            var rawFile = @"D:\Data\O16O18\Vlad_Mouse\mhp_plat_test_1_14April13_Frodo_12-12-04.raw";



            IqTargetImporter massTagImporter = new BasicIqTargetImporter(massTagFilename);
            var massTagRefs = massTagImporter.Import().OrderBy(p => p.Code).ToList();

            WorkflowExecutorBaseParameters parameters = new BasicTargetedWorkflowExecutorParameters();

            parameters.TargetsFilePath = targetsFileName;

            var run = new RunFactory().CreateRun(rawFile);

            var massAndNetAligner = new IqMassAndNetAligner(parameters, run);

            massAndNetAligner.LoadAndInitializeTargets();

            var testNET = massAndNetAligner.Targets.First().ElutionTimeTheor;

            var query = (from massTag in massTagRefs
                         join target in massAndNetAligner.Targets on massTag.Code equals target.Code
                         select new
            {
                MassTag = massTag,
                MSGFTarget = target
            }).ToList();


            foreach (var thing in query)
            {
                thing.MSGFTarget.ID = thing.MassTag.ID;
                thing.MSGFTarget.ElutionTimeTheor = thing.MassTag.ElutionTimeTheor;
            }

            var targets = query.Select(p => p.MSGFTarget).ToList();

            var testNETAfter = massAndNetAligner.Targets.First().ElutionTimeTheor;

            Console.WriteLine("NET before= " + testNET);
            Console.WriteLine("NET before= " + testNETAfter);
        }
        protected TargetCollection GetMassTagTargets(string massTagFileName, List <int> targetIDsToFilterOn)
        {
            if (String.IsNullOrEmpty(massTagFileName) || !File.Exists(massTagFileName))
            {
                return(new TargetCollection());
            }


            if (massTagFileName.ToLower().Contains("_msgfplus.tsv"))
            {
                var iqTargetImporter = new BasicIqTargetImporter(massTagFileName);
                var iqTargets        = iqTargetImporter.Import();

                var targetUtilities  = new IqTargetUtilities();
                var targetCollection = new TargetCollection
                {
                    TargetList = new List <TargetBase>()
                };

                foreach (var iqTarget in iqTargets)
                {
                    if (iqTarget.QualityScore > MsgfFdrScoreCutoff)
                    {
                        continue;
                    }
                    targetUtilities.UpdateTargetMissingInfo(iqTarget);

                    TargetBase oldStyleTarget = new PeptideTarget();
                    oldStyleTarget.ChargeState      = (short)iqTarget.ChargeState;
                    oldStyleTarget.Code             = iqTarget.Code;
                    oldStyleTarget.EmpiricalFormula = iqTarget.EmpiricalFormula;
                    oldStyleTarget.ID = iqTarget.ID;
                    oldStyleTarget.MZ = iqTarget.MZTheor;
                    oldStyleTarget.MonoIsotopicMass      = iqTarget.MonoMassTheor;
                    oldStyleTarget.ScanLCTarget          = iqTarget.ScanLC;
                    oldStyleTarget.NormalizedElutionTime = (float)iqTarget.ElutionTimeTheor;

                    oldStyleTarget.ElutionTimeUnit = DeconTools.Backend.Globals.ElutionTimeUnit.ScanNum;
                    targetCollection.TargetList.Add(oldStyleTarget);
                }

                return(targetCollection);
            }


            var importer = new MassTagFromTextFileImporter(massTagFileName);

            return(importer.Import(targetIDsToFilterOn));
        }
Exemple #5
0
        private void SetMassTagReferencesForNetAlignment()
        {
            if (!string.IsNullOrEmpty(Parameters.ReferenceTargetsFilePath))
            {
                IqTargetImporter massTagImporter = new BasicIqTargetImporter(Parameters.ReferenceTargetsFilePath);
                var massTagRefs = massTagImporter.Import();

                IqMassAndNetAligner.SetMassTagReferences(massTagRefs);
                IqLogger.Log.Info("IQ Net aligner - " + massTagRefs.Count + " reference targets were loaded successfully.");
            }
            else
            {
                IqLogger.Log.Info("IQ Net aligner INACTIVE - no reference tags were loaded. You need to define 'TargetsUsedForLookupFilePath'");
            }
        }
        public void ImportUnlabeledIqTargetsTest1()
        {
            var targetsFile = @"\\protoapps\UserData\Slysz\Data\MassTags\QCShew_Formic_MassTags_Bin10_all.txt";
            var importer    = new BasicIqTargetImporter(targetsFile);

            var targets = importer.Import();

            Assert.IsNotNull(targets);
            Assert.IsTrue(targets.Any());

            Assert.IsTrue(targets.Count > 10);
            foreach (var iqTarget in targets.Take(10))
            {
                Console.WriteLine(iqTarget.ToString());
            }
        }
        public void ImportUnlabeledIqTargetsFromResultsFileTest1()
        {
            var targetsFile =
                @"\\protoapps\UserData\Slysz\Standard_Testing\Targeted_FeatureFinding\Unlabelled\Results\QC_Shew_08_04-pt5-2_11Jan09_Sphinx_08-11-18_ForImportOnly_iqResults.txt";

            var importer = new BasicIqTargetImporter(targetsFile);

            var targets = importer.Import();

            Assert.IsNotNull(targets);
            Assert.IsTrue(targets.Any());

            Assert.IsTrue(targets.Count > 0);
            foreach (var iqTarget in targets.Take(10))
            {
                Console.WriteLine(iqTarget.ToString());
            }
        }
        protected virtual TargetCollection GetLcmsFeatureTargets(string targetsFilePath)
        {
            if (targetsFilePath.ToLower().Contains("_msgf"))
            {
                var iqTargetImporter = new BasicIqTargetImporter(targetsFilePath);
                var iqTargets        = iqTargetImporter.Import();

                var targetUtilities  = new IqTargetUtilities();
                var targetCollection = new TargetCollection();
                targetCollection.TargetList = new List <TargetBase>();

                foreach (var iqTarget in iqTargets)
                {
                    if (iqTarget.QualityScore > MsgfFdrScoreCutoff)
                    {
                        continue;
                    }
                    targetUtilities.UpdateTargetMissingInfo(iqTarget);

                    TargetBase oldStyleTarget = new LcmsFeatureTarget();
                    oldStyleTarget.ChargeState      = (short)iqTarget.ChargeState;
                    oldStyleTarget.Code             = iqTarget.Code;
                    oldStyleTarget.EmpiricalFormula = iqTarget.EmpiricalFormula;
                    oldStyleTarget.ID = iqTarget.ID;
                    oldStyleTarget.MZ = iqTarget.MZTheor;
                    oldStyleTarget.MonoIsotopicMass      = iqTarget.MonoMassTheor;
                    oldStyleTarget.ScanLCTarget          = iqTarget.ScanLC;
                    oldStyleTarget.NormalizedElutionTime = (float)iqTarget.ElutionTimeTheor;

                    oldStyleTarget.ElutionTimeUnit = DeconTools.Backend.Globals.ElutionTimeUnit.ScanNum;
                    targetCollection.TargetList.Add(oldStyleTarget);
                }

                return(targetCollection);
            }

            var importer =
                new LcmsTargetFromFeaturesFileImporter(targetsFilePath);

            var lcmsTargetCollection = importer.Import();

            return(lcmsTargetCollection);
        }
Exemple #9
0
        public void Test1()
        {
            var targetsFileName =
                @"\\proto-7\VOrbi05\2013_2\mhp_plat_test_1_14April13_Frodo_12-12-04\MSG201305011339_Auto939903\mhp_plat_test_1_14April13_Frodo_12-12-04_msgfdb_fht.txt";


            var massTagFilename =
                @"\\protoapps\DataPkgs\Public\2013\795_Iq_analysis_of_mouse_O16O18\Targets\MT_Mouse_MHP_O18_Set1_P890_targets.txt";

            var rawFile = @"D:\Data\O16O18\Vlad_Mouse\mhp_plat_test_1_14April13_Frodo_12-12-04.raw";

            WorkflowExecutorBaseParameters parameters = new BasicTargetedWorkflowExecutorParameters();

            parameters.TargetsFilePath = targetsFileName;

            var run = new RunFactory().CreateRun(rawFile);

            var massAndNetAligner = new IqMassAndNetAligner(parameters, run);


            massAndNetAligner.LoadAndInitializeTargets();

            IqTargetImporter massTagImporter = new BasicIqTargetImporter(massTagFilename);
            var massTagRefs = massTagImporter.Import();

            massAndNetAligner.SetMassTagReferences(massTagRefs);

            //massAligner.Targets = massAligner.Targets.Take(1).ToList();

            massAndNetAligner.ExecuteAlignment();

            var sb = new StringBuilder();

            var usefulResults = new List <IqResult>();

            foreach (var iqResult in massAndNetAligner.Results)
            {
                var childresults = iqResult.ChildResults();
                foreach (var childresult in childresults)
                {
                    if (childresult.ObservedIsotopicProfile == null)
                    {
                        continue;
                    }



                    sb.Append(childresult.Target.ID);
                    sb.Append("\t");


                    if (childresult.ObservedIsotopicProfile == null)
                    {
                        sb.Append("[null]");
                        sb.Append(Environment.NewLine);
                    }
                    else
                    {
                        usefulResults.Add(childresult);

                        sb.Append(childresult.ChromPeakSelected.XValue);
                        sb.Append("\t");
                        sb.Append(childresult.ElutionTimeObs);
                        sb.Append("\t");
                        sb.Append(childresult.ParentResult.Target.ElutionTimeTheor);
                        sb.Append("\t");
                        sb.Append(childresult.MZObs.ToString("0.00000"));
                        sb.Append("\t");
                        sb.Append(childresult.MonoMassObs.ToString("0.00000"));
                        sb.Append("\t");
                        sb.Append(childresult.MassErrorBefore.ToString("0.00000"));
                        sb.Append("\t");
                        sb.Append(childresult.FitScore.ToString("0.000"));

                        sb.Append(Environment.NewLine);
                    }
                }
            }


            var averageMassError = usefulResults.Average(p => p.MassErrorBefore);

            var stdev = MathUtils.GetStDev(usefulResults.Select(p => p.MassErrorBefore).ToList());

            //Console.WriteLine(sb.ToString());

            Console.WriteLine("avg mass error= " + averageMassError);
            Console.WriteLine("stdev= " + stdev);

            Console.WriteLine("----------- mass alignment ------------");
            TestUtilities.DisplayXYValues(massAndNetAligner.MassAlignmentInfo.ScanAndPpmShiftVals);


            Console.WriteLine("------------NET alignment --------------");

            DisplayNetAlignmentInfo(massAndNetAligner.NetAlignmentInfo);
        }
Exemple #10
0
        public void AlignUsingMsgfOutputFullProcessingTest1()
        {
            var targetsFileName =
                @"\\protoapps\UserData\Slysz\Standard_Testing\Targeted_FeatureFinding\Unlabelled\AlignmentInfo\QC_Shew_08_04-pt5-2_11Jan09_Sphinx_08-11-18_msgfdb_fht.txt";


            var massTagFilename =
                @"\\protoapps\UserData\Slysz\Standard_Testing\Targeted_FeatureFinding\Unlabelled\Targets\QCShew_ProdTest_Formic_P823_PMT3.txt";

            var rawFile =
                @"\\protoapps\UserData\Slysz\Standard_Testing\Targeted_FeatureFinding\Unlabelled\QC_Shew_08_04-pt5-2_11Jan09_Sphinx_08-11-18.RAW";

            WorkflowExecutorBaseParameters parameters = new BasicTargetedWorkflowExecutorParameters();

            parameters.TargetsFilePath          = targetsFileName;
            parameters.ReferenceTargetsFilePath = massTagFilename;

            var run = new RunFactory().CreateRun(rawFile);

            var massAndNetAligner = new IqMassAndNetAligner(parameters, run);

            massAndNetAligner.LoadAndInitializeTargets();

            massAndNetAligner.Targets = massAndNetAligner.Targets.Take(2000).ToList();

            var exportedAlignmentResultsFile =
                @"\\protoapps\UserData\Slysz\Standard_Testing\Targeted_FeatureFinding\Unlabelled\AlignmentInfo\QC_Shew_08_04-pt5-2_11Jan09_Sphinx_08-11-18_iqAlignmentResults.txt";

            if (!File.Exists(exportedAlignmentResultsFile))
            {
                File.Delete(exportedAlignmentResultsFile);
            }



            IqTargetImporter massTagImporter = new BasicIqTargetImporter(massTagFilename);
            var massTagRefs = massTagImporter.Import();

            massAndNetAligner.SetMassTagReferences(massTagRefs);

            //massAligner.Targets = massAligner.Targets.Take(1).ToList();

            massAndNetAligner.ExecuteAlignment();

            var sb = new StringBuilder();

            var usefulResults = new List <IqResult>();

            massAndNetAligner.ExportResults(exportedAlignmentResultsFile);


            foreach (var iqResult in massAndNetAligner.Results)
            {
                var childresults = iqResult.ChildResults();
                foreach (var childresult in childresults)
                {
                    if (childresult.ObservedIsotopicProfile == null)
                    {
                        continue;
                    }



                    sb.Append(childresult.Target.ID);
                    sb.Append("\t");


                    if (childresult.ObservedIsotopicProfile == null)
                    {
                        sb.Append("[null]");
                        sb.Append(Environment.NewLine);
                    }
                    else
                    {
                        usefulResults.Add(childresult);

                        sb.Append(childresult.ChromPeakSelected.XValue);
                        sb.Append("\t");
                        sb.Append(childresult.ElutionTimeObs);
                        sb.Append("\t");
                        sb.Append(childresult.ParentResult.Target.ElutionTimeTheor);
                        sb.Append("\t");
                        sb.Append(childresult.MZObs.ToString("0.00000"));
                        sb.Append("\t");
                        sb.Append(childresult.MonoMassObs.ToString("0.00000"));
                        sb.Append("\t");
                        sb.Append(childresult.MassErrorBefore.ToString("0.00000"));
                        sb.Append("\t");
                        sb.Append(childresult.FitScore.ToString("0.000"));

                        sb.Append(Environment.NewLine);
                    }
                }
            }

            var averageMassError = usefulResults.Average(p => p.MassErrorBefore);

            var stdev = MathUtils.GetStDev(usefulResults.Select(p => p.MassErrorBefore).ToList());

            Console.WriteLine(sb.ToString());

            Console.WriteLine("avg mass error= " + averageMassError);
            Console.WriteLine("stdev= " + stdev);

            Console.WriteLine("----------- mass alignment ------------");
            TestUtilities.DisplayXYValues(massAndNetAligner.MassAlignmentInfo.ScanAndPpmShiftVals);


            Console.WriteLine("------------NET alignment --------------");
            DisplayNetAlignmentInfo(massAndNetAligner.NetAlignmentInfo);
        }