Beispiel #1
0
        public void Wiff2ResultsTest()
        {
            TestFilesDir testFilesDir = new TestFilesDir(TestContext, ZIP_FILE);

            string      docPath = testFilesDir.GetTestPath("OnyxTOFMS.sky");
            SrmDocument doc     = ResultsUtil.DeserializeDocument(docPath);

            //AssertEx.IsDocumentState(doc, 0, 1, 1, 4);

            using (var docContainer = new ResultsTestDocumentContainer(doc, docPath))
            {
                const string replicateName = "Wiff2Test";
                string       extRaw        = ExtensionTestContext.ExtAbWiff2;
                string       suffix        = ExtensionTestContext.CanImportAbWiff2 ? "" : "-sample-centroid";
                var          chromSets     = new[]
                {
                    new ChromatogramSet(replicateName, new[]
                                        { new MsDataFilePath(TestFilesDir.GetVendorTestData(TestFilesDir.VendorDir.ABI, "swath.api" + suffix + extRaw)), }),
                };
                var docResults = doc.ChangeMeasuredResults(new MeasuredResults(chromSets));
                Assert.IsTrue(docContainer.SetDocument(docResults, doc, true));
                docContainer.AssertComplete();
                docResults = docContainer.Document;
                //AssertResult.IsDocumentResultsState(docResults, replicateName,
                //    doc.MoleculeCount, doc.MoleculeTransitionGroupCount, 0, doc.MoleculeTransitionCount, 0);
            }

            testFilesDir.Dispose();
        }
Beispiel #2
0
        public void FileTypeTest()
        {
            var testFilesDir = new TestFilesDir(TestContext, ZIP_FILE);

            // wiff1
            {
                string extWiff = ExtensionTestContext.ExtAbWiff;
                string suffix  = ExtensionTestContext.CanImportAbWiff ? "" : "-test";

                // Do file type checks
                using (var msData = new MsDataFileImpl(testFilesDir.GetTestPath("051309_digestion" + suffix + extWiff)))
                {
                    Assert.IsTrue(msData.IsABFile);
                }

                using (var msData = new MsDataFileImpl(testFilesDir.GetTestPath("051309_digestion-s3.mzXML")))
                {
                    Assert.IsTrue(msData.IsABFile);
                    Assert.IsTrue(msData.IsMzWiffXml);
                }
            }

            // wiff2
            {
                string extWiff2 = ExtensionTestContext.ExtAbWiff2;
                string suffix   = ExtensionTestContext.CanImportAbWiff2 ? "" : "-sample-centroid";

                // Do file type checks
                using (var msData = new MsDataFileImpl(TestFilesDir.GetVendorTestData(TestFilesDir.VendorDir.ABI, "swath.api" + suffix + extWiff2)))
                {
                    Assert.IsTrue(msData.IsABFile);
                }
            }
        }
Beispiel #3
0
        public void TestScanDescription()
        {
            if (Skyline.Program.NoVendorReaders)
            {
                return;
            }

            string path = TestFilesDir.GetVendorTestData(TestFilesDir.VendorDir.Thermo, "IT-HCD-SPS.raw");

            using (var msDataFile = new MsDataFileImpl(path))
            {
                Assert.AreEqual("sps", msDataFile.GetScanDescription(0));
            }
        }
Beispiel #4
0
        public void TestInstrumentInfo()
        {
            const string testZipPath = @"TestData\PwizFileInfoTest.zip";

            var testFilesDir = new TestFilesDir(TestContext, testZipPath);

            // Waters file (.raw directory) and mz5 equivalent
            foreach (
                var ext in
                new[]
                { ExtensionTestContext.ExtWatersRaw, ExtensionTestContext.ExtMz5 })
            {
                VerifyInstrumentInfo(testFilesDir.GetTestPath("160109_Mix1_calcurve_075" + ext),
                                     "Waters instrument model", "", "", "");
            }

            // ABI .wiff file
            VerifyInstrumentInfo(testFilesDir.GetTestPath("051309_digestion" + ExtensionTestContext.ExtAbWiff),
                                 "4000 QTRAP", "electrospray ionization", "quadrupole/quadrupole/axial ejection linear ion trap", "electron multiplier");

            // Sciex .wiff2 file
            string wiff2Ext = ExtensionTestContext.CanImportAbWiff2 ? ".wiff2" : "-sample-centroid.mzML";

            VerifyInstrumentInfo(TestFilesDir.GetVendorTestData(TestFilesDir.VendorDir.ABI, "swath.api" + wiff2Ext),
                                 "X500R QTOF", "electrospray ionization", "quadrupole/quadrupole/time-of-flight", "electron multiplier");

            // MzWiff generated mzXML files
            VerifyInstrumentInfo(testFilesDir.GetTestPath("051309_digestion-s3.mzXML"),
                                 "4000 Q Trap", "electrospray ionization", "TOFMS", "");

            // Agilent file (.d directory)
            VerifyInstrumentInfo(testFilesDir.GetTestPath("081809_100fmol-MichromMix-05" + ExtensionTestContext.ExtAgilentRaw),
                                 "Agilent instrument model", "nanoelectrospray", "quadrupole/quadrupole/quadrupole", "electron multiplier");

            // Shimadzu TOF file (.lcd file)
            VerifyInstrumentInfo(testFilesDir.GetTestPath("10nmol_Negative_MS_ID_ON_055" + ExtensionTestContext.ExtShimadzuRaw),
                                 "Shimadzu instrument model", "electrospray ionization", "quadrupole/quadrupole/time-of-flight", "microchannel plate detector");

            // Thermo .raw|mzML file
            foreach (
                var ext in
                new[]
                { ExtensionTestContext.ExtThermoRaw, ExtensionTestContext.ExtMzml })
            {
                VerifyInstrumentInfo(testFilesDir.GetTestPath("CE_Vantage_15mTorr_0001_REP1_01" + ext),
                                     "TSQ Vantage", "nanoelectrospray", "quadrupole/quadrupole/quadrupole", "electron multiplier");
            }
        }
Beispiel #5
0
        public void TestTicChromatogram()
        {
            if (Skyline.Program.NoVendorReaders)
            {
                return;
            }

            VerifyTicChromatogram(TestFilesDir.GetVendorTestData(TestFilesDir.VendorDir.ABI, "PressureTrace1.wiff"), 0, 0);
            VerifyTicChromatogram(TestFilesDir.GetVendorTestData(TestFilesDir.VendorDir.Agilent, "ImsSynthAllIons.d"), 49, 369032);
            VerifyTicChromatogram(TestFilesDir.GetVendorTestData(TestFilesDir.VendorDir.Agilent, "GFb_4Scan_TimeSegs_1530_100ng.d"), 63, 56163792);
            VerifyTicChromatogram(TestFilesDir.GetVendorTestData(TestFilesDir.VendorDir.Bruker, "Hela_QC_PASEF_Slot1-first-6-frames.d"), 1, 23340182);
            VerifyTicChromatogram(TestFilesDir.GetVendorTestData(TestFilesDir.VendorDir.Thermo, "090701-LTQVelos-unittest-01.raw"), 30, 32992246);
            VerifyTicChromatogram(TestFilesDir.GetVendorTestData(TestFilesDir.VendorDir.Waters, "MSe_Short.raw"), 2, 3286253);
            VerifyTicChromatogram(TestFilesDir.GetVendorTestData(TestFilesDir.VendorDir.Waters, "HDMRM_Short_noLM.raw"), 0, 0);
            VerifyTicChromatogram(TestFilesDir.GetVendorTestData(TestFilesDir.VendorDir.Waters, "HDDDA_Short_noLM.raw"), 1, 3692876);
        }
Beispiel #6
0
        public void TestInstrumentSerialNumbers()
        {
            if (Skyline.Program.NoVendorReaders)
            {
                return;
            }

            const string testZipPath  = @"TestData\PwizFileInfoTest.zip";
            var          testFilesDir = new TestFilesDir(TestContext, testZipPath);

            if (ExtensionTestContext.CanImportAbWiff2)
            {
                VerifySerialNumber(TestFilesDir.GetVendorTestData(TestFilesDir.VendorDir.ABI, "swath.api.wiff2"), "CI231606PT"); // WIFF2 file with empty serial number
            }
            if (ExtensionTestContext.CanImportAbWiff)
            {
                VerifySerialNumber(testFilesDir.GetTestPath("051309_digestion.wiff"), "U016050603");
            }

            if (ExtensionTestContext.CanImportAgilentRaw)
            {
                VerifySerialNumber(testFilesDir.GetTestPath("081809_100fmol-MichromMix-05.d"), "50331873");
            }

            if (ExtensionTestContext.CanImportShimadzuRaw)
            {
                VerifySerialNumber(testFilesDir.GetTestPath("10nmol_Negative_MS_ID_ON_055.lcd"), null); // Shimadzu does not provide serial number
            }
            if (ExtensionTestContext.CanImportWatersRaw)
            {
                VerifySerialNumber(testFilesDir.GetTestPath("160109_Mix1_calcurve_075.raw"), null); // Waters does not provide serial number
            }
            if (ExtensionTestContext.CanImportThermoRaw)
            {
                VerifySerialNumber(testFilesDir.GetTestPath("CE_Vantage_15mTorr_0001_REP1_01.raw"), null); // Thermo RAW file with empty serial number

                const string testZipPath2  = @"TestData\Results\ThermoQuant.zip";
                var          testFilesDir2 = new TestFilesDir(TestContext, testZipPath2);
                VerifySerialNumber(testFilesDir2.GetTestPath("Site20_STUDY9P_PHASEII_QC_03.raw"), "TQU00490");
            }
        }
        public static void CreateZipFile(string zipPath)
        {
            zipPath = zipPath ?? string.Empty; // For quiet ReSharper code inspection

            Console.WriteLine();
            Console.WriteLine("# Creating " + Path.GetFileName(zipPath) + "...");
            Console.WriteLine();

            if (File.Exists(zipPath))
            {
                File.Delete(zipPath);
            }

            var exeDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) ?? "";

            Directory.SetCurrentDirectory(exeDirectory);

            var solutionDirectory = exeDirectory;

            while (!File.Exists(Path.Combine(solutionDirectory, "Skyline.sln")))
            {
                solutionDirectory = Path.GetDirectoryName(solutionDirectory);
                if (string.IsNullOrEmpty(solutionDirectory))
                {
                    throw new ApplicationException("Can't find solution directory");
                }
            }

            using (var zipFile = new ZipFile(zipPath))
            {
                // DotNetZip has a _bug_ which causes an extraction error without this
                // (see http://stackoverflow.com/questions/15337186/dotnetzip-badreadexception-on-extract)
                zipFile.ParallelDeflateThreshold = -1;
                zipFile.AlternateEncodingUsage   = ZipOption.Always;
                zipFile.AlternateEncoding        = System.Text.Encoding.UTF8;

                if ((String.Empty + Path.GetFileName(zipPath)).ToLower() == "skylinenightly.zip")
                {
                    // Add files to top level of zip file.
                    var files = new[]
                    {
                        "SkylineNightlyShim.exe",
                        "SkylineNightly.exe",
                        "SkylineNightly.pdb",
                        "Microsoft.Win32.TaskScheduler.dll",
                        "DotNetZip.dll"
                    };
                    foreach (var file in files)
                    {
                        Console.WriteLine(file);
                        zipFile.AddFile(file);
                    }
                }

                else if ((String.Empty + Path.GetFileName(zipPath)).ToLower() == "bibliospec.zip")
                {
                    // Create a BiblioSpec distro
                    var files = new List <string>
                    {
                        "BlibBuild.exe",
                        "BlibFilter.exe",
                        "MassLynxRaw.dll",
                        "timsdata.dll",
                        "baf2sql_c.dll",
                        "cdt.dll",
                        "modifications.xml",
                        "quantitation_1.xsd",
                        "quantitation_2.xsd",
                        "unimod_2.xsd"
                    };
                    var dir = Directory.GetCurrentDirectory();
                    files.Add(dir.Contains("Debug") ? "msparserD.dll" : "msparser.dll");

                    // Locate BlibToMS2
                    var parent = dir.IndexOf("Skyline\\", StringComparison.Ordinal);
                    if (parent > 0)
                    {
                        dir = dir.Substring(0, parent);
                        var blib2ms2 = dir + "Shared\\BiblioSpec\\obj\\x64\\BlibToMs2.exe";
                        if (File.Exists(blib2ms2)) // Don't worry about this for a 32 bit build, we don't distribute that
                        {
                            files.Add(blib2ms2);
                        }
                    }
                    foreach (var file in files)
                    {
                        Console.WriteLine(file);
                        zipFile.AddFile(file, string.Empty);
                    }
                }

                else
                {
                    // Add SkylineTester at top level of zip file.
                    Console.WriteLine("SkylineTester.exe");
                    zipFile.AddFile("SkylineTester.exe");

                    // Add .skytr files at top level of zip file.
                    var skytrDirectory = Path.Combine(solutionDirectory, @"SkylineTester\Run files");
                    foreach (var skytrFile in Directory.EnumerateFiles(skytrDirectory, "*.skytr"))
                    {
                        AddFile(skytrFile, zipFile, ".");
                    }

                    // Add each subdirectory in the bin directory.
                    foreach (var directory in Directory.EnumerateDirectories("."))
                    {
                        if (Include(directory))
                        {
                            var name = Path.GetFileName(directory) ?? "";
                            Console.WriteLine(Path.Combine(SkylineTesterWindow.SkylineTesterFiles, name));
                            zipFile.AddDirectory(directory, Path.Combine(SkylineTesterWindow.SkylineTesterFiles, name));
                        }
                    }

                    // Add each file in the bin directory.
                    foreach (var file in Directory.EnumerateFiles("."))
                    {
                        if (Include(file))
                        {
                            AddFile(file, zipFile);
                        }
                    }

                    // Add test zip files.
                    var zipFilesList = new List <string>();
                    FindZipFiles(solutionDirectory, zipFilesList);
                    var zipFilesDirectory = Path.Combine(SkylineTesterWindow.SkylineTesterFiles, "TestZipFiles");
                    foreach (var testZipFile in zipFilesList)
                    {
                        var testZipDirectory = Path.GetDirectoryName(testZipFile);
                        if (string.IsNullOrEmpty(testZipDirectory))
                        {
                            continue;
                        }
                        testZipDirectory = Path.Combine(zipFilesDirectory,
                                                        testZipDirectory.Substring(solutionDirectory.Length + 1));
                        AddFile(testZipFile, zipFile, testZipDirectory);
                    }

                    // Add pwiz vendor reader test data
                    var vendorTestData = new List <string>();
                    foreach (TestFilesDir.VendorDir vendorDir in Enum.GetValues(typeof(TestFilesDir.VendorDir)))
                    {
                        FindVendorReaderTestData(TestFilesDir.GetVendorTestData(vendorDir), vendorTestData);
                    }
                    foreach (var file in vendorTestData)
                    {
                        var parentDirectory = Path.GetDirectoryName(file);
                        if (string.IsNullOrEmpty(parentDirectory))
                        {
                            continue;
                        }
                        int relativePathStart = parentDirectory.LastIndexOf('\\',
                                                                            parentDirectory.IndexOf(@"Test.data", StringComparison.InvariantCulture));
                        parentDirectory = parentDirectory.Substring(relativePathStart + 1);
                        AddFile(file, zipFile, Path.Combine(SkylineTesterWindow.SkylineTesterFiles, parentDirectory));
                    }

                    // Add the file that we use to determine which branch this is from
                    AddFile(Path.Combine(solutionDirectory, "..\\..\\pwiz\\Version.cpp"), zipFile);

                    // Add unit testing DLL.
                    const string relativeUnitTestingDll =
                        @"PublicAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll";
                    var unitTestingDll = SkylineTesterWindow.GetExistingVsIdeFilePath(relativeUnitTestingDll);
                    if (unitTestingDll == null)
                    {
                        throw new ApplicationException(string.Format("Can't find {0}", relativeUnitTestingDll));
                    }
                    AddFile(unitTestingDll, zipFile);
                }

                Console.WriteLine();
                Console.WriteLine("# Saving...");
                zipFile.Save();
                Console.WriteLine();
                Console.WriteLine("# {0} size: {1:F1} MB", Path.GetFileName(zipPath), new FileInfo(PathEx.SafePath(zipPath)).Length / (1024.0 * 1024));
                Console.WriteLine("# Done.");
                Console.WriteLine();
            }
        }