@@ -217,20 +217,37 @@ private Tuple<CalibrationFunction, CalibrationFunction> Calibrate(DataPointAquis
217217 transforms . Add ( new TransformFunction ( b => new double [ ] { b [ 1 ] } , 1 ) ) ;
218218 transforms . Add ( new TransformFunction ( b => new double [ ] { Math . Log ( b [ 2 ] ) } , 1 ) ) ;
219219 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 ) ) ;
220221
221222 transforms . Add ( new TransformFunction ( b => new double [ ] { b [ 0 ] , b [ 1 ] } , 2 ) ) ;
222223 transforms . Add ( new TransformFunction ( b => new double [ ] { b [ 0 ] , Math . Log ( b [ 2 ] ) } , 2 ) ) ;
223224 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 ) ) ;
224226 transforms . Add ( new TransformFunction ( b => new double [ ] { b [ 1 ] , Math . Log ( b [ 2 ] ) } , 2 ) ) ;
225227 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 ) ) ;
226229 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 ) ) ;
227232
228233 transforms . Add ( new TransformFunction ( b => new double [ ] { b [ 0 ] , b [ 1 ] , Math . Log ( b [ 2 ] ) } , 3 ) ) ;
229234 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 ) ) ;
230236 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 ) ) ;
231239 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 ) ) ;
232243
233244 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 ) ) ;
234251
235252 foreach ( var transform in transforms )
236253 {
@@ -324,23 +341,23 @@ private void CalibrateSpectra(Tuple<CalibrationFunction, CalibrationFunction> be
324341 theScan . RecomputeSelectedPeak ( precursorScan . MassSpectrum ) ;
325342 double precursorMZ = theScan . SelectedIonGuessMZ . Value ;
326343 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 } ) ;
328345
329346 if ( ! theScan . SelectedIonGuessMonoisotopicMZ . HasValue || ! theScan . SelectedIonGuessMonoisotopicIntensity . HasValue )
330347 theScan . RecomputeMonoisotopicPeak ( precursorScan . MassSpectrum , 0.01 , 0.3 ) ;
331348 double monoisotopicMZ = theScan . SelectedIonGuessMonoisotopicMZ . Value ;
332349 double monoisotopicIntensity = theScan . SelectedIonGuessMonoisotopicIntensity . Value ;
333350
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 } ) ;
335352
336353 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 } ) ;
338355
339356 theScan . TranformByApplyingFunctionsToSpectraAndReplacingPrecursorMZs ( theFunc , newSelectedMZ , newMonoisotopicMZ ) ;
340357 }
341358 else
342359 {
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 } ) ;
344361 a . TransformByApplyingFunctionToSpectra ( theFunc ) ;
345362 }
346363 }
0 commit comments