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); } }
public void ChromCorrelatorTest1() { var rawFilename = @"D:\Data\O16O18\Vlad_Mouse\mhp_plat_test_1_14April13_Frodo_12-12-04.raw"; var run = new RunFactory().CreateRun(rawFilename); WorkflowExecutorBaseParameters executorBaseParameters = new BasicTargetedWorkflowExecutorParameters(); var executor = new IqExecutor(executorBaseParameters, run); executor.LoadChromData(run); var workflowAssigner = new IqWorkflowAssigner(); TargetedWorkflowParameters workflowParameters = new O16O18WorkflowParameters(); IqWorkflow workflow = new O16O18IqWorkflow(run, workflowParameters); IqTarget iqTarget = new IqChargeStateTarget(); iqTarget.EmpiricalFormula = "C58H100N18O20"; iqTarget.Code = "GAAQNIIPASTGAAK"; iqTarget.ID = 1093; iqTarget.ChargeState = 0; var iqTargetList = new List <IqTarget>(); iqTargetList.Add(iqTarget); var utilities = new IqTargetUtilities(); utilities.CreateChildTargets(iqTargetList); workflowAssigner.AssignWorkflowToParent(workflow, iqTargetList); workflowAssigner.AssignWorkflowToChildren(workflow, iqTargetList); var theorFeatureGenerator = new JoshTheorFeatureGenerator(); foreach (var target in iqTarget.ChildTargets()) { utilities.UpdateTargetMissingInfo(target); target.TheorIsotopicProfile = theorFeatureGenerator.GenerateTheorProfile(target.EmpiricalFormula, target.ChargeState); } foreach (var childTarget in iqTarget.ChildTargets()) { var result = childTarget.CreateResult(); var correlator = new O16O18ChromCorrelator(7, 0.1, 20, Globals.ToleranceUnit.PPM); var corrData = correlator.CorrelateData(run, result, 5700, 6500); var corrDataItem1 = corrData.CorrelationDataItems.First(); Console.WriteLine("z= \t" + childTarget.ChargeState + "\tCorrelationData (slope,intercept,rsquared)= \t" + corrDataItem1); } }
public override void LoadAndInitializeTargets(string targetsFilePath) { if (string.IsNullOrEmpty(targetsFilePath)) { IqLogger.Log.Info("IqMassAndNetAligner - no alignment targets were loaded. The inputted targets file path is NULL."); return; } if (!File.Exists(targetsFilePath)) { IqLogger.Log.Info("IqMassAndNetAligner - no alignment targets were loaded. The inputted targets file path is does not exist."); return; } var importer = new IqTargetsFromFirstHitsFileImporter(targetsFilePath); Targets = importer.Import().Where(p => p.QualityScore < 0.01).OrderBy(p => p.ID).ToList(); //Targets = Targets.Where(p => p.Code.Contains("FEQDGENYTGTIDGNMGAYAR")).ToList(); var filteredList = new List <IqTarget>(); //calculate empirical formula for targets using Code and then monoisotopic mass foreach (var iqTarget in Targets) { iqTarget.Code = _peptideUtils.CleanUpPeptideSequence(iqTarget.Code); if (_peptideUtils.ValidateSequence(iqTarget.Code)) { iqTarget.EmpiricalFormula = _peptideUtils.GetEmpiricalFormulaForPeptideSequence(iqTarget.Code, true, true); var calcMonoMass = EmpiricalFormulaUtilities.GetMonoisotopicMassFromEmpiricalFormula(iqTarget.EmpiricalFormula); var monoMassFromFirstHitsFile = iqTarget.MonoMassTheor; var massCalculationsAgree = Math.Abs(monoMassFromFirstHitsFile - calcMonoMass) < 0.02; if (massCalculationsAgree) { iqTarget.MonoMassTheor = calcMonoMass; iqTarget.ElutionTimeTheor = iqTarget.ScanLC / (double)Run.MaxLCScan; filteredList.Add(iqTarget); _targetUtilities.UpdateTargetMissingInfo(iqTarget, true); var chargeStateTarget = new IqTargetMsgfFirstHit(); _targetUtilities.CopyTargetProperties(iqTarget, chargeStateTarget); iqTarget.AddTarget(chargeStateTarget); } } } filteredList = (from n in filteredList group n by new { n.Code, n.ChargeState } into grp select grp.OrderBy(p => p.QualityScore).First() ).ToList(); Targets = filteredList; TargetedWorkflowParameters workflowParameters = new BasicTargetedWorkflowParameters(); workflowParameters.ChromNETTolerance = 0.005; workflowParameters.ChromGenTolerance = 50; //define workflows for parentTarget and childTargets var parentWorkflow = new ChromPeakDeciderIqWorkflow(Run, workflowParameters); var childWorkflow = new ChargeStateChildIqWorkflow(Run, workflowParameters); var workflowAssigner = new IqWorkflowAssigner(); workflowAssigner.AssignWorkflowToParent(parentWorkflow, Targets); workflowAssigner.AssignWorkflowToChildren(childWorkflow, Targets); if (Targets.Count > 0) { IqLogger.Log.Info("IqMassAndNetAligner - Loaded " + Targets.Count + " targets for use in mass and net alignment"); } else { IqLogger.Log.Info("IqMassAndNetAligner - NOTE - no targets have been loaded."); } //IqWorkflowAssigner workflowAssigner = new IqWorkflowAssigner(); //workflowAssigner.AssignWorkflowToParent(workflow, Targets); }