pdbsuperpose

Наложите 3-D структуры двух белков

Синтаксис

pdbsuperpose(PDB1, PDB2)
Dist = pdbsuperpose(PDB1, PDB2)
[Dist, RMSD] = pdbsuperpose(PDB1, PDB2)
[Dist, RMSD, Transf] = pdbsuperpose(PDB1, PDB2)
[Dist, RMSD, Transf, PBD2TX] = pdbsuperpose(PDB1, PDB2)
... = pdbsuperpose(..., 'ModelNum', ModelNumValue, ...)
... = pdbsuperpose(..., 'Scale', ScaleValue, ...)
... = pdbsuperpose(..., 'Translate', TranslateValue, ...)
... = pdbsuperpose(..., 'Reflection', ReflectionValue, ...)
... = pdbsuperpose(..., 'SeqAlign', SeqAlignValue, ...)
... = pdbsuperpose(..., 'Segment', SegmentValue, ...)
... = pdbsuperpose(..., 'Apply', ApplyValue, ...)
... = pdbsuperpose(..., 'Display', DisplayValue, ...)

Входные параметры

PDB1, PDB2

Структуры белка, представленные любым следующим:

  • Вектор символов или строка, задающая уникальный идентификатор для структуры белка, записывают в базе данных Protein Data Bank (PDB).

  • Переменная, содержащая PDB-отформатированную структуру MATLAB®, такой, как возвращено getpdb или pdbread.

  • Вектор символов или строка, задающая имя файла или, путь и имя файла. Файл, на который ссылаются, является PDB-отформатированным файлом. Если вы задаете только имя файла, тот файл должен быть на пути поиска файлов MATLAB или в Текущей папке MATLAB.

ModelNumValue

Двухэлементный числовой массив, элементы которого соответствуют моделям в PDB1 и PDB2 соответственно, когда PDB1 или PDB2 содержит многоуровневые модели. Это задает модели, чтобы рассмотреть в суперпозиции. По умолчанию первая модель в каждой структуре рассматривается.

ScaleValue

Задает, включать ли масштабирующийся компонент в линейное преобразование. Выбором является true или false (значение по умолчанию).

TranslateValue

Задает, включать ли компонент перевода в линейное преобразование. Выбором является true (значение по умолчанию) или false.

ReflectionValue

Задает, включать ли отражательный компонент в линейное преобразование. Выбор:

  • true — Включайте отражательный компонент.

  • false — Исключите отражательный компонент.

  • 'best' — Значение по умолчанию. Май или не может включать отражательный компонент, в зависимости от лучшего подходящего решения.

SeqAlignValue

Задает, выполнить ли локальное выравнивание последовательности и затем использовать только фрагменты структур, соответствующих сегментам, которые выравниваются, чтобы вычислить линейное преобразование. Выбором является true (значение по умолчанию) или false.

Примечание

Если вы устанавливаете 'SeqAlign' свойство к true, можно также задать следующие свойства, используемые swalign функция:

  • 'ScoringMatrix'

  • 'GapOpen'

  • 'ExtendGap'

Для получения дополнительной информации об этих свойствах смотрите swalign.

SegmentValue

Задает контуры и цепь двух подпоследовательностей, чтобы рассмотреть для вычисления линейного преобразования. SegmentValue массив ячеек из символьных векторов со следующим форматом:

{'start1-stop1:chain1', 'start2-stop2:chain2'}

Можно не использовать контуры, чтобы указать на целую цепь, такой как в {'chain1', 'start2-stop2:chain2'}. Можно задать только одну пару сегментов в любой момент времени, и заданные сегменты приняты, чтобы содержать то же количество альфа-атомов углерода.

ApplyValue

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

  • 'all' — Значение по умолчанию. Примените линейное преобразование к целой структуре PDB2.

  • 'chain' — Примените линейное преобразование к заданной цепи только.

  • 'segment' — Примените линейное преобразование к заданному сегменту только.

DisplayValue

Задает, отобразить ли исходный PDB1 структура и получившийся преобразованный PDB2TX структура в окне Molecule Viewer с помощью molviewer функция. Каждая структура представлена как отдельная модель. Выбором является true (значение по умолчанию) или false.

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

Dist

Значение, представляющее меру по несходству, данную суммой квадратичных невязок между PDB1 и PDB2. Для получения дополнительной информации смотрите procrustes.

RMSD

Скаляр, представляющий среднеквадратичное расстояние между координатами PDB1 структура и преобразованный PDB2 структура, рассматривая только атомы использовалась для расчета линейного преобразования.

Transf

Линейное преобразование, вычисленное, чтобы наложить цепь PDB2 к цепи PDB1. Transf структура MATLAB со следующими полями:

  • T — Ортогональное вращение и отражательный компонент.

  • b — Компонент шкалы.

  • c — Компонент перевода.

Примечание

Только альфа-координаты атома углерода используются для расчета линейное преобразование.

Совет

Можно использовать Transf выведите, как введено к pdbtransform функция.

PDB2TX PDB-отформатированная структура MATLAB, которая представляет координаты в преобразованном PDB2 структура белка.

Описание

pdbsuperpose(PDB1, PDB2) вычисляет и применяет линейное преобразование, чтобы наложить координаты структуры белка, представленной в PDB2 к координатам структуры белка, представленной в PDB1. PDB1 и PDB2 структуры белка, представленные любым следующим:

  • Вектор символов или строка, задающая уникальный идентификатор для структуры белка, записывают в базе данных PDB.

  • Переменная, содержащая PDB-отформатированную структуру MATLAB, такой, как возвращено getpdb или pdbread.

  • Вектор символов или строка, задающая имя файла или путь и имя файла. Файл, на который ссылаются, является PDB-отформатированным файлом. Если вы задаете только имя файла, тот файл должен быть на пути поиска файлов MATLAB или в Текущей папке MATLAB.

Альфа-координаты атома углерода одной цепей для каждой структуры, как рассматривается, вычисляют линейное преобразование (перевод, отражение, ортогональное вращение, и масштабирующийся). По умолчанию первая цепь в каждой структуре, как рассматривается, вычисляет преобразование, и преобразование применяется к целой молекуле. По умолчанию, исходный PDB1 структура и получившийся преобразованный PDB2 структура отображена как отдельные модели в окне Molecule Viewer с помощью molviewer функция.

Dist = pdbsuperpose(PDB1, PDB2) возвращает меру по несходству, данную суммой квадратичных невязок между PDB1 и PDB2. Для получения дополнительной информации смотрите procrustes.

[Dist, RMSD] = pdbsuperpose(PDB1, PDB2) также возвращает RMSD, среднеквадратичное расстояние между координатами PDB1 структура и преобразованный PDB2 структура, рассматривая только атомы использовалась для расчета линейного преобразования.

[Dist, RMSD, Transf] = pdbsuperpose(PDB1, PDB2) также возвращает Transf, линейное преобразование, вычисленное, чтобы наложить цепь PDB2 к цепи PDB1. Transf структура MATLAB со следующими полями:

  • T — Ортогональное вращение и отражательный компонент.

  • b — Компонент шкалы.

  • c — Компонент перевода.

Примечание

Только альфа-координаты атома углерода используются для расчета линейное преобразование.

[Dist, RMSD, Transf, PBD2TX] = pdbsuperpose(PDB1, PDB2) также возвращает PBD2TX, PDB-отформатированная структура MATLAB, которая представляет координаты в преобразованном PDB2 структура белка.

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

... = pdbsuperpose(..., 'ModelNum', ModelNumValue, ...) задает модели, чтобы рассмотреть в суперпозиции когда PDB1 или PDB2 содержит многоуровневые модели. ModelNumValue двухэлементный числовой массив, элементы которого соответствуют моделям в PDB1 и PDB2 соответственно. По умолчанию первая модель в каждой структуре рассматривается.

... = pdbsuperpose(..., 'Scale', ScaleValue, ...) задает, включать ли масштабирующийся компонент в линейное преобразование. Выбором является true или false (значение по умолчанию).

... = pdbsuperpose(..., 'Translate', TranslateValue, ...) задает, включать ли компонент перевода в линейное преобразование. Выбором является true (значение по умолчанию) или false.

... = pdbsuperpose(..., 'Reflection', ReflectionValue, ...) задает, включать ли отражательный компонент в линейное преобразование. Выбором является true (включайте отражательный компонент), false (исключите отражательный компонент), или 'best' (может или может не включать отражательный компонент, в зависимости от лучшего подходящего решения). Значением по умолчанию является 'best'.

... = pdbsuperpose(..., 'SeqAlign', SeqAlignValue, ...) задает, выполнить ли локальное выравнивание последовательности и затем использовать только фрагменты структур, соответствующих сегментам, которые выравниваются, чтобы вычислить линейное преобразование. Выбором является true (значение по умолчанию) или false.

Примечание

Если вы устанавливаете 'SeqAlign' свойство к true, можно также задать следующие свойства, используемые swalign функция:

  • 'ScoringMatrix'

  • 'GapOpen'

  • 'ExtendGap'

Для получения дополнительной информации об этих свойствах смотрите swalign.

... = pdbsuperpose(..., 'Segment', SegmentValue, ...) задает контуры и цепь двух подпоследовательностей, чтобы рассмотреть для вычисления линейного преобразования. SegmentValue массив ячеек из символьных векторов со следующим форматом: {'start1-stop1:chain1', 'start2-stop2:chain2'}. Можно не использовать контуры, чтобы указать на целую цепь, такой как в {'chain1', 'start2-stop2:chain2'}. Можно задать только одну пару сегментов в любой момент времени, и заданные сегменты приняты, чтобы содержать то же количество альфа-атомов углерода.

... = pdbsuperpose(..., 'Apply', ApplyValue, ...) задает степень, к которой должно быть применено линейное преобразование. Выбором является 'all' (примените линейное преобразование к целой структуре PDB2), 'chain' (примените линейное преобразование только к заданной цепи), или 'segment' (примените линейное преобразование только к заданному сегменту). Значением по умолчанию является 'all'.

... = pdbsuperpose(..., 'Display', DisplayValue, ...) задает, отобразить ли исходный PDB1 структура и получившийся преобразованный PDB2TX структура в окне Molecule Viewer с помощью molviewer функция. Каждая структура представлена как отдельная модель. Выбором является true (значение по умолчанию) или false.

Примеры

Пример 55. Накладывание двух структур гемоглобина
  1. Используйте getpdb функция, чтобы получить данные о структуре белка от базы данных Protein Data Bank (PDB) для двух структур гемоглобина.

    str1 = getpdb('1dke');
    str2 = getpdb('4hhb');
    
  2. Наложите первую модель двух структур гемоглобина, применив преобразование к целой молекуле.

    d = pdbsuperpose(str1, str2, 'model', [1 1], 'apply', 'all');
    
  3. Наложите две структуры гемоглобина (каждый содержащий четыре цепи), вычислив и применив цепь линейного преобразования цепью. Не отображайте структуры.

    strtx = str2;
    chainList1 = {str1.Sequence.ChainID};
    chainList2 = {str2.Sequence.ChainID};
    for i = 1:4
        [d(i), rmsd(i), tr(i), strtx] = pdbsuperpose(str1, strtx,  ...
                               'segment', {chainList1{i}; chainList2{i}}, ...
                               'apply', 'chain', 'display', false);
    end
Пример 56. Накладывание двух цепей структуры Thioredoxin

Наложите цепь B на цепи thioredoxin структуры (PDBID = 2trx), и затем примените преобразование только к цепи B.

[d, rmsd, tr] = pdbsuperpose('2trx', '2trx', 'segment', {'A', 'B'}, ...
                             'apply', 'chain')

d =

    0.0028

rmsd =

    0.6604

tr = 

    T: [3x3 double]
    b: 1
    c: [109x3 double]
Пример 57. Накладывание двух структур кальмодулина

Наложите две структуры кальмодулина согласно линейному преобразованию, полученному с помощью два 20 сегментов длиной в остаток.

pdbsuperpose('1a29', '1cll', 'segment', {'10-30:A', '10-30:A'})

ans =

    0.1945

Смотрите также

| | | | |

Представленный в R2008b