@@ -217,20 +217,37 @@ private Tuple<CalibrationFunction, CalibrationFunction> Calibrate(DataPointAquis
217
217
transforms . Add ( new TransformFunction ( b => new double [ ] { b [ 1 ] } , 1 ) ) ;
218
218
transforms . Add ( new TransformFunction ( b => new double [ ] { Math . Log ( b [ 2 ] ) } , 1 ) ) ;
219
219
transforms . Add ( new TransformFunction ( b => new double [ ] { Math . Log ( b [ 3 ] ) } , 1 ) ) ;
220
+ transforms . Add ( new TransformFunction ( b => new double [ ] { Math . Log ( b [ 4 ] ) } , 1 ) ) ;
220
221
221
222
transforms . Add ( new TransformFunction ( b => new double [ ] { b [ 0 ] , b [ 1 ] } , 2 ) ) ;
222
223
transforms . Add ( new TransformFunction ( b => new double [ ] { b [ 0 ] , Math . Log ( b [ 2 ] ) } , 2 ) ) ;
223
224
transforms . Add ( new TransformFunction ( b => new double [ ] { b [ 0 ] , Math . Log ( b [ 3 ] ) } , 2 ) ) ;
225
+ transforms . Add ( new TransformFunction ( b => new double [ ] { b [ 0 ] , Math . Log ( b [ 4 ] ) } , 2 ) ) ;
224
226
transforms . Add ( new TransformFunction ( b => new double [ ] { b [ 1 ] , Math . Log ( b [ 2 ] ) } , 2 ) ) ;
225
227
transforms . Add ( new TransformFunction ( b => new double [ ] { b [ 1 ] , Math . Log ( b [ 3 ] ) } , 2 ) ) ;
228
+ transforms . Add ( new TransformFunction ( b => new double [ ] { b [ 1 ] , Math . Log ( b [ 4 ] ) } , 2 ) ) ;
226
229
transforms . Add ( new TransformFunction ( b => new double [ ] { Math . Log ( b [ 2 ] ) , Math . Log ( b [ 3 ] ) } , 2 ) ) ;
230
+ transforms . Add ( new TransformFunction ( b => new double [ ] { Math . Log ( b [ 2 ] ) , Math . Log ( b [ 4 ] ) } , 2 ) ) ;
231
+ transforms . Add ( new TransformFunction ( b => new double [ ] { Math . Log ( b [ 3 ] ) , Math . Log ( b [ 4 ] ) } , 2 ) ) ;
227
232
228
233
transforms . Add ( new TransformFunction ( b => new double [ ] { b [ 0 ] , b [ 1 ] , Math . Log ( b [ 2 ] ) } , 3 ) ) ;
229
234
transforms . Add ( new TransformFunction ( b => new double [ ] { b [ 0 ] , b [ 1 ] , Math . Log ( b [ 3 ] ) } , 3 ) ) ;
235
+ transforms . Add ( new TransformFunction ( b => new double [ ] { b [ 0 ] , b [ 1 ] , Math . Log ( b [ 4 ] ) } , 3 ) ) ;
230
236
transforms . Add ( new TransformFunction ( b => new double [ ] { b [ 0 ] , Math . Log ( b [ 2 ] ) , Math . Log ( b [ 3 ] ) } , 3 ) ) ;
237
+ transforms . Add ( new TransformFunction ( b => new double [ ] { b [ 0 ] , Math . Log ( b [ 2 ] ) , Math . Log ( b [ 4 ] ) } , 3 ) ) ;
238
+ transforms . Add ( new TransformFunction ( b => new double [ ] { b [ 0 ] , Math . Log ( b [ 3 ] ) , Math . Log ( b [ 4 ] ) } , 3 ) ) ;
231
239
transforms . Add ( new TransformFunction ( b => new double [ ] { b [ 1 ] , Math . Log ( b [ 2 ] ) , Math . Log ( b [ 3 ] ) } , 3 ) ) ;
240
+ transforms . Add ( new TransformFunction ( b => new double [ ] { b [ 1 ] , Math . Log ( b [ 2 ] ) , Math . Log ( b [ 4 ] ) } , 3 ) ) ;
241
+ transforms . Add ( new TransformFunction ( b => new double [ ] { b [ 1 ] , Math . Log ( b [ 3 ] ) , Math . Log ( b [ 4 ] ) } , 3 ) ) ;
242
+ transforms . Add ( new TransformFunction ( b => new double [ ] { Math . Log ( b [ 2 ] ) , Math . Log ( b [ 3 ] ) , Math . Log ( b [ 4 ] ) } , 3 ) ) ;
232
243
233
244
transforms . Add ( new TransformFunction ( b => new double [ ] { b [ 0 ] , b [ 1 ] , Math . Log ( b [ 2 ] ) , Math . Log ( b [ 3 ] ) } , 4 ) ) ;
245
+ transforms . Add ( new TransformFunction ( b => new double [ ] { b [ 0 ] , b [ 1 ] , Math . Log ( b [ 2 ] ) , Math . Log ( b [ 4 ] ) } , 4 ) ) ;
246
+ transforms . Add ( new TransformFunction ( b => new double [ ] { b [ 0 ] , b [ 1 ] , Math . Log ( b [ 3 ] ) , Math . Log ( b [ 4 ] ) } , 4 ) ) ;
247
+ transforms . Add ( new TransformFunction ( b => new double [ ] { b [ 0 ] , Math . Log ( b [ 2 ] ) , Math . Log ( b [ 3 ] ) , Math . Log ( b [ 4 ] ) } , 4 ) ) ;
248
+ transforms . Add ( new TransformFunction ( b => new double [ ] { b [ 1 ] , Math . Log ( b [ 2 ] ) , Math . Log ( b [ 3 ] ) , Math . Log ( b [ 4 ] ) } , 4 ) ) ;
249
+
250
+ transforms . Add ( new TransformFunction ( b => new double [ ] { b [ 0 ] , b [ 1 ] , Math . Log ( b [ 2 ] ) , Math . Log ( b [ 3 ] ) , Math . Log ( b [ 4 ] ) } , 5 ) ) ;
234
251
235
252
foreach ( var transform in transforms )
236
253
{
@@ -324,23 +341,23 @@ private void CalibrateSpectra(Tuple<CalibrationFunction, CalibrationFunction> be
324
341
theScan . RecomputeSelectedPeak ( precursorScan . MassSpectrum ) ;
325
342
double precursorMZ = theScan . SelectedIonGuessMZ . Value ;
326
343
double precursorIntensity = theScan . SelectedIonGuessIntensity . Value ;
327
- double newSelectedMZ = precursorMZ - bestCf . Item2 . Predict ( new double [ ] { precursorMZ , precursorScan . RetentionTime , precursorIntensity , precursorScan . TotalIonCurrent } ) ;
344
+ double newSelectedMZ = precursorMZ - bestCf . Item1 . Predict ( new double [ ] { precursorMZ , precursorScan . RetentionTime , precursorIntensity , precursorScan . TotalIonCurrent , precursorScan . InjectionTime . Value } ) ;
328
345
329
346
if ( ! theScan . SelectedIonGuessMonoisotopicMZ . HasValue || ! theScan . SelectedIonGuessMonoisotopicIntensity . HasValue )
330
347
theScan . RecomputeMonoisotopicPeak ( precursorScan . MassSpectrum , 0.01 , 0.3 ) ;
331
348
double monoisotopicMZ = theScan . SelectedIonGuessMonoisotopicMZ . Value ;
332
349
double monoisotopicIntensity = theScan . SelectedIonGuessMonoisotopicIntensity . Value ;
333
350
334
- double newMonoisotopicMZ = monoisotopicMZ - bestCf . Item2 . Predict ( new double [ ] { monoisotopicMZ , precursorScan . RetentionTime , monoisotopicIntensity , precursorScan . TotalIonCurrent } ) ;
351
+ double newMonoisotopicMZ = monoisotopicMZ - bestCf . Item1 . Predict ( new double [ ] { monoisotopicMZ , precursorScan . RetentionTime , monoisotopicIntensity , precursorScan . TotalIonCurrent , precursorScan . InjectionTime . Value } ) ;
335
352
336
353
double IsolationMZ = theScan . IsolationMz ;
337
- Func < IMzPeak , double > theFunc = x => x . Mz - bestCf . Item2 . Predict ( new double [ ] { x . Mz , a . RetentionTime , x . Intensity , a . TotalIonCurrent , IsolationMZ } ) ;
354
+ Func < IMzPeak , double > theFunc = x => x . Mz - bestCf . Item2 . Predict ( new double [ ] { x . Mz , a . RetentionTime , x . Intensity , a . TotalIonCurrent , a . InjectionTime . Value , IsolationMZ } ) ;
338
355
339
356
theScan . TranformByApplyingFunctionsToSpectraAndReplacingPrecursorMZs ( theFunc , newSelectedMZ , newMonoisotopicMZ ) ;
340
357
}
341
358
else
342
359
{
343
- Func < IMzPeak , double > theFunc = x => x . Mz - bestCf . Item1 . Predict ( new double [ ] { x . Mz , a . RetentionTime , x . Intensity , a . TotalIonCurrent } ) ;
360
+ Func < IMzPeak , double > theFunc = x => x . Mz - bestCf . Item1 . Predict ( new double [ ] { x . Mz , a . RetentionTime , x . Intensity , a . TotalIonCurrent , a . InjectionTime . Value } ) ;
344
361
a . TransformByApplyingFunctionToSpectra ( theFunc ) ;
345
362
}
346
363
}
0 commit comments