private void Parse(string tagFilePath) { var tagParser = new TsvFileParser(tagFilePath); var scan = tagParser.GetData("ScanNum").Select(s => Convert.ToInt32(s)).ToArray(); var sequence = tagParser.GetData("SequenceTag").ToArray(); var isPrefix = tagParser.GetData("IsPrefix").Select(s => s.Equals("1")).ToArray(); var flankingMass = tagParser.GetData("FlankingMass").Select(Convert.ToDouble).ToArray(); for (var i = 0; i < tagParser.NumData; i++) { if (sequence[i].Length < _minTagLength) { continue; } var tag = new SequenceTag.SequenceTag(scan[i], sequence[i], isPrefix[i], flankingMass[i]); IList <SequenceTag.SequenceTag> tagList; if (_scanToTags.TryGetValue(scan[i], out tagList)) { if (tagList.Count < _numTagsPerScan) { tagList.Add(tag); } } else { _scanToTags.Add(scan[i], new List <SequenceTag.SequenceTag> { tag }); } } }
public MatchedTag(SequenceTag.SequenceTag tag, int startIndex, double?featureMass) { StartIndex = startIndex; EndIndex = startIndex + tag.Sequence.Length; NumMergedSequenceTags = 1; NTermFlankingMass = tag.GetNTermFlankingMass(featureMass - Composition.H2O.Mass); CTermFlankingMass = tag.GetCTermFlankingMass(featureMass - Composition.H2O.Mass); NumReliableNTermFlankingMasses = tag.IsPrefix ? 1 : 0; NumReliableCTermFlankingMasses = tag.IsPrefix ? 0 : 1; }
public MatchedTag(SequenceTag.SequenceTag tag, int startIndex) : this(tag, startIndex, null) { }