예제 #1
0
        public List <MsNResult> getMsNByTime(string path, int msN, double time)
        {
            var list     = new List <MsNResult>();
            var parser   = new BaseParser(path);
            var msNBlock = parser.airdInfo.indexList.Where(x => x.level == msN)
                           .OrderBy(x => Math.Abs(x.rts.OrderBy(y => Math.Abs(y - time)).FirstOrDefault() - time))
                           .FirstOrDefault();
            var blockValue     = parser.parseBlockValue(parser.airdFile, msNBlock);
            var MzIntensitys   = blockValue.OrderBy(x => Math.Abs(x.Key - time)).FirstOrDefault().Value;
            var mzArray        = MzIntensitys.getMzArray();
            var intensityArray = MzIntensitys.getIntensityArray();

            for (int i = 0; i < mzArray.Length; i++)
            {
                var r = new MsNResult();
                r.mz        = mzArray[i];
                r.intensity = intensityArray[i];
                list.Add(r);
            }
            parser.close();
            return(list);
        }