public void importerTest1()
        {
            string importedResultFile = Path.Combine(FileRefs.OutputFolderPath, "UnlabelledTargetedResultsExporterOutput1.txt");

            UnlabelledTargetedResultFromTextImporter importer = new UnlabelledTargetedResultFromTextImporter(importedResultFile);
            TargetedResultRepository repo = importer.Import();


            Assert.IsNotNull(repo);
            Assert.IsTrue(repo.Results.Count > 0);

            TargetedResult testResult1 = repo.Results[0];

            Assert.AreEqual("QC_Shew_08_04-pt5-2_11Jan09_Sphinx_08-11-18", testResult1.DatasetName);
            Assert.AreEqual(24698, testResult1.MassTagID);
            Assert.AreEqual(3, testResult1.ChargeState);
            Assert.AreEqual(5880, testResult1.ScanLC);
            Assert.AreEqual(5876, testResult1.ScanLCStart);
            Assert.AreEqual(5888, testResult1.ScanLCEnd);
            Assert.AreEqual(0.3160, (decimal)testResult1.NET);
            Assert.AreEqual(1, testResult1.NumChromPeaksWithinTol);
            Assert.AreEqual(2311.07759, (decimal)testResult1.MonoMass);
            Assert.AreEqual(771.36647, (decimal)testResult1.MonoMZ);
            Assert.AreEqual(8247913, (decimal)testResult1.Intensity);
            Assert.AreEqual(0.0119, (decimal)testResult1.FitScore);
            Assert.AreEqual(0, (decimal)testResult1.IScore);
        }
Exemplo n.º 2
0
        private clsUMC convertDeconToolsTargetedFeatureToUMC(TargetedResult feature)
        {
            clsUMC umc = new clsUMC();

            umc.AbundanceMax             = feature.Intensity;
            umc.AbundanceSum             = (long)feature.Intensity;
            umc.AverageDeconFitScore     = feature.FitScore;
            umc.AverageInterferenceScore = feature.IScore;
            umc.ChargeMax            = feature.ChargeState;
            umc.ChargeRepresentative = (short)feature.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)feature.MassTagID;
            umc.Mass = feature.MonoMass;

            umc.MZForCharge   = feature.MonoMZ;
            umc.Net           = feature.NET;
            umc.Scan          = feature.ScanLC;
            umc.ScanEnd       = feature.ScanLCEnd;
            umc.ScanStart     = feature.ScanLCStart;
            umc.SpectralCount = 0;

            return(umc);
        }
        public override TargetedResultRepository Import()
        {
            TargetedResultRepository repos = new TargetedResultRepository();

            StreamReader reader;

            try
            {
                reader = new StreamReader(this._filename);
            }
            catch (Exception)
            {
                throw new System.IO.IOException("There was a problem importing from the file.");
            }

            using (StreamReader sr = reader)
            {
                if (sr.Peek() == -1)
                {
                    sr.Close();
                    throw new InvalidDataException("There is no data in the file we are trying to read.");
                }

                string headerLine = sr.ReadLine();
                CreateHeaderLookupTable(headerLine);

                bool areHeadersValid = ValidateHeaders();

                if (!areHeadersValid)
                {
                    throw new InvalidDataException("There is a problem with the column headers.");
                }


                string line;
                int    lineCounter = 1; //used for tracking which line is being processed.

                //read and process each line of the file
                while (sr.Peek() > -1)
                {
                    line = sr.ReadLine();
                    List <string> processedData = ProcessLine(line);

                    //ensure that processed line is the same size as the header line
                    if (processedData.Count != m_columnHeaders.Count)
                    {
                        throw new InvalidDataException("Data in row #" + lineCounter.ToString() + "is invalid - \nThe number of columns does not match that of the header line");
                    }

                    TargetedResult result = ConvertTextToDataObject(processedData);
                    repos.Results.Add(result);
                    lineCounter++;
                }
                sr.Close();
            }


            return(repos);
        }