Выровнять пики в сигнале по опорным пикам
IntensitiesOut = msalign(X, Intensities, RefX)
... = msalign(..., 'Rescaling', RescalingValue, ...)
... = msalign(..., 'Weights', WeightsValue, ...)
... = msalign(..., 'MaxShift', MaxShiftValue, ...)
... = msalign(..., 'WidthOfPulses', WidthOfPulsesValue, ...)
... = msalign(..., 'WindowSizeRatio', WindowSizeRatioValue, ...)
... = msalign(..., 'Iterations', IterationsValue, ...)
... = msalign(..., 'GridSteps', GridStepsValue, ...)
... = msalign(..., 'SearchSpace', SearchSpaceValue, ...)
... = msalign(..., 'ShowPlot', ShowPlotValue, ...)
[IntensitiesOut, RefXOut] = msalign(..., 'Group', GroupValue, ...)
X | Вектор единичных значений разделения для набора сигналов с пиками. Число элементов в векторе равно количеству строк в матрице Intensities. Блок разделения может количественно определять длину волны, частоту, расстояние, время или m/z в зависимости от прибора, который генерирует данные сигнала. |
Intensities | Матрица значений интенсивности для набора пиков, которые имеют одинаковый диапазон единиц разделения. Каждая строка соответствует значению единицы разделения, и каждый столбец соответствует либо набору сигналов с пиками, либо времени удержания. Число строк равно количеству элементов в векторе X. |
RefX | Вектор единичных значений известных эталонных масс в сигнале выборки. Совет Для эталонных пиков выберите соединения, которые, как ожидается, не будут иметь значительных сдвигов среди различных сигналов. Например, в масс-спектрометрии выбирают соединения, которые не подвергаются структурному превращению, такие как фосфорилирование. Это повышает точность выравнивания и позволяет обнаруживать соединения, которые демонстрируют структурные преобразования в сигнале образца. |
RescalingValue | Управляет масштабированием X. Варианты: true (по умолчанию) или false. Когда falseвыходной сигнал выравнивается только по опорным пикам с использованием постоянных сдвигов. По умолчанию msalign оценивает коэффициент масштабирования, если RefX содержит только один опорный пик. |
WeightsValue | Вектор положительных значений с тем же количеством элементов, что и RefX. Вектор по умолчанию: ones(size(. |
MaxShiftValue | Двухэлементный вектор, в котором первый элемент отрицательный, а второй элемент положительный, который задает нижний и верхний пределы диапазона, в единицах разделения, относительно каждого пика. Никаких пиковых сдвигов за эти пределы. По умолчанию: [-100 100]. |
WidthOfPulsesValue | Положительное значение, определяющее ширину в единицах разделения для всех гауссовых импульсов, используемых для построения коррелирующего синтетического сигнала. Точка пика, где достигает гауссова импульса 60.65% его максимума устанавливается на ширину, заданную WidthOfPulsesValue. По умолчанию: 10. |
WindowSizeRatioValue | Положительное значение, определяющее масштабный коэффициент, определяющий размер окна вокруг каждого пика трассы. Синтетический сигнал сравнивается с входным сигналом только в этих областях, что экономит время вычисления. Размер окна задается в единицах разделения по WidthOfPulsesValue * WindowSizeRatioValue. По умолчанию: 2.5, что означает, что в пределах окна гауссовы импульсы имеют значение 4.39% от их максимума. |
IterationsValue | Положительное целое число, указывающее число итераций уточнения. При каждой итерации сетка поиска масштабируется для улучшения оценок. По умолчанию: 5. |
GridStepsValue | Положительное целое число, указывающее количество шагов для сетки поиска. В каждой итерации область поиска делится на . По умолчанию: 20. |
SearchSpaceValue | Символьный вектор или строка, указывающая тип пространства поиска. Возможны следующие варианты:
|
ShowPlotValue | Управляет отображением графика исходного и выровненного сигнала над опорными массами, заданными RefX. Варианты: true, false, или I, целое число, указывающее индекс сигнала в Intensities. Если задано значение true, первый сигнал в Intensities выводится на печать. Значение по умолчанию:
|
GroupValue | Управляет созданием RefXOutновый вектор значений единиц разделения для использования в качестве опорных масс для выравнивания пиков. Этот вектор создается путем корректировки значений в RefX, на основе данных выборки из нескольких сигналов в Intensities, так что общее смещение и масштабирование пиков минимизируется. Варианты: true или false (по умолчанию).Совет Набор |
IntensitiesOut | Матрица значений интенсивности для набора пиков, которые имеют одинаковый диапазон единиц разделения. Каждая строка соответствует значению единицы разделения, и каждый столбец соответствует либо набору сигналов с пиками, либо времени удержания. Значения интенсивности представляют сдвиг и масштабирование данных. |
RefXOut | Вектор разделительно-единичных значений эталонных масс, рассчитанный по RefX и данные выборки из нескольких сигналов в Intensities, при установке GroupValue кому true. |
Совет
Используйте следующие синтаксисы с данными любого метода разделения, который производит данные сигнала, такие как спектроскопия, ЯМР, электрофорез, хроматография или масс-спектрометрия.
выравнивает пики в необработанных, шумных данных сигнала, представленных IntensitiesOut = msalign(X, Intensities, RefX)Intensities и X, к контрольным пикам, предоставленным RefX. Во-первых, он создает синтетический сигнал из опорных пиков, используя гауссовы импульсы, центрированные при значениях единиц разделения, заданных RefX. Затем он сдвигает и масштабирует шкалу блока разделения, чтобы найти максимальное выравнивание между входными сигналами и синтетическим сигналом. (Он использует итерационный поиск сетки множественных решений до тех пор, пока не найдет наилучшие коэффициенты масштаба и сдвига для каждого сигнала.) Как только новая шкала разделительной единицы определена, корректируемые сигналы создаются путем повторной выборки их интенсивностей при исходных значениях разделительной единицы, создавая IntensitiesOutвектор или матрица скорректированных значений интенсивности. Метод повторной выборки сохраняет форму пиков.
Совет
msalign функция лучше всего работает с тремя-пятью опорными пиками, которые, как вы знаете, появятся в сигнале. При использовании одного эталонного пика (внутренний стандарт) существует возможность выравнивания пиков образца с неверными эталонными пиками как msalign как масштабирует, так и сдвигает X вектор. При использовании одного опорного пика может потребоваться только смещение X вектор. Для этого используйте .IntensitiesOut = interp1(X, Intensities, X-(ReferencePeak-ExperimentalPeak))
... = msalign(..., ' требования PropertyName', PropertyValue, ...)msalign с необязательными свойствами, использующими пары имя/значение свойства. Можно указать одно или несколько свойств в любом порядке. Каждый PropertyName должен быть заключен в одинарные кавычки и не учитывать регистр. Эти пары имя/значение свойства следующие:
... = msalign(..., 'Rescaling', управляет масштабированием RescalingValue, ...)X. Варианты: true (по умолчанию) или false. Когда falseвыходной сигнал выравнивается только по опорным пикам с использованием постоянных сдвигов. По умолчанию msalign оценивает коэффициент масштабирования, если RefX содержит только один опорный пик.
... = msalign(..., 'Weights', определяет относительный вес для каждой массы в WeightsValue, ...)RefX, вектор опорных значений единиц разделения. WeightsValue - вектор положительных значений с тем же количеством элементов, что и RefX. Вектор по умолчанию: ones(size(, что означает, что каждый опорный пик взвешивается одинаково, так что более интенсивные опорные пики имеют больший эффект в алгоритме выравнивания. Если у вас менее интенсивный опорный пик, вы можете увеличить его вес, чтобы подчеркнуть его больше в алгоритме выравнивания.RefX))
... = msalign(..., 'MaxShift', задает нижний и верхний пределы диапазона в единицах разделения относительно каждого пика. Никаких пиковых сдвигов за эти пределы. MaxShiftValue, ...)MaxShiftValue - двухэлементный вектор, в котором первый элемент отрицательный, а второй - положительный. По умолчанию: [-100 100].
Примечание
Эти значения используются для настройки надежности алгоритма. В идеале следует поддерживать диапазон в пределах максимального ожидаемого сдвига. При попытке исправить большие сдвиги путем увеличения пределов увеличивается возможность выбора неправильных пиков для выравнивания по ссылочным массам.
... = msalign(..., 'WidthOfPulses', определяет ширину в единицах разделения для всех гауссовых импульсов, используемых для построения коррелирующего синтетического сигнала. Точка пика, где достигает гауссова импульса WidthOfPulsesValue, ...)60.65% его максимума устанавливается в ширину, указанную с помощью WidthOfPulsesValue. Выбор - это любое положительное значение. По умолчанию: 10. WidthOfPulsesValue может также быть дескриптором функции. Функция оценивается при соответствующих значениях единиц разделения и возвращает переменную ширину для импульсов. Его оценка должна дать разумные значения от 0 кому max(abs(Range)); в противном случае функция возвращает ошибку.
Примечание
Настройка разброса гауссовых импульсов управляет компромиссом между устойчивостью (более широкие импульсы) и точностью (более узкие импульсы). Однако распространение импульсов не связано с формой наблюдаемых пиков в сигнале. Целью расширения импульса является управление алгоритмом оптимизации.
... = msalign(..., 'WindowSizeRatio', задает коэффициент масштабирования, определяющий размер окна вокруг каждого пика трассы. Синтетический сигнал сравнивается с сигналом выборки только в этих областях, что экономит время вычисления. Размер окна задается в единицах разделения по WindowSizeRatioValue, ...). Выбор - это любое положительное значение. По умолчанию: WidthOfPulsesValue * WindowSizeRatioValue2.5, что означает, что в пределах окна гауссовы импульсы имеют значение 4.39% от их максимума.
... = msalign(..., 'Iterations', указывает количество итераций уточнения. При каждой итерации сетка поиска масштабируется для улучшения оценок. Варианты представляют собой любое положительное целое число. По умолчанию: IterationsValue, ...)5.
... = msalign(..., 'GridSteps', определяет количество шагов для сетки поиска. В каждой итерации область поиска делится на GridStepsValue, ...). Варианты представляют собой любое положительное целое число. По умолчанию: GridStepsValue^220.
... = msalign(..., 'SearchSpace', указывает тип пространства поиска. Возможны следующие варианты:SearchSpaceValue, ...)
'regular' - По умолчанию. Равномерно разнесенная решетка.
'latin' - Случайный латинский гиперкуб с GridStepsValue^ 2 образца.
... = msalign(..., 'ShowPlot', управляет отображением графика исходного и выровненного сигнала над опорными массами, указанными ShowPlotValue, ...)RefX. Варианты: true, false, или I, целое число, указывающее индекс сигнала в Intensities. Если установлено значение true, первый сигнал в Intensities выводится на печать. Значение по умолчанию:
false - Когда указаны возвращаемые значения.
true - Когда возвращаемые значения не указаны.
[ управляет созданием IntensitiesOut, RefXOut] = msalign(..., 'Group', GroupValue, ...)RefXOutновый вектор значений единиц разделения для использования в качестве опорных масс для выравнивания пиков. Этот вектор создается путем корректировки значений в RefX, на основе данных выборки из нескольких сигналов в Intensities, так что общее смещение и масштабирование пиков минимизируется. Варианты: true или false (по умолчанию).
Совет
Набор GroupValue кому true только если Intensities содержит данные для большого количества сигналов, и вы не уверены в значениях единиц разделения, используемых для контрольных пиков в RefX. Отпуск GroupValue установить в значение false если вы уверены в значениях единиц разделения, используемых для контрольных пиков в RefX.
Загрузите MAT-файл, включенный в программное обеспечение Bioinformatics Toolbox™, который содержит данные образцов, эталонные массы и данные параметров для синтетической ширины пика.
load sample_lo_res
R = [3991.4 4598 7964 9160];
W = [60 100 60 100];Отображение цветного изображения масс-спектров перед выравниванием.
msheatmap(MZ_lo_res,Y_lo_res,'markers',R,'range',[3000 10000]) title('before alignment')

Выравнивание спектров по эталонным массам и отображение цветного изображения масс-спектров после выравнивания.
YA = msalign(MZ_lo_res,Y_lo_res,R,'weights',W); msheatmap(MZ_lo_res,YA,'markers',R,'range',[3000 10000]) title('after alignment')

Не рекомендуется использовать msalign функция, если имеется только один опорный пик. Вместо этого используйте следующую процедуру, которая сдвигает X входной вектор, но не масштабирует его.
Загрузите данные выборки и просмотрите первый спектр выборки.
load sample_lo_res
MZ = MZ_lo_res;
Y = Y_lo_res(:,1);
msviewer(MZ, Y)
Используйте высокий пик около 4000 м/з в качестве опорного пика. Чтобы определить значение m/z опорного пика, щелкните
значок, а затем, удерживая нажатой кнопку мыши, увеличьте масштаб пика. Щелкните правой кнопкой мыши по центру пика и выберите «Добавить маркер», чтобы пометить пик значением m/z.

Сдвиг спектра на разницу между RP, известную эталонную массу 4000 м/з, и SP, экспериментальная масса 4051,14 м/з.
RP = 4000; SP = 4051.14; YOut = interp1(MZ, Y, MZ-(RP-SP));
Постройте график исходного спектра красным цветом и смещенного спектра синим цветом и увеличьте изображение опорного пика.
plot(MZ,Y,'r',MZ,YOut,'b:') xlabel('Mass/Charge (M/Z)') ylabel('Relative Intensity') legend('Y','YOut') axis([3600 4800 -2 60])

[1] Monchamp, P., Andrade-Cetto, L., Zhang, J.Y. и Henson, R. (2007) Методы обработки сигналов для масс-спектрометрии. В системной биоинформатике: инженерный кейс-основанный подход, Г. Альтеровиц и М. Ф. Рамони, ред. (Artech House Publishers).
msalign | msbackadj | msdotplot | msheatmap | mslowess | msnorm | mspalign | mspeaks | msppresample | msresample | mssgolay | msviewer