コード例 #1
0
ファイル: Program.cs プロジェクト: stjordanis/MzLite
        static void Wiff2()
        {
            string wiffPath = @"C:\Users\david\Documents\BioInfo\47_praktikum\data\task7.wiff";
            string runID    = "sample=0";

            System.Diagnostics.Stopwatch time = new System.Diagnostics.Stopwatch();
            time.Start();
            Console.Out.WriteLine(time.Elapsed.TotalMinutes);
            using (var reader = new WiffFileReader(wiffPath))
                using (ITransactionScope txn = reader.BeginTransaction())
                {
                    System.Collections.Generic.IEnumerable <string> Items()
                    {
                        foreach (var ms in reader.ReadMassSpectra(runID))
                        {
                            //var peaks = reader.ReadSpectrumPeaks(ms.ID);
                            yield return(ms.ID);
                        }
                    }

                    txn.Commit();
                    Console.Out.WriteLine(Items().ToArray().Length);
                    Console.Out.WriteLine(time.Elapsed.TotalMinutes);
                }
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: stjordanis/MzLite
        static void WiffToMzML()
        {
            string wiffPath    = @"C:\Work\primaqdev\testdata\C2 Sol SWATH4.wiff";
            string runID       = "sample=0";
            string mzMLOutPath = @"C:\Work\primaqdev\testdata\test.mzML";

            using (var wiff = new WiffFileReader(wiffPath))
                using (ITransactionScope txn = wiff.BeginTransaction())
                    using (var mzML = new MzMLWriter(mzMLOutPath))
                    {
                        mzML.BeginMzML(wiff.Model);

                        mzML.BeginRun(wiff.Model.Runs[runID]);

                        var spectra       = wiff.ReadMassSpectra(runID).Take(1);
                        int spectrumCount = spectra.Count();
                        int specIdx       = 0;

                        mzML.BeginSpectrumList(spectrumCount);

                        foreach (var ms in spectra)
                        {
                            var bd = wiff.ReadSpectrumPeaks(ms.ID);

                            mzML.WriteSpectrum(ms, bd, specIdx);

                            specIdx++;
                        }

                        mzML.EndSpectrumList();
                        mzML.EndRun();
                        mzML.EndMzML();
                        mzML.Close();
                    }
        }
コード例 #3
0
        static void WiffToSQLite()
        {
            string wiffPath   = @"C:\Work\primaqdev\testdata\C2 Sol SWATH4.wiff";
            string mzLitePath = Path.Combine(Path.GetDirectoryName(wiffPath), Path.GetFileNameWithoutExtension(wiffPath) + ".mzlite");
            string runID      = "sample=0";

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

            using (IMzLiteDataReader reader = new WiffFileReader(wiffPath))
                using (ITransactionScope inTxn = reader.BeginTransaction())
                    using (MzLiteSQL writer = new MzLiteSQL(mzLitePath))
                        using (ITransactionScope outTxn = writer.BeginTransaction())
                        {
                            foreach (var ms in reader.ReadMassSpectra(runID))
                            {
                                var peaks    = reader.ReadSpectrumPeaks(ms.ID);
                                var clonedMS = MzLiteJson.JsonCloneModelItem("#1", ms);
                                writer.Insert(runID, clonedMS, peaks);
                                break;
                            }

                            foreach (var ms in writer.ReadMassSpectra(runID))
                            {
                                var peaks = writer.ReadSpectrumPeaks(ms.ID);
                                var ms1   = writer.ReadMassSpectrum(ms.ID);
                                break;
                            }

                            outTxn.Commit();
                        }
        }
コード例 #4
0
        static void Wiff()
        {
            string wiffPath = @"C:\Work\primaqdev\testdata\C2 Sol SWATH4.wiff";
            string runID    = "sample=0";

            using (var reader = new WiffFileReader(wiffPath))
            {
                SWATHIndexer idx = SWATHIndexer.Build(reader, runID);

                var ids = idx.Find(558.3, 23.8, 1);
            }
        }
コード例 #5
0
ファイル: Program.cs プロジェクト: stjordanis/MzLite
        static void Wiff()
        {
            string wiffPath = @"C:\Users\david\Documents\BioInfo\47_praktikum\data\task7.wiff";
            string runID    = "sample=0";

            using (var reader = new WiffFileReader(wiffPath))
                using (ITransactionScope txn = reader.BeginTransaction())
                {
                    foreach (var ms in reader.ReadMassSpectra(runID))
                    {
                        //var peaks = reader.ReadSpectrumPeaks(ms.ID);
                        Console.Out.WriteLine(ms.ID);
                    }
                }
        }
コード例 #6
0
ファイル: Program.cs プロジェクト: stjordanis/MzLite
        static void WiffToSQLite()
        {
            string wiffPath   = @"C:\Work\primaqdev\testdata\Für Alex\20160212_MS_DHpsan006.wiff";
            string mzLitePath = Path.Combine(Path.GetDirectoryName(wiffPath), Path.GetFileNameWithoutExtension(wiffPath) + ".mzlite");
            string runID      = "sample=0";
            int    msLevel;

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

            using (IMzLiteDataReader reader = new WiffFileReader(wiffPath))
                using (ITransactionScope inTxn = reader.BeginTransaction())
                    using (MzLiteSQL writer = new MzLiteSQL(mzLitePath))
                        using (ITransactionScope outTxn = writer.BeginTransaction())
                        {
                            foreach (var ms in reader.ReadMassSpectra(runID))
                            {
                                if (ms.TryGetMsLevel(out msLevel) && msLevel != 1)
                                {
                                    continue;
                                }

                                var peaks = reader.ReadSpectrumPeaks(ms.ID);
                                //var clonedMS = MzLiteJson.JsonCloneModelItem("#1", ms);
                                //var max = peaks.Peaks.GroupBy(x => x.Intensity);

                                writer.Insert(runID, ms, peaks);
                                //break;
                            }

                            //foreach (var ms in writer.ReadMassSpectra(runID))
                            //{
                            //    var peaks = writer.ReadSpectrumPeaks(ms.ID);
                            //    var ms1 = writer.ReadMassSpectrum(ms.ID);
                            //    break;
                            //}

                            outTxn.Commit();
                        }
        }
コード例 #7
0
ファイル: Program.cs プロジェクト: stjordanis/MzLite
        static void TestRt()
        {
            string wiffPath = @"C:\Work\primaqdev\testdata\swathtest\20141201_BASF5_1SW01.wiff";
            string runID    = "sample=0";

            using (var reader = new WiffFileReader(wiffPath))
                using (ITransactionScope txn = reader.BeginTransaction())
                {
                    var rti       = reader.BuildRtIndex(runID);
                    var rtQuery   = new RangeQuery(56.8867263793945, 10.0);
                    var mzQueries = new RangeQuery[]
                    {
                        new RangeQuery(890.4764, 0.01),
                        new RangeQuery(677.3651, 0.01),
                        new RangeQuery(989.5448, 0.01),
                        new RangeQuery(776.4335, 0.01)
                    };

                    var profile = reader.RtProfiles(rti, rtQuery, mzQueries);
                    var profil  = reader.RtProfile(rti, rtQuery, new RangeQuery(776.4335, 0.01));
                }
        }
コード例 #8
0
ファイル: Program.cs プロジェクト: stjordanis/MzLite
        static void TestSwath()
        {
            string wiffPath       = @"C:\Work\primaqdev\testdata\swathtest\20141201_BASF5_1SW01.wiff";
            string searchListPath = @"C:\Work\primaqdev\testdata\swathtest\result_N14 - Ions.txt";
            string runID          = "sample=0";

            using (var reader = new WiffFileReader(wiffPath))
                using (ITransactionScope txn = reader.BeginTransaction())
                    using (var csv = CSVReader.GetTabReader(searchListPath))
                    {
                        var swath = SwathIndexer.Create(reader, runID);

                        var queuries = csv.ReadAll()
                                       .GroupBy(x => x.GetDouble("Precursor MZ"))
                                       .Select(x => CreateSwathQuery(x, 1.0, 0.05))
                                       .ToArray();

                        SwathQuerySorting.Sort(queuries);

                        Stopwatch stopwatch = new Stopwatch();
                        stopwatch.Start();

                        for (int i = 0; i < queuries.Length; i++)
                        {
                            if (i % 10 == 0)
                            {
                                Console.WriteLine(i);
                            }

                            var ms2 = swath.GetMS2(reader, queuries[i]);
                        }

                        stopwatch.Stop();
                        Console.WriteLine("Elapsed time: {0}", stopwatch.Elapsed.ToString());

                        Console.WriteLine("Press any key to exit.");
                        System.Console.ReadKey();
                    }
        }