Пример #1
0
        public static int DumpInstrumentMethod(string RawFileName)
        {
            List <string> _strExportRAW = new List <string>();

            XRAWLib.XRawfile _rawfile = new XRAWLib.XRawfile();
            //XRAWFILE2Lib.XRawfile _rawfile = new XRawfile();

            _rawfile.Open(RawFileName);
            _rawfile.SetCurrentController(0, 1);

            //_rawfile.GetInstMethod()

            /*
             * int testSTLog = 0, testTuneData = 0, testerror = 0;
             * _rawfile.GetNumStatusLog(ref testSTLog); MessageBox.Show("testSTLog - " + testSTLog.ToString());
             * _rawfile.GetNumTuneData(ref testTuneData); MessageBox.Show("testTuneData - " + testTuneData.ToString());
             * _rawfile.GetNumErrorLog(ref testerror); MessageBox.Show("testerror - " + testerror.ToString()); */

            string pbstrFileName = null, pbstrInstMethod0 = null, pbstrInstMethod1 = null;

            int    pnNumPackets = 0;
            double dStartTime = 0.0, pdRT = 0.0, pdStatusLogRT = 0.0;
            double dLowMass           = 0.0;
            double dHighMass          = 0.0;
            double dTIC               = 0.0;
            double dBasePeakMass      = 0.0;
            double dBasePeakIntensity = 0.0;
            int    nChannels          = 0;
            int    bUniformTime       = 0;
            double dFrequency         = 0.0;

            int pnFirstSpectrum = 0, pnLastSpectrum = 0, pnArraySizeTE = 0, pnArraySizeSL = 0;

            DateTime pCreationDate = DateTime.Now;

            _rawfile.GetFileName(ref pbstrFileName);
            _rawfile.GetInstMethod(0, ref pbstrInstMethod0);  _rawfile.GetInstMethod(1, ref pbstrInstMethod1);
            _rawfile.GetCreationDate(ref pCreationDate);


            File.WriteAllText(Path.ChangeExtension(RawFileName, "inm"), pbstrInstMethod0 + pbstrInstMethod1);

            //MessageBox.Show(pbstrInstMethod0);

            string AquDate = null;

            _rawfile.GetInstSerialNumber(ref AquDate);

            MessageBox.Show(pCreationDate.ToString(), "Creatio");

            MessageBox.Show(AquDate, "AquDate");

            return(1);
        }
Пример #2
0
        public static int DumpScanHeaderDataForCompound(string RawFileName, string RawFileOut, bool IfHeader, string Compound, double PeakLeftRT, double PeakRightRT, double Tolerance)
        {
            List <string> _strExportRAW = new List <string>();

            XRAWLib.XRawfile _rawfile = new XRAWLib.XRawfile();
            //XRAWFILE2Lib.XRawfile _rawfile = new XRawfile();

            _rawfile.Open(RawFileName);
            _rawfile.SetCurrentController(0, 1);

            //_rawfile.GetInstMethod()

            /*
             * int testSTLog = 0, testTuneData = 0, testerror = 0;
             * _rawfile.GetNumStatusLog(ref testSTLog); MessageBox.Show("testSTLog - " + testSTLog.ToString());
             * _rawfile.GetNumTuneData(ref testTuneData); MessageBox.Show("testTuneData - " + testTuneData.ToString());
             * _rawfile.GetNumErrorLog(ref testerror); MessageBox.Show("testerror - " + testerror.ToString()); */

            string pbstrFileName = null, pbstrInstMethod = null;

            int    pnNumPackets = 0;
            double dStartTime = 0.0, pdRT = 0.0, pdStatusLogRT = 0.0;
            double dLowMass           = 0.0;
            double dHighMass          = 0.0;
            double dTIC               = 0.0;
            double dBasePeakMass      = 0.0;
            double dBasePeakIntensity = 0.0;
            int    nChannels          = 0;
            int    bUniformTime       = 0;
            double dFrequency         = 0.0;

            int pnFirstSpectrum = 0, pnLastSpectrum = 0, pnArraySizeTE = 0, pnArraySizeSL = 0;

            DateTime pCreationDate = DateTime.Now;

            _rawfile.GetFileName(ref pbstrFileName); _rawfile.GetInstMethod(1, ref pbstrInstMethod); _rawfile.GetCreationDate(ref pCreationDate);

            pbstrFileName = Path.GetFileNameWithoutExtension(pbstrFileName);

            _rawfile.GetFirstSpectrumNumber(ref pnFirstSpectrum); _rawfile.GetLastSpectrumNumber(ref pnLastSpectrum);

            int count = 0;

            for (int nScanNumber = pnFirstSpectrum; nScanNumber <= pnLastSpectrum; nScanNumber++)  // all spectrums
            {
                List <IonData> _ScanMSDataList = InitIonsForQuantList();
                double         _tii            = GetTotalIntensityOfIonFromScanNumber(_rawfile, nScanNumber, _ScanMSDataList, Tolerance);

                string pbstrFilter = null, pbstrScanEvent = null;
                object pvarLabelsTE = null, pvarValuesTE = null;
                object pvarLabelsSL = null, pvarValuesSL = null;


                _rawfile.GetScanHeaderInfoForScanNum(nScanNumber, ref pnNumPackets, ref dStartTime, ref dLowMass, ref dHighMass, ref dTIC,
                                                     ref dBasePeakMass, ref dBasePeakIntensity, ref nChannels, ref bUniformTime, ref dFrequency);
                _rawfile.GetTrailerExtraForScanNum(nScanNumber, ref pvarLabelsTE, ref pvarValuesTE, ref pnArraySizeTE);

                _rawfile.GetFilterForScanNum(nScanNumber, ref pbstrFilter);

                string compoundName = CompoundFromFilter(pbstrFilter);

                if (!IfCompound(compoundName, Compound))
                {
                    continue;
                }

                count++;

                bool _ifPeak = false;

                _rawfile.RTFromScanNum(nScanNumber, ref pdRT); if (pdRT > PeakLeftRT && pdRT < PeakRightRT)
                {
                    _ifPeak = true;
                }

                (_rawfile as XRAWLib.IXRawfile5).GetScanEventForScanNum(nScanNumber, ref pbstrScanEvent);

                _rawfile.GetStatusLogForScanNum(nScanNumber, ref pdStatusLogRT, ref pvarLabelsSL, ref pvarValuesSL, ref pnArraySizeSL); //MessageBox.Show(pnArraySizeSL.ToString());

                string[] strTrailerLabels = (string[])pvarLabelsTE; string[] strTrailerValues = (string[])pvarValuesTE;
                string[] strStatusLabels = (string[])pvarLabelsSL; string[] strStatusValues = (string[])pvarValuesSL;

                string trailerExtra = "", trailerHeader = ""; string statusLog = "", statusHeader = ""; string quantIons = "", quantIonsHeader = "";

                for (int i = 0; i < pnArraySizeTE; i++)  // all TrailerExtra
                {
                    trailerExtra += strTrailerValues[i]; trailerExtra += "; ";

                    if (count == 1 && IfHeader)
                    {
                        trailerHeader += strTrailerLabels[i]; trailerHeader += "; ";
                    }
                }

                foreach (IonData _ion in _ScanMSDataList)  // all Quant MS ions-intens.
                {
                    quantIons += _ion._Intensity.ToString(); quantIons += "; ";

                    if (count == 1 && IfHeader)
                    {
                        quantIonsHeader += _ion._MassOverCharge.ToString(); quantIonsHeader += "; ";
                    }
                }

                for (int i = 0; i < pnArraySizeSL; i++)                 // all StatusLog
                {
                    statusLog += strStatusValues[i]; statusLog += "; "; //MessageBox.Show(strStatusLabels[i] + " - " + strStatusValues[i]);

                    if (count == 1 && IfHeader)
                    {
                        statusHeader += strStatusLabels[i]; statusHeader += "; ";
                    }
                }

                if (count == 1 && IfHeader)
                {
                    _strExportRAW.Add("pbstrFileName; pCreationDate; nScanNumber; pbstrFilter; pdRT; pbstrScanEvent; pnNumPackets; dStartTime; dLowMass; " +
                                      "dHighMass; dTIC; dBasePeakMass; dBasePeakIntensity; nChannels; bUniformTime; dFrequency; ifPeak; compound; TII; PeakLeftRT; PeakRightRT; "
                                      + quantIonsHeader + trailerHeader);
                }

                _strExportRAW.Add(
                    String.Format("{0}; {1}; {2}; {3}; {4}; {5}; {6}; {7}; {8}; {9}; {10}; {11}; {12}; {13}; {14}; {15}; {16}; {17}; {18}; {19}; {20}; {21} {22}",
                                  pbstrFileName, pCreationDate,
                                  nScanNumber, pbstrFilter, pdRT, pbstrScanEvent,
                                  pnNumPackets, dStartTime, dLowMass, dHighMass, dTIC, dBasePeakMass, dBasePeakIntensity, nChannels, bUniformTime, dFrequency,
                                  _ifPeak, compoundName, _tii, PeakLeftRT, PeakRightRT,
                                  quantIons,
                                  trailerExtra)
                    );
            }

            if (IfHeader)
            {
                File.WriteAllLines(RawFileOut, _strExportRAW.ToArray());
            }
            else
            {
                File.AppendAllLines(RawFileOut, _strExportRAW.ToArray());
            }


            _rawfile.Close();

            return(count);
        }
Пример #3
0
        public static void DumpScanHeaderData(string RawFileName, string RawFileOut, bool IfHeader)
        {
            List <string> _strExportRAW = new List <string>();

            XRAWLib.XRawfile _rawfile = new XRAWLib.XRawfile();
            //XRAWFILE2Lib.XRawfile _rawfile = new XRawfile();

            _rawfile.Open(RawFileName);
            _rawfile.SetCurrentController(0, 1);

            int testSTLog = 0, testTuneData = 0, testerror = 0;

            _rawfile.GetNumStatusLog(ref testSTLog); MessageBox.Show("testSTLog - " + testSTLog.ToString());
            _rawfile.GetNumStatusLog(ref testTuneData); MessageBox.Show("testTuneData - " + testTuneData.ToString());
            _rawfile.GetNumStatusLog(ref testerror); MessageBox.Show("testerror - " + testerror.ToString());

            string pbstrFileName = null, pbstrInstMethod = null;

            int    pnNumPackets = 0;
            double dStartTime = 0.0, pdRT = 0.0, pdStatusLogRT = 0.0;
            double dLowMass           = 0.0;
            double dHighMass          = 0.0;
            double dTIC               = 0.0;
            double dBasePeakMass      = 0.0;
            double dBasePeakIntensity = 0.0;
            int    nChannels          = 0;
            int    bUniformTime       = 0;
            double dFrequency         = 0.0;

            int pnFirstSpectrum = 0, pnLastSpectrum = 0, pnArraySizeTE = 0, pnArraySizeSL = 0;

            DateTime pCreationDate = DateTime.Now;

            _rawfile.GetFileName(ref pbstrFileName); _rawfile.GetInstMethod(1, ref pbstrInstMethod); _rawfile.GetCreationDate(ref pCreationDate);

            _rawfile.GetFirstSpectrumNumber(ref pnFirstSpectrum); _rawfile.GetLastSpectrumNumber(ref pnLastSpectrum);

            int count = 0;

            for (int nScanNumber = pnFirstSpectrum; nScanNumber <= pnLastSpectrum; nScanNumber++)  // all spectrums
            {
                string pbstrFilter = null, pbstrScanEvent = null;
                object pvarLabelsTE = null, pvarValuesTE = null;
                object pvarLabelsSL = null, pvarValuesSL = null;
                count++;

                _rawfile.GetScanHeaderInfoForScanNum(nScanNumber, ref pnNumPackets, ref dStartTime, ref dLowMass, ref dHighMass, ref dTIC,
                                                     ref dBasePeakMass, ref dBasePeakIntensity, ref nChannels, ref bUniformTime, ref dFrequency);
                _rawfile.GetTrailerExtraForScanNum(nScanNumber, ref pvarLabelsTE, ref pvarValuesTE, ref pnArraySizeTE);

                _rawfile.GetFilterForScanNum(nScanNumber, ref pbstrFilter); //MessageBox.Show(pbstrFilter);

                _rawfile.RTFromScanNum(nScanNumber, ref pdRT);

                (_rawfile as XRAWLib.IXRawfile5).GetScanEventForScanNum(nScanNumber, ref pbstrScanEvent);

                _rawfile.GetStatusLogForScanNum(nScanNumber, ref pdStatusLogRT, ref pvarLabelsSL, ref pvarValuesSL, ref pnArraySizeSL); MessageBox.Show(pnArraySizeSL.ToString());

                string[] strTrailerLabels = (string[])pvarLabelsTE; string[] strTrailerValues = (string[])pvarValuesTE;
                string[] strStatusLabels = (string[])pvarLabelsSL; string[] strStatusValues = (string[])pvarValuesSL;

                string trailerExtra = "", trailerHeader = ""; string statusLog = "", statusHeader = "";

                for (int i = 0; i < pnArraySizeTE; i++)  // all TrailerExtra
                {
                    trailerExtra += strTrailerValues[i]; trailerExtra += "; ";

                    if (count == 1)
                    {
                        trailerHeader += strTrailerLabels[i]; trailerHeader += "; ";
                    }
                }

                for (int i = 0; i < pnArraySizeSL; i++)  // all StatusLog
                {
                    statusLog += strStatusValues[i]; statusLog += "; "; MessageBox.Show(strStatusLabels[i] + " - " + strStatusValues[i]);

                    if (count == 1)
                    {
                        statusHeader += strStatusLabels[i]; statusHeader += "; ";
                    }
                }

                if (count == 1)
                {
                    _strExportRAW.Add("pbstrFileName; pCreationDate; nScanNumber; pbstrFilter; pdRT; pbstrScanEvent; pnNumPackets; dStartTime; dLowMass; " +
                                      "dHighMass; dTIC; dBasePeakMass; dBasePeakIntensity; nChannels; bUniformTime; dFrequency; " + trailerHeader);
                }

                _strExportRAW.Add(
                    String.Format("{0}; {1}; {2}; {3}; {4}; {5}; {6}; {7}; {8}; {9}; {10}; {11}; {12}; {13}; {14}; {15}; {16}",
                                  pbstrFileName, pCreationDate,
                                  nScanNumber, pbstrFilter, pdRT, pbstrScanEvent,
                                  pnNumPackets, dStartTime, dLowMass, dHighMass, dTIC, dBasePeakMass, dBasePeakIntensity, nChannels, bUniformTime, dFrequency,
                                  trailerExtra)
                    );
            }

            if (IfHeader)
            {
                File.WriteAllLines(RawFileOut, _strExportRAW.ToArray());
            }
            else
            {
                File.AppendAllLines(RawFileOut, _strExportRAW.ToArray());
            }


            _rawfile.Close();
        }