@@ -141,29 +141,32 @@ public override void Write(IRawDataPlus rawFile, int firstScanNumber, int lastSc
141141 // fileContent
142142 _writer . WriteStartElement ( "fileContent" ) ;
143143 // MS1
144- SerializeCvParam ( new CVParamType
144+ if ( rawFile . SelectMsData ( ) )
145145 {
146- accession = "MS:1000579" ,
147- name = "MS1 spectrum" ,
148- cvRef = "MS" ,
149- value = ""
150- } ) ;
151- // MSn
152- SerializeCvParam ( new CVParamType
153- {
154- accession = "MS:1000580" ,
155- name = "MSn spectrum" ,
156- cvRef = "MS" ,
157- value = ""
158- } ) ;
159- // Ion current chromatogram
160- SerializeCvParam ( new CVParamType
161- {
162- accession = "MS:1000810" ,
163- name = "ion current chromatogram" ,
164- cvRef = "MS" ,
165- value = ""
166- } ) ;
146+ SerializeCvParam ( new CVParamType
147+ {
148+ accession = "MS:1000579" ,
149+ name = "MS1 spectrum" ,
150+ cvRef = "MS" ,
151+ value = ""
152+ } ) ;
153+ // MSn
154+ SerializeCvParam ( new CVParamType
155+ {
156+ accession = "MS:1000580" ,
157+ name = "MSn spectrum" ,
158+ cvRef = "MS" ,
159+ value = ""
160+ } ) ;
161+ // Ion current chromatogram
162+ SerializeCvParam ( new CVParamType
163+ {
164+ accession = "MS:1000810" ,
165+ name = "ion current chromatogram" ,
166+ cvRef = "MS" ,
167+ value = ""
168+ } ) ;
169+ }
167170
168171 // Other detector data
169172 if ( ParseInput . AllDetectors )
@@ -1032,6 +1035,47 @@ private List<ChromatogramType> ConstructChromatograms()
10321035 }
10331036 }
10341037 }
1038+
1039+ for ( int nrI = 1 ; nrI < _rawFile . GetInstrumentCountOfType ( Device . MSAnalog ) + 1 ; nrI ++ )
1040+ {
1041+ _rawFile . SelectInstrument ( Device . MSAnalog , nrI ) ;
1042+
1043+ var instData = _rawFile . GetInstrumentData ( ) ;
1044+
1045+ for ( int channel = 0 ; channel < instData . ChannelLabels . Length ; channel ++ )
1046+ {
1047+ var channelName = instData . ChannelLabels [ channel ] ;
1048+
1049+ var settings = new ChromatogramTraceSettings ( TraceType . StartAnalogChromatogramTraces + channel +
1050+ 1 ) ;
1051+
1052+ var data = _rawFile . GetChromatogramData ( new IChromatogramSettings [ ] { settings } , - 1 , - 1 ) ;
1053+
1054+ var trace = ChromatogramSignal . FromChromatogramData ( data ) ;
1055+
1056+ for ( var i = 0 ; i < trace . Length ; i ++ )
1057+ {
1058+ // CV Data for Chromatogram
1059+ var chroType = new CVParamType
1060+ {
1061+ name = channelName + " chromatogram" ,
1062+ value = ""
1063+ } ;
1064+
1065+ var intensType = new CVParamType
1066+ {
1067+ name = channelName + " array" ,
1068+ value = instData . Units . ToString ( ) ,
1069+ } ;
1070+
1071+ var chromatogram = TraceToChromatogram ( trace [ i ] ,
1072+ String . Format ( "AD#{0}_{1}_{2}" , nrI , channelName , i ) ,
1073+ chroType , intensType ) ;
1074+
1075+ chromatograms . Add ( chromatogram ) ;
1076+ }
1077+ }
1078+ }
10351079 }
10361080
10371081 return chromatograms ;
0 commit comments