Выравнивание peaks в сигнале к опорному peaks
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 | Вектор значений единиц разделения для набора сигналов с peaks. Количество элементов в векторе равняется количеству строк в матрице Intensities . Модуль разделения может количественно определить длину волны, частоту, расстояние, время или m/z в зависимости от прибора, который генерирует данные сигнала. |
Intensities | Матрица значений интенсивности для набора пиков, которые имеют одну и ту же область значений единиц разделения. Каждая строка соответствует значению единицы разделения, и каждый столбец соответствует либо набору сигналов с peaks, либо времени удержания. Количество строк равняется количеству элементов в векторе X . |
RefX | Вектор значений в единицах разделения известных эталонных масс в сигнале дискретизации. Совет Для эталонного peaks выберите соединения, которые, как ожидается, не будут иметь значительных сдвигов среди различных сигналов. Например, в масс-спектрометрии выбирают соединения, которые не подвергаются структурному преобразованию, такие как фосфорилирование. Это увеличивает точность выравнивания и позволяет вам обнаружить соединения, которые показывают структурные преобразования среди сигнала выборки. |
RescalingValue | Управляет перемасштабированием X . Варианты true (по умолчанию) или false . Когда false сигнал выхода выравнивается только к ссылке peaks с помощью постоянных сдвигов. По умолчанию msalign оценивает коэффициент преобразования, если только RefX содержит только один эталонный пик. |
WeightsValue | Вектор положительных значений с таким же количеством элементов, как и RefX . Вектор по умолчанию является таковыми (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 , новый вектор значений единиц разделения, которые будут использоваться в качестве базовых масс для выравнивания peaks. Этот вектор создается путем корректировки значений в RefX , на основе выборочных данных из нескольких сигналов в Intensities , таким образом, общая перемена и масштабирование peaks сведено к минимуму. Варианты true или false (по умолчанию).Совет Задайте |
IntensitiesOut | Матрица значений интенсивности для набора пиков, которые имеют одну и ту же область значений единиц разделения. Каждая строка соответствует значению единицы разделения, и каждый столбец соответствует либо набору сигналов с peaks, либо времени удержания. Значения интенсивности представляют перемену и масштабирование данных. |
RefXOut | Вектор значений единиц разделения ссылки масс, вычисленных из RefX и выборочные данные из нескольких сигналов в Intensities , когда вы задаете GroupValue на true . |
Совет
Используйте следующие синтаксисы с данными любого метода разделения, который производит сигнальные данные, такие как спектроскопия, ЯМР, электрофорез, хроматография или масс-спектрометрия.
выравнивает пики в необработанных, шумных сигнальных данных, представленных IntensitiesOut
=
msalign(X
, Intensities
, RefX
)Intensities
и X
, для ссылок на peaks, предоставляемые RefX
. Во-первых, он создает синтетический сигнал от опорного peaks, используя Гауссовы импульсы с центром в значениях единиц разделения, заданных RefX
. Затем он смещает и масштабирует шкалу блока разделения, чтобы найти максимальное выравнивание между входными сигналами и синтетическим сигналом. (Он использует итерационный поиск сетки мультиразрешения, пока не найдет лучшие шкалы и сдвига для каждого сигнала.) После определения новой шкалы единиц разделения исправленные сигналы создаются путем повторной дискретизации их интенсивности при исходных значениях единиц разделения, создания IntensitiesOut
, вектор или матрица скорректированных значений интенсивности. Способ повторной дискретизации сохраняет форму peaks.
Совет
The msalign
функция лучше всего работает с тремя-пятью эталонными peaks, которые, как вы знаете, появятся в сигнале. Если вы используете один эталонный пик (внутренний стандарт), существует вероятность выравнивания peaks выборок к неправильным эталонным достигать максимума как msalign
и шкалы, и сдвиги X
вектор. Если используется один опорный пик, вам может потребоваться только сдвинуть X
вектор. Для этого используйте
.IntensitiesOut
= interp1 (X
, Intensities
, X
- (ReferencePeak
- ExperimentalPeak
))
... = msalign (...,
вызывает 'PropertyName
', PropertyValue
, ...)msalign
с необязательными свойствами, которые используют пары имя/значение свойства. Можно задать одно или несколько свойств в любом порядке. Каждый PropertyName
должны быть заключены в одинарные кавычки и нечувствительны к регистру. Эти имена свойства/пары значения свойств следующие:
... = msalign(..., 'Rescaling',
управляет перемасштабированием RescalingValue
,
...)X
. Варианты true
(по умолчанию) или false
. Когда false
сигнал выхода выравнивается только к ссылке peaks с помощью постоянных сдвигов. По умолчанию msalign
оценивает коэффициент преобразования, если только RefX
содержит только один эталонный пик.
... = msalign(..., 'Weights',
задает относительный вес для каждой массы в WeightsValue
,
...)RefX
, вектор ссылочных значений единиц разделения. WeightsValue
является вектором положительных значений с таким же количеством элементов, как RefX
. Вектор по умолчанию является таковыми (size
, что означает, что каждый эталонный пик взвешивается одинаково, так что более интенсивный эталонный peaks имеют больший эффект в алгоритме выравнивания. Если у вас менее интенсивный эталонный пик, можно увеличить его вес, чтобы подчеркнуть его больше в алгоритме выравнивания.(RefX
))
... = msalign(..., 'MaxShift',
задает нижний и верхний пределы области значений в единицах разделения относительно каждого пика. Никаких пиковых сдвигов за эти пределы. MaxShiftValue
,
...)MaxShiftValue
является двухэлементным вектором, в котором первый элемент отрицателен, а второй элемент положителен. По умолчанию это [-100 100]
.
Примечание
Используйте эти значения, чтобы настроить робастность алгоритма. В идеале следует держать область значений в пределах максимального ожидаемого сдвига. Если вы пытаетесь исправить большие сдвиги путем увеличения пределов, вы увеличиваете возможность выбора неправильного peaks для выравнивания по ссылочным массам.
... = msalign(..., 'WidthOfPulses',
задает ширину в единицах разделения для всех Гауссовых импульсов, используемых для построения коррелирующего синтетического сигнала. Точка пика, где Гауссов импульс достигает WidthOfPulsesValue
,
...)60.65
% от его максимума задается ширина, заданная с помощью WidthOfPulsesValue
. Выбор является любым положительным значением. По умолчанию это 10
. WidthOfPulsesValue
может также быть указателем на функцию. Функция оценивается по соответствующим значениям единиц разделения и возвращает переменную ширину для импульсов. Ее оценка должна дать разумные значения от 0
на max(abs(Range))
; в противном случае функция возвращает ошибку.
Примечание
Настройка распространения Гауссовых импульсов управляет компромиссом между робастностью (более широкие импульсы) и точностью (более узкие импульсы). Однако распространение импульсов не связано с формой наблюдаемого peaks в сигнале. Цель импульсного спреда состоит в том, чтобы управлять алгоритмом оптимизации.
... = msalign(..., 'WindowSizeRatio',
задает коэффициент масштабирования, который определяет размер окна вокруг каждого пика выравнивания. Синтетический сигнал сравнивается с выборочным сигналом только в этих областях, что экономит время расчета. Размер окна задается в единицах разделения WindowSizeRatioValue
,
...)
. Выбор является любым положительным значением. По умолчанию это WidthOfPulsesValue
* WindowSizeRatioValue
2.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
, новый вектор значений единиц разделения для использования в качестве базовых масс для выравнивания peaks. Этот вектор создается путем корректировки значений в RefX
, на основе выборочных данных из нескольких сигналов в Intensities
, таким образом, общая перемена и масштабирование peaks сведено к минимуму. Варианты true
или false
(по умолчанию).
Совет
Задайте GroupValue
на true
только если Intensities
содержит данные для большого количества сигналов, и вы не уверены в значениях единиц разделения, используемых для вашей ссылки peaks в 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 м/z в качестве ссылки пика. Чтобы определить значение m/z опорного пика, щелкните, а затем щелкните, удерживая мышью, чтобы увеличить пик. Щелкните правой кнопкой мыши по центру пика и затем щелкните Add Marker, чтобы пометить пик со значением m/z.
Сдвиньте спектр на различие между RP
, известную контрольную массу 4000 м/z и 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., and Henson, R. (2007) Signal Processing Methods for Mass Spectrometry. В Systems Bioinformatics: Инженерный кейс-основанный подход, G. Alterovitz и M.F. Ramoni, eds. (Artech House Publishers).
msalign
| msbackadj
| msdotplot
| msheatmap
| mslowess
| msnorm
| mspalign
| mspeaks
| msppresample
| msresample
| mssgolay
| msviewer