예제 #1
0
        /// <summary>
        /// 获取TIC
        /// </summary>
        /// <returns></returns>
        public List <TICResult> getTIC(string path)
        {
            var list     = new List <TICResult>();
            var parser   = new BaseParser(path);
            var ms1Block = parser.airdInfo.indexList.Where(x => x.level == 1);

            foreach (var item in ms1Block)
            {
                for (int i = 0; i < item.rts.Count; i++)
                {
                    list.Add(new TICResult()
                    {
                        rt = item.rts[i], intensity = item.tics[i]
                    });
                }
            }
            parser.close();
            return(list);
        }
예제 #2
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);
        }