@@ -74,86 +74,82 @@ public override void Write(IRawDataPlus rawFile, int firstScanNumber, int lastSc
7474 goto default ;
7575 }
7676 default :
77- if ( scanEvent . ScanData == ScanDataType . Centroid ||
78- ( scanEvent . ScanData == ScanDataType . Profile &&
79- ( scan . HasCentroidStream ||
80- ParseInput . OutputFormat != OutputFormat . MGFNoProfileData ) ) )
81- {
82- Writer . WriteLine ( "BEGIN IONS" ) ;
83- Writer . WriteLine ( $ "TITLE={ ConstructSpectrumTitle ( scanNumber ) } ") ;
84- Writer . WriteLine ( $ "SCANS={ scanNumber } ") ;
85- Writer . WriteLine (
86- $ "RTINSECONDS={ ( time * 60 ) . ToString ( CultureInfo . InvariantCulture ) } ") ;
77+ Writer . WriteLine ( "BEGIN IONS" ) ;
78+ Writer . WriteLine ( $ "TITLE={ ConstructSpectrumTitle ( scanNumber ) } ") ;
79+ Writer . WriteLine ( $ "SCANS={ scanNumber } ") ;
80+ Writer . WriteLine (
81+ $ "RTINSECONDS={ ( time * 60 ) . ToString ( CultureInfo . InvariantCulture ) } ") ;
8782
88- if ( reaction != null )
89- {
90- var precursorMass = reaction . PrecursorMass ;
91- Writer . WriteLine ( "PEPMASS=" +
92- precursorMass . ToString ( "0.0000000" ,
93- CultureInfo . InvariantCulture ) ) ;
94- //var precursorIntensity = 0.0;
95- //GetPrecursorIntensity(rawFile, _precursorScanNumber, precursorMass);
96- //Writer.WriteLine(precursorIntensity != null
97- // ? $"PEPMASS={precursorMass:F7} {precursorIntensity}"
98- // : $"PEPMASS={precursorMass:F7}");
99- }
83+ if ( reaction != null )
84+ {
85+ var precursorMass = reaction . PrecursorMass ;
86+ Writer . WriteLine ( "PEPMASS=" +
87+ precursorMass . ToString ( "0.0000000" ,
88+ CultureInfo . InvariantCulture ) ) ;
89+ //var precursorIntensity = 0.0;
90+ //GetPrecursorIntensity(rawFile, _precursorScanNumber, precursorMass);
91+ //Writer.WriteLine(precursorIntensity != null
92+ // ? $"PEPMASS={precursorMass:F7} {precursorIntensity}"
93+ // : $"PEPMASS={precursorMass:F7}");
94+ }
10095
101- // trailer extra data list
102- var trailerData = rawFile . GetTrailerExtraInformation ( scanNumber ) ;
103- for ( var i = 0 ; i < trailerData . Length ; i ++ )
96+ // trailer extra data list
97+ var trailerData = rawFile . GetTrailerExtraInformation ( scanNumber ) ;
98+ for ( var i = 0 ; i < trailerData . Length ; i ++ )
99+ {
100+ if ( trailerData . Labels [ i ] == "Charge State:" )
104101 {
105- if ( trailerData . Labels [ i ] == "Charge State:" )
102+ if ( Convert . ToInt32 ( trailerData . Values [ i ] ) > 0 )
106103 {
107- if ( Convert . ToInt32 ( trailerData . Values [ i ] ) > 0 )
108- {
109- Writer . WriteLine ( $ "CHARGE={ trailerData . Values [ i ] } +") ;
110- }
104+ Writer . WriteLine ( $ "CHARGE={ trailerData . Values [ i ] } +") ;
111105 }
112106 }
107+ }
113108
114- // write the filter string
115- //Writer.WriteLine($"SCANEVENT={scanEvent.ToString()}");
109+ // write the filter string
110+ //Writer.WriteLine($"SCANEVENT={scanEvent.ToString()}");
116111
117- // Check if the scan has a centroid stream
118- if ( scan . HasCentroidStream )
119- {
120- var centroidStream = rawFile . GetCentroidStream ( scanNumber , false ) ;
121- if ( scan . CentroidScan . Length > 0 )
122- {
123- for ( var i = 0 ; i < centroidStream . Length ; i ++ )
124- {
125- Writer . WriteLine (
126- centroidStream . Masses [ i ] . ToString ( "0.0000000" ,
127- CultureInfo . InvariantCulture )
128- + " "
129- + centroidStream . Intensities [ i ] . ToString ( "0.0000000" ,
130- CultureInfo . InvariantCulture ) ) ;
131- }
132- }
133- }
134- // Otherwise take the profile data
135- else
112+ // Check if the scan has a centroid stream
113+ if ( scan . HasCentroidStream && ( scanEvent . ScanData == ScanDataType . Centroid ||
114+ ( scanEvent . ScanData == ScanDataType . Profile &&
115+ ! ParseInput . NoPeakPicking ) ) )
116+ {
117+ var centroidStream = rawFile . GetCentroidStream ( scanNumber , false ) ;
118+ if ( scan . CentroidScan . Length > 0 )
136119 {
137- // Get the scan statistics from the RAW file for this scan number
138- var scanStatistics = rawFile . GetScanStatsForScanNumber ( scanNumber ) ;
139-
140- // Get the segmented (low res and profile) scan data
141- var segmentedScan =
142- rawFile . GetSegmentedScanFromScanNumber ( scanNumber , scanStatistics ) ;
143- for ( var i = 0 ; i < segmentedScan . Positions . Length ; i ++ )
120+ for ( var i = 0 ; i < centroidStream . Length ; i ++ )
144121 {
145122 Writer . WriteLine (
146- segmentedScan . Positions [ i ] . ToString ( "0.0000000" ,
123+ centroidStream . Masses [ i ] . ToString ( "0.0000000" ,
147124 CultureInfo . InvariantCulture )
148125 + " "
149- + segmentedScan . Intensities [ i ] . ToString ( "0.0000000000 " ,
126+ + centroidStream . Intensities [ i ] . ToString ( "0.0000000 " ,
150127 CultureInfo . InvariantCulture ) ) ;
151128 }
152129 }
130+ }
131+ // Otherwise take the profile data
132+ else
133+ {
134+ // Get the scan statistics from the RAW file for this scan number
135+ var scanStatistics = rawFile . GetScanStatsForScanNumber ( scanNumber ) ;
153136
154- Writer . WriteLine ( "END IONS" ) ;
137+ // Get the segmented (low res and profile) scan data
138+ var segmentedScan =
139+ rawFile . GetSegmentedScanFromScanNumber ( scanNumber , scanStatistics ) ;
140+ for ( var i = 0 ; i < segmentedScan . Positions . Length ; i ++ )
141+ {
142+ Writer . WriteLine (
143+ segmentedScan . Positions [ i ] . ToString ( "0.0000000" ,
144+ CultureInfo . InvariantCulture )
145+ + " "
146+ + segmentedScan . Intensities [ i ] . ToString ( "0.0000000000" ,
147+ CultureInfo . InvariantCulture ) ) ;
148+ }
155149 }
156150
151+ Writer . WriteLine ( "END IONS" ) ;
152+
157153 break ;
158154 }
159155 }
0 commit comments