@@ -156,25 +156,11 @@ private void WriteJsonMetada(IRawDataPlus rawFile, int firstScanNumber, int last
156156 rawFile . FileHeader . Revision . ToString ( ) ) ) ;
157157 metadata . addFileProperty ( new CVTerm ( "NCIT:C69199" , "NCIT" , "Content Creation Date" ,
158158 rawFile . FileHeader . CreationDate . ToString ( ) ) ) ;
159- metadata . addFileProperty ( new CVTerm ( "NCIT:C25365" , "NCIT" , "Description" ,
160- rawFile . FileHeader . FileDescription ) ) ;
161-
162- // Scan Settings
163- metadata . addScanSetting ( new CVTerm ( "MS:1000016" , "MS" , "scan start time" ,
164- startTime . ToString ( CultureInfo . InvariantCulture ) ) ) ;
165- metadata . addScanSetting ( new CVTerm ( "MS:1000011" , "MS" , "mass resolution" ,
166- rawFile . RunHeaderEx . MassResolution . ToString ( CultureInfo . InvariantCulture ) ) ) ;
167- metadata . addScanSetting ( new CVTerm ( "UO:0000002" , "MS" , "mass unit" ,
168- rawFile . GetInstrumentData ( ) . Units . ToString ( ) ) ) ;
169- metadata . addScanSetting ( new CVTerm ( "PRIDE:0000478" , "PRIDE" , "Number of scans" ,
170- rawFile . RunHeaderEx . SpectraCount . ToString ( ) ) ) ;
171- metadata . addScanSetting ( new CVTerm ( "PRIDE:0000479" , "PRIDE" , "MS scan range" ,
172- firstScanNumber + ":" + lastScanNumber ) ) ;
173- metadata . addScanSetting ( new CVTerm ( "PRIDE:0000484" , "PRIDE" , "Retention time range" ,
174- startTime + ":" + endTime ) ) ;
175- metadata . addScanSetting ( new CVTerm ( "PRIDE:0000485" , "PRIDE" , "Mz range" ,
176- rawFile . RunHeaderEx . LowMass + ":" + rawFile . RunHeaderEx . HighMass ) ) ;
177- metadata . addScanSetting ( fragmentationTypes ) ;
159+ if ( ! rawFile . FileHeader . FileDescription . IsNullOrEmpty ( ) )
160+ {
161+ metadata . addFileProperty ( new CVTerm ( "NCIT:C25365" , "NCIT" , "Description" ,
162+ rawFile . FileHeader . FileDescription ) ) ;
163+ }
178164
179165 // Instrument Properties
180166 metadata . addInstrumentProperty ( new CVTerm ( "MS:1000494" , "MS" , "Thermo Scientific instrument model" ,
@@ -185,8 +171,11 @@ private void WriteJsonMetada(IRawDataPlus rawFile, int firstScanNumber, int last
185171 rawFile . GetInstrumentData ( ) . SerialNumber ) ) ;
186172 metadata . addInstrumentProperty ( new CVTerm ( "NCIT:C111093" , "NCIT" , "Software Version" ,
187173 rawFile . GetInstrumentData ( ) . SoftwareVersion ) ) ;
188- metadata . addInstrumentProperty ( new CVTerm ( "AFR:0001259" , "AFO" , "firmware version" ,
189- rawFile . GetInstrumentData ( ) . HardwareVersion ) ) ;
174+ if ( ! rawFile . GetInstrumentData ( ) . HardwareVersion . IsNullOrEmpty ( ) )
175+ {
176+ metadata . addInstrumentProperty ( new CVTerm ( "AFR:0001259" , "AFO" , "firmware version" ,
177+ rawFile . GetInstrumentData ( ) . HardwareVersion ) ) ;
178+ }
190179
191180 // MS Data
192181 foreach ( KeyValuePair < string , int > entry in msTypes )
@@ -217,6 +206,23 @@ private void WriteJsonMetada(IRawDataPlus rawFile, int firstScanNumber, int last
217206 metadata . addMSData ( new CVTerm ( "PRIDE:0000477" , "PRIDE" , "MS max MZ" ,
218207 maxMz . ToString ( CultureInfo . InvariantCulture ) ) ) ;
219208
209+ // Scan Settings
210+ metadata . addScanSetting ( new CVTerm ( "MS:1000016" , "MS" , "scan start time" ,
211+ startTime . ToString ( CultureInfo . InvariantCulture ) ) ) ;
212+ metadata . addScanSetting ( new CVTerm ( "MS:1000011" , "MS" , "mass resolution" ,
213+ rawFile . RunHeaderEx . MassResolution . ToString ( CultureInfo . InvariantCulture ) ) ) ;
214+ metadata . addScanSetting ( new CVTerm ( "UO:0000002" , "MS" , "mass unit" ,
215+ rawFile . GetInstrumentData ( ) . Units . ToString ( ) ) ) ;
216+ metadata . addScanSetting ( new CVTerm ( "PRIDE:0000478" , "PRIDE" , "Number of scans" ,
217+ rawFile . RunHeaderEx . SpectraCount . ToString ( ) ) ) ;
218+ metadata . addScanSetting ( new CVTerm ( "PRIDE:0000479" , "PRIDE" , "MS scan range" ,
219+ firstScanNumber + ":" + lastScanNumber ) ) ;
220+ metadata . addScanSetting ( new CVTerm ( "PRIDE:0000484" , "PRIDE" , "Retention time range" ,
221+ startTime + ":" + endTime ) ) ;
222+ metadata . addScanSetting ( new CVTerm ( "PRIDE:0000485" , "PRIDE" , "Mz range" ,
223+ rawFile . RunHeaderEx . LowMass + ":" + rawFile . RunHeaderEx . HighMass ) ) ;
224+ metadata . addScanSetting ( fragmentationTypes ) ;
225+
220226 // Sample Data
221227 if ( ! rawFile . SampleInformation . SampleName . IsNullOrEmpty ( ) )
222228 {
@@ -299,9 +305,12 @@ private void WriteTextMetadata(IRawDataPlus rawFile, int firstScanNumber, int la
299305 "#FileProperties" ,
300306 "RAW file path=" + rawFile . FileName ,
301307 "RAW file version=" + rawFile . FileHeader . Revision ,
302- "Creation date=" + rawFile . FileHeader . CreationDate ,
303- "Description=" + rawFile . FileHeader . FileDescription
308+ "Creation date=" + rawFile . FileHeader . CreationDate
304309 } ;
310+ if ( ! rawFile . FileHeader . FileDescription . IsNullOrEmpty ( ) )
311+ {
312+ output . Add ( "Description=" + rawFile . FileHeader . FileDescription ) ;
313+ }
305314
306315 // Instrument Properties
307316 output . Add ( "#InstrumentProperties" ) ;
@@ -311,9 +320,12 @@ private void WriteTextMetadata(IRawDataPlus rawFile, int firstScanNumber, int la
311320 "Instrument name=" + rawFile . GetInstrumentData ( ) . Name ,
312321 $ "Instrument serial number=[MS, MS:1000529, instrument serial number, { rawFile . GetInstrumentData ( ) . SerialNumber } ]",
313322 $ "Software version=[NCIT, NCIT:C111093, Software Version, { rawFile . GetInstrumentData ( ) . SoftwareVersion } ]",
314- "Firmware version=" + rawFile . GetInstrumentData ( ) . HardwareVersion ,
315323 }
316324 ) ;
325+ if ( ! rawFile . GetInstrumentData ( ) . HardwareVersion . IsNullOrEmpty ( ) )
326+ {
327+ output . Add ( "Firmware version=" + rawFile . GetInstrumentData ( ) . HardwareVersion ) ;
328+ }
317329
318330 // MS Data
319331 output . Add ( "#MsData" ) ;
@@ -331,24 +343,24 @@ private void WriteTextMetadata(IRawDataPlus rawFile, int firstScanNumber, int la
331343 {
332344 "MS min charge=" + minCharge . ToString ( CultureInfo . InvariantCulture ) ,
333345 "MS max charge=" + maxCharge . ToString ( CultureInfo . InvariantCulture ) ,
334- $ "MS min RT={ minTime : F2 } ",
335- $ "MS max RT={ maxTime : F2 } ",
336- $ "MS min MZ={ minMz : F4 } ",
337- $ "MS max MZ={ maxMz : F4 } "
346+ $ "MS min RT={ minTime . ToString ( CultureInfo . InvariantCulture ) } ",
347+ $ "MS max RT={ maxTime . ToString ( CultureInfo . InvariantCulture ) } ",
348+ $ "MS min MZ={ minMz . ToString ( CultureInfo . InvariantCulture ) } ",
349+ $ "MS max MZ={ maxMz . ToString ( CultureInfo . InvariantCulture ) } "
338350 }
339351 ) ;
340352
341353 // Scan Settings
342354 output . AddRange ( new List < string >
343355 {
344356 "#ScanSettings" ,
345- $ "Scan start time={ startTime : F2 } ",
346- $ "Mass resolution=[MS, MS:1000011, mass resolution, { rawFile . RunHeaderEx . MassResolution : F3 } ]",
357+ $ "Scan start time={ startTime . ToString ( CultureInfo . InvariantCulture ) } ",
358+ $ "Mass resolution=[MS, MS:1000011, mass resolution, { rawFile . RunHeaderEx . MassResolution . ToString ( CultureInfo . InvariantCulture ) } ]",
347359 "Units=" + rawFile . GetInstrumentData ( ) . Units ,
348360 $ "Number of scans={ rawFile . RunHeaderEx . SpectraCount } ",
349361 $ "Scan range={ firstScanNumber } ;{ lastScanNumber } ",
350- $ "Time range={ startTime : F2 } ;{ endTime : F2 } ",
351- $ "Mass range={ rawFile . RunHeaderEx . LowMass : F4 } ;{ rawFile . RunHeaderEx . HighMass : F4 } ",
362+ $ "Time range={ startTime . ToString ( CultureInfo . InvariantCulture ) } ;{ endTime . ToString ( CultureInfo . InvariantCulture ) } ",
363+ $ "Mass range={ rawFile . RunHeaderEx . LowMass . ToString ( CultureInfo . InvariantCulture ) } ;{ rawFile . RunHeaderEx . HighMass . ToString ( CultureInfo . InvariantCulture ) } ",
352364 "Fragmentation types=" + String . Join ( ", " , fragmentationTypes . Select ( f => f . value ) )
353365 }
354366 ) ;
0 commit comments