QuantBasedAlignment predicts where a peptide ion identified in another run should elute in this run. AlignmentBasedQuantification goes to that place. For every peptide ion in the .align file it extracts an ion chromatogram from the .mzlite file around the predicted scan time, and, with PerformLocalWarp set, moves the scan time estimate by dynamic time warping of the extracted chromatogram against the chromatogram the ion had in the source run. Baseline correction, peak detection, peak fitting and the labeled counterpart work as in PSMBasedQuantification. The result is a .quant file that holds the quantifications of this run's own identifications together with the transferred ones.
Flag |
Meaning |
Comes from |
|---|---|---|
|
.mzlite of the run |
|
|
.align of the run |
|
|
.alignmetric of the run |
|
|
.quant of the same run |
|
|
peptide database (SQLite) |
|
|
output directory, created when missing |
|
|
parameter file (JSON) |
this page |
|
switch: pair the four file lists by base name instead of by position |
|
|
switch: write chromatogram and m/z correction charts |
|
|
number of runs processed in parallel, default 1, in the directory case |
Each of the four input flags takes exactly one path. When -i is an existing file, the tool processes that single run and expects single files for
-ii through -iv as well. When -i and -ii are directories, the tool searches -i for *.mzlite, -ii for *.align, -iii for *.alignmetric and -iv for
*.quant and processes every run it can pair. Without -mf the four file lists are paired by position. With -mf they are paired by file name
without extension, and a run that lacks one of the four files is skipped with a note in the log.
The tool writes <run>.quant into the output directory, a tab separated table with the rows of the input .quant file followed by one row per
transferred peptide ion. The column QuantificationSource tells them apart (PSM or Alignment). AlignmentScore and AlignmentQValue hold NaN
until AlignmentBasedQuantStatistics fills them. The file is also read by
AddDeducedPeptides and
JoinQuantPepIonsWithProteins. Next to it the tool writes <run>.alignquantMetrics, a
table of the alignment metrics in quantification format.
With -dc the chromatograms and the m/z correction go as HTML charts into <run>_plots. Delete an existing <run>.quant or <run>.alignquantMetrics in the
output directory before a rerun, the tool appends to them. Logs go to AlignmentBasedQuantification_log.txt and one <run>_log.txt per run.
Parameter |
Default |
Meaning |
|---|---|---|
PerformLabeledQuantification |
true |
Also extract and quantify the differentially labeled counterpart of every transferred ion. |
PerformLocalWarp |
true |
Refine the predicted scan time by dynamic time warping against the source chromatogram before peak detection. |
XicExtraction |
see below |
How the ion chromatogram is extracted and processed. |
BaseLineCorrection |
Some { MaxIterations = 10; Lambda = 6; P = 0.05 } |
Asymmetric least squares baseline correction of the chromatogram. None switches it off. |
XicExtraction is the same record PSMBasedQuantification uses.
Field |
Default |
Meaning |
|---|---|---|
ScanTimeWindow |
2.0 |
Half width in minutes of the scan time range extracted around the predicted scan time. |
MzWindow_Da |
Window.Estimate |
Keep Window.Estimate. The tool estimates the m/z tolerance from the run itself. |
XicProcessing |
XicProcessing.Wavelet waveletParams |
Peak detection method. The wavelet fields are described on the PSMBasedQuantification page. |
TopKPSMs |
None |
Keep None. Transferred ions have no identifications to rank. |
The default file is AlignmentBasedQuantificationParams.json.
open ProteomIQon
open ProteomIQon.Domain
open FSharp.Stats.Signal
let waveletParams : WaveletParameters =
{
Borderpadding = None
BorderPadMethod = Padding.BorderPaddingMethod.Random
InternalPaddingMethod = Padding.InternalPaddingMethod.LinearInterpolation
HugeGapPaddingMethod = Padding.HugeGapPaddingMethod.Zero
HugeGapPaddingDistance = 100.
MinPeakDistance = None
MinPeakLength = Some 0.1
MaxPeakLength = 1.5
NoiseQuantile = 0.01
MinSNR = 0.01
}
let alignmentBasedQuantificationParams : Dto.AlignmentBasedQuantificationParams =
{
PerformLabeledQuantification = true
PerformLocalWarp = true
XicExtraction =
{
ScanTimeWindow = 2.
MzWindow_Da = Window.Estimate
XicProcessing = XicProcessing.Wavelet waveletParams
TopKPSMs = None
}
BaseLineCorrection = Some { MaxIterations = 10; Lambda = 6; P = 0.05 }
}
// Replace the temp folder with your project folder.
let outputPath =
System.IO.Path.Combine(System.IO.Path.GetTempPath(), "AlignmentBasedQuantificationParams.json")
Json.serializeAndWrite outputPath alignmentBasedQuantificationParams
Install the tool with dotnet tool install --global ProteomIQon.AlignmentBasedQuantification. The four run specific inputs share the run name, so the same base name appears four times.
|
Process every run in a set of directories, paired by position, three at a time.
|
The same, paired by file name.
|
Print the description of every argument.
|