Browse code

First implementation of FilterString for pwiz backend

Sebastian Gibb authored on 23/11/2017 16:41:44
Showing 2 changed files

... ...
@@ -1,4 +1,4 @@
1
-BUILT_RCPP_VERSION = package_version("0.12.12")
1
+BUILT_RCPP_VERSION = package_version("0.12.13")
2 2
 
3 3
 .onLoad <-
4 4
     function(libname, pkgname) {
... ...
@@ -203,6 +203,7 @@ Rcpp::DataFrame RcppPwiz::getScanHeaderInfo (Rcpp::IntegerVector whichScan)
203 203
       Rcpp::IntegerVector mergedResultStartScanNum(N_scans); /* smallest scan number of the scanOrigin for merged scan */
204 204
       Rcpp::IntegerVector mergedResultEndScanNum(N_scans); /* largest scan number of the scanOrigin for merged scan */
205 205
       Rcpp::NumericVector ionInjectionTime(N_scans); /* The time spent filling an ion trapping device*/
206
+      Rcpp::StringVector filterString(N_scans);
206 207
       Rcpp::StringVector spectrumId(N_scans);
207 208
       
208 209
       for (int i = 0; i < N_scans; i++)
... ...
@@ -220,6 +221,7 @@ Rcpp::DataFrame RcppPwiz::getScanHeaderInfo (Rcpp::IntegerVector whichScan)
220 221
 	  polarity[i] = (param.cvid==MS_negative_scan ? 0 : (param.cvid==MS_positive_scan ? +1 : -1 ) );
221 222
 	  // ionInjectionTime[i] = sp->cvParam(MS_ion_injection_time).valueAs<double>();
222 223
 	  ionInjectionTime[i] = scan.cvParam(MS_ion_injection_time).timeInSeconds();
224
+	  filterString[i] = scan.cvParam(MS_filter_string).value;
223 225
 
224 226
 	  peaksCount[i] = scanHeader.peaksCount;
225 227
 	  totIonCurrent[i] = scanHeader.totIonCurrent;
... ...
@@ -244,7 +246,7 @@ Rcpp::DataFrame RcppPwiz::getScanHeaderInfo (Rcpp::IntegerVector whichScan)
244 246
       delete adapter;
245 247
       adapter = NULL;
246 248
 
247
-      Rcpp::List header(23);
249
+      Rcpp::List header(24);
248 250
       std::vector<std::string> names;
249 251
       int i = 0;
250 252
       names.push_back("seqNum");
... ...
@@ -291,6 +293,8 @@ Rcpp::DataFrame RcppPwiz::getScanHeaderInfo (Rcpp::IntegerVector whichScan)
291 293
       header[i++] = Rcpp::wrap(mergedResultEndScanNum);
292 294
       names.push_back("injectionTime");
293 295
       header[i++] = Rcpp::wrap(ionInjectionTime);
296
+      names.push_back("filterString");
297
+      header[i++] = Rcpp::wrap(filterString);
294 298
       names.push_back("spectrumId");
295 299
       header[i++] = Rcpp::wrap(spectrumId);
296 300
       
... ...
@@ -604,6 +608,7 @@ void RcppPwiz::addSpectrumList(MSData& msd,
604 608
   Rcpp::IntegerVector mergedScan = spctr_header["mergedScan"];
605 609
   // Skipping mergedResultScanNum, mergedResultStartScanNum and mergedResultEndScanNum
606 610
   Rcpp::NumericVector ionInjectionTime = spctr_header["injectionTime"];
611
+  Rcpp::StringVector filterString = spctr_header["filterString"];
607 612
   Rcpp::StringVector spectrumId = spctr_header["spectrumId"];
608 613
   
609 614
   // From MSnbase::Spectrum        Column in the header