public string ToXML(FAIMStoMzXMLProcessor processor) { // place scan byte depth into our tracking list var index = new Index(processor.ByteTracking.CurrentScan, processor.ByteTracking.ByteDepth + 3); processor.ByteTracking.ScanOffsets.Add(index); FilterLine = FixFilterLine(); var sb = new StringBuilder(); sb.AppendFormat(" <scan num=\"{0}\"", processor.ByteTracking.CurrentScan).AppendLine(); sb.AppendFormat(" msLevel=\"{0}\"", MsLevel).AppendLine(); sb.AppendFormat(" peaksCount=\"{0}\"", PeaksCount).AppendLine(); sb.AppendFormat(" polarity=\"{0}\"", Polarity).AppendLine(); sb.AppendFormat(" scanType=\"{0}\"", ScanType).AppendLine(); sb.AppendFormat(" filterLine=\"{0}\"", FilterLine).AppendLine(); sb.AppendFormat(" retentionTime=\"{0}\"", RetentionTime).AppendLine(); sb.AppendFormat(" lowMz=\"" + Math.Round(LowMz, 3) + "\"").AppendLine(); sb.AppendFormat(" highMz=\"" + Math.Round(HighMz, 3) + "\"").AppendLine(); sb.AppendFormat(" basePeakMz=\"" + Math.Round(BasePeakMz, 3) + "\"").AppendLine(); sb.AppendFormat(" basePeakIntensity=\"" + FormatSpecialNumber(BasePeakIntensity) + "\"").AppendLine(); sb.AppendFormat(" totIonCurrent=\"" + FormatSpecialNumber(TotIonCurrent) + "\"").AppendLine(); sb.AppendFormat(" collisionEnergy=\"" + CollisionEnergy + "\">").AppendLine(); sb.AppendLine(PrecursorMz.ToXML()); sb.AppendLine(PeakData.ToXML(4)); sb.Append(" </scan>"); processor.ByteTracking.CurrentScan++; return(sb.ToString()); }
// for outputting valid MzXML strings to file public string ToXML(FAIMStoMzXMLProcessor processor) { // place scan byte depth into our tracking list var index = new Index(processor.ByteTracking.CurrentScan, processor.ByteTracking.ByteDepth + 2); processor.ByteTracking.ScanOffsets.Add(index); FilterLine = FixFilterLine(); var sb = new StringBuilder(); sb.AppendFormat(" <scan num=\"{0}\"", processor.ByteTracking.CurrentScan).AppendLine(); sb.AppendFormat(" msLevel=\"{0}\"", MsLevel).AppendLine(); sb.AppendFormat(" peaksCount=\"{0}\"", PeaksCount).AppendLine(); sb.AppendFormat(" polarity=\"{0}\"", Polarity).AppendLine(); sb.AppendFormat(" scanType=\"{0}\"", ScanType).AppendLine(); sb.AppendFormat(" filterLine=\"{0}\"", FilterLine).AppendLine(); sb.AppendFormat(" retentionTime=\"{0}\"", RetentionTime).AppendLine(); sb.AppendFormat(" lowMz=\"" + Math.Round(LowMz, 3) + "\"").AppendLine(); sb.AppendFormat(" highMz=\"" + Math.Round(HighMz, 3) + "\"").AppendLine(); sb.AppendFormat(" basePeakMz=\"" + Math.Round(BasePeakMz, 3) + "\"").AppendLine(); sb.AppendFormat(" basePeakIntensity=\"" + FormatSpecialNumber(BasePeakIntensity) + "\"").AppendLine(); sb.AppendFormat(" totIonCurrent=\"" + FormatSpecialNumber(TotIonCurrent) + "\">").AppendLine(); sb.AppendLine(PeakData.ToXML(3)); // advance the byteTracker for Ms2 Indices processor.ByteTracker(sb.ToString(), true); processor.ByteTracking.CurrentScan++; foreach (var ms2 in Ms2s) { var ms2String = ms2.ToXML(processor); sb.AppendLine(ms2String); // advance byteTracker for the Ms2 Entry processor.ByteTracker(ms2String); } sb.Append(" </scan>"); processor.ByteTracker(" </scan>"); return(sb.ToString()); }