msalign

Выровняйте 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, который совместно использует ту же область значений разделительного модуля. Каждая строка соответствует разделительной стоимости единицы, и каждый столбец соответствует или набору сигналов с peaks или время задержания. Количество строк равняется числу элементов в векторном X.
RefXВектор из разделительных стоимостей единицы известных ссылочных масс в демонстрационном сигнале.

Совет

Для ссылочного peaks выберите составные объекты, которые, как ожидают, не будут иметь значительные сдвиги среди различных сигналов. Например, в масс-спектрометрии, выберите составные объекты, которые не подвергаются структурному преобразованию, такому как фосфорилирование. Выполнение так увеличивает точность вашего выравнивания и позволяет вам обнаружить составные объекты, которые показывают структурные преобразования среди демонстрационного сигнала.

RescalingValueУправляет перемасштабированием X. Выбором является true (значение по умолчанию) или false. Когда false, выходной сигнал выравнивается только к ссылочному peaks при помощи постоянных сдвигов. По умолчанию, msalign оценивает перемасштабирующий фактор, если RefX содержит только один ссылочный пик.
WeightsValueВектор из положительных значений, с тем же числом элементов как RefX. Вектор по умолчанию является единицами (размер (RefX)).
MaxShiftValueДвухэлементный вектор, в котором первый элемент отрицателен и второй элемент, положителен, который задает нижние и верхние пределы области значений, в разделительных модулях, относительно каждого пика. Никакой пик не переключает вне этих пределов. Значением по умолчанию является [-100 100].
WidthOfPulsesValueПоложительное значение, которое задает ширину в разделительных модулях, для всех Гауссовых импульсов раньше создавало сигнал синтетического продукта корреляции. Точка пика, где Гауссов импульс достигает 60.65% из его максимума установлен в ширину, заданную WidthOfPulsesValue. Значением по умолчанию является 10.
WindowSizeRatioValueПоложительное значение, которое задает масштабный коэффициент, который определяет размер окна вокруг каждого пика выравнивания. Синтетический сигнал сравнивается с входным сигналом только в этих областях, который сохраняет время вычисления. Размер окна дан в разделительных модулях WidthOfPulsesValue * WindowSizeRatioValue. Значением по умолчанию является 2.5, что означает в пределах окна, Гауссовы импульсы имеют значение 4.39% из их максимума.
IterationsValueПоложительное целое число, которое задает количество совершенствования итераций. В каждой итерации поисковая сетка уменьшена масштаб, чтобы улучшить оценки. Значением по умолчанию является 5.
GridStepsValueПоложительное целое число, которое задает количество шагов для поисковой сетки. В каждой итерации область поиска разделена на GridStepsValue^2. Значением по умолчанию является 20.
SearchSpaceValue

Вектор символов или строка, которая задает тип пространства поиска. Выбор:

  • 'regular' — Значение по умолчанию. Равномерно распределенная решетка.

  • 'latin' — Случайный латинский гиперкуб с GridStepsValue^2 выборки.

ShowPlotValueУправляет отображением графика исходного и выровненного сигнала по ссылочным массам, заданным RefX. Выбором является trueложь, или I, целое число, задающее индекс сигнала в Intensities. Если вы устанавливаете на true, первый сигнал в Intensities построен. Значение по умолчанию:
  • false — Когда возвращаемые значения заданы.

  • true — Когда возвращаемые значения не заданы.

GroupValueУправляет созданием RefXOut, новый вектор из разделительных стоимостей единицы, которые будут использоваться в качестве ссылочных масс для выравнивания peaks. Этот вектор создается путем корректировки значений в RefX, на основе выборочных данных от нескольких сигналов в Intensities, таким образом, что полная перемена и масштабирование peaks минимизированы. Выбором является true или false (значение по умолчанию).

Совет

Установите GroupValue к true только если Intensities содержит данные для большого количества сигналов, и вы не уверены в разделительных стоимостях единицы, используемых для вашего ссылочного peaks в RefX. Оставьте GroupValue установите на false если вы уверены в разделительных стоимостях единицы, используемых для вашего peaks ссылки в RefX.

Выходные аргументы

IntensitiesOut

Матрица значений интенсивности для набора peaks, который совместно использует ту же область значений разделительного модуля. Каждая строка соответствует разделительной стоимости единицы, и каждый столбец соответствует или набору сигналов с peaks или время задержания. Значения интенсивности представляют перемену и масштабирование данных.

RefXOutВектор из разделительных стоимостей единицы ссылочных масс, вычисленных от RefX и выборочные данные от нескольких сигналов в Intensities, когда вы устанавливаете GroupValue к true.

Описание

Совет

Используйте следующие синтаксисы с данными из любого разделительного метода, который производит данные сигнала, такие как спектроскопия, NMR, электрофорез, хроматография или масс-спектрометрия.

IntensitiesOut = msalign(X, Intensities, RefX) выравнивает peaks в сырых данных, данных о сигнале с шумом, представленных Intensities и X, к ссылочному peaks, обеспеченному RefX. Во-первых, это создает синтетический сигнал из ссылочного peaks с помощью Гауссовых импульсов, сосредоточенных по разделительным стоимостям единицы, заданным RefX. Затем это переключает и масштабирует шкалу разделительного модуля, чтобы найти максимальное выравнивание между входными сигналами и синтетическим сигналом. (Это использует итеративный поиск сетки мультиразрешения, пока это не находит лучшие масштабные коэффициенты и коэффициенты сдвига для каждого сигнала.), Если новая шкала разделительного модуля определяется, откорректированные сигналы создаются путем передискретизации их интенсивности по исходным разделительным стоимостям единицы, создания IntensitiesOut, вектор или матрица откорректированных значений интенсивности. Метод передискретизации сохраняет форму peaks.

Совет

msalign функция работает лучше всего с тремя - пятью ссылочными peaks, которые вы знаете, появится в сигнале. Если вы используете один ссылочный пик (внутренний стандарт), существует возможность выравнивания демонстрационного peaks к peaks неправильной ссылки как msalign и шкалы и сдвиги X вектор. При использовании одного ссылочного пика вы можете должны быть только переключить X вектор. Для этого используйте IntensitiesOut = interp1 (X, IntensitiesX- (ReferencePeak- ExperimentalPeak)).

... = msalign (..., 'PropertyName', PropertyValue, ...) вызовы msalign с дополнительными свойствами, которые используют имя свойства / пары значения свойства. Можно задать одно или несколько свойств в любом порядке. Каждый PropertyName должен быть заключен в одинарные кавычки и нечувствительный к регистру. Это имя свойства / пары значения свойства следующие:

... = msalign(..., 'Rescaling', RescalingValue, ...) управляет перемасштабированием X. Выбором является true (значение по умолчанию) или false. Когда false, выходной сигнал выравнивается только к ссылочному peaks при помощи постоянных сдвигов. По умолчанию, msalign оценивает перемасштабирующий фактор, если RefX содержит только один ссылочный пик.

... = msalign(..., 'Weights', WeightsValue, ...) задает относительный вес для каждой массы в RefX, вектор из ссылочных разделительных стоимостей единицы. WeightsValue вектор из положительных значений, с тем же числом элементов как RefX. Вектор по умолчанию является единицами (размер (RefX)), что означает, что каждый ссылочный пик взвешивается одинаково, так, чтобы более интенсивный ссылочный peaks оказал большее влияние в алгоритме выравнивания. Если у вас есть менее интенсивный ссылочный пик, можно увеличить его вес, чтобы подчеркнуть его больше в алгоритме выравнивания.

... = 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^2. Выбором является любое положительное целое число. Значением по умолчанию является 20.

... = msalign(..., 'SearchSpace', SearchSpaceValue, ...) задает тип пространства поиска. Выбор:

  • 'regular' — Значение по умолчанию. Равномерно распределенная решетка.

  • 'latin' — Случайный латинский гиперкуб с GridStepsValue^2 выборки.

... = msalign(..., 'ShowPlot', ShowPlotValue, ...) управляет отображением графика исходного и выровненного сигнала по ссылочным массам, заданным RefX. Выбором является trueложь, или 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 если вы уверены в разделительных стоимостях единицы, используемых для вашего peaks ссылки в RefX.

Примеры

Пример 44. Выравнивание массового спектра с тремя или больше ссылочными Peaks
  1. Загрузите MAT-файл, включенный с программным обеспечением Bioinformatics Toolbox™, которое содержит выборочные данные, ссылочные массы и данные о параметре для синтетической пиковой ширины.

    load sample_lo_res
    R = [3991.4 4598 7964 9160];
    W = [60 100 60 100];
  2. Отобразите цветное изображение массовых спектров перед выравниванием.

    msheatmap(MZ_lo_res,Y_lo_res,'markers',R,'range',[3000 10000])
    title('before alignment')

  3. Выровняйте спектры со ссылочными массами и отобразите цветное изображение массовых спектров после выравнивания.

    YA = msalign(MZ_lo_res,Y_lo_res,R,'weights',W);
    msheatmap(MZ_lo_res,YA,'markers',R,'range',[3000 10000])
    title('after alignment')

Пример 45. Выравнивание массового спектра с одним ссылочным пиком

Не рекомендуется использовать msalign функционируйте, если у вас есть только один ссылочный пик. Вместо этого используйте следующую процедуру, которая переключает X входной вектор, но не масштабирует его.

  1. Загрузите выборочные данные и просмотрите первый демонстрационный спектр.

    load sample_lo_res
    MZ = MZ_lo_res;
    Y = Y_lo_res(:,1);
    msviewer(MZ, Y)

  2. Используйте высокий пик приблизительно 4 000 m/z в качестве ссылочного пика. Чтобы определить m/z значение ссылочного пика, щелкните, и затем перетащите нажатие кнопки, чтобы увеличить масштаб пика. Щелкните правой кнопкой по центру пика, и затем нажмите Add Marker, чтобы пометить пик его m/z значением.


  3. Переключите спектр различием между RP, известная ссылочная масса 4000 m/z и SP, экспериментальная масса 4051.14 m/z.

    RP = 4000;
    SP = 4051.14;
    YOut = interp1(MZ, Y, MZ-(RP-SP));
  4. Постройте исходный спектр красного цвета и переключенный на нижний регистр синий спектр и увеличьте масштаб ссылочного пика.

    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., Андрэйд-Сетто, L., Чжан, J.Y., и Хэнсон, R. (2007) Методы Обработки сигналов для Масс-спектрометрии. В Системной Биоинформатике: Технический Основанный на случае Подход, Г. Алтеровиц и М.Ф. Рамони, редакторы (Издатели Дома Artech).

Представлено до R2006a