Наложение 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 | Белковые структуры, представленные любым из следующих:
|
ModelNumValue | Двухэлементный числовой массив, элементы которого соответствуют моделям в |
ScaleValue | Определяет, включать ли компонент масштабирования в линейное преобразование. Варианты |
TranslateValue | Определяет, включать ли компонент преобразования в линейное преобразование. Варианты |
ReflectionValue | Определяет, включать ли компонент отражения в линейное преобразование. Варианты:
|
SeqAlignValue | Определяет, выполнять ли выравнивание локального последовательности и затем использовать только фрагменты структур, соответствующие сегментам, которые выравниваются, для вычисления линейного преобразования. Варианты |
SegmentValue | Задает контуры и цепь из двух подпоследовательностей, которые нужно учитывать для вычисления линейного преобразования.
Можно опустить контуры, чтобы указать всю цепь, например, в |
ApplyValue | Задает степень применения линейного преобразования. Варианты:
|
DisplayValue | Определяет, отображать ли исходные |
Dist | Значение, представляющее меру неоднородности, заданную суммой квадратичных невязок между |
RMSD | Скаляр, представляющий среднее корневое квадратное расстояние между координатами |
Transf | Линейное преобразование, вычисленное для наложения цепи
Примечание Для вычисления линейного преобразования используются только координаты альфа-атома углерода. Совет Можно использовать |
PDB2TX | PDB-форматированная структура MATLAB, которая представляет координаты в преобразованном PDB2 структура белка. |
pdbsuperpose( вычисляет и применяет линейное преобразование, чтобы наложить координаты структуры белка, представленной в PDB1, PDB2)PDB2 к координатам белковой структуры, представленной в PDB1. PDB1 и PDB2 являются белковыми структурами, представленными любым из следующих:
Вектор символов или строка, задающая уникальный идентификатор для записи структуры белка в базе данных PDB.
Переменная, содержащая структуру MATLAB в формате PDB, например, возвращенная 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, структуру MATLAB в формате PDB, которая представляет координаты в преобразованном 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.
Используйте getpdb функция для извлечения данных о структуре белка из базы данных Protein Data Bank (PDB) для двух структур гемоглобина.
str1 = getpdb('1dke');
str2 = getpdb('4hhb');
Наложите первую модель двух структур гемоглобина, применив преобразование ко всей молекуле.
d = pdbsuperpose(str1, str2, 'model', [1 1], 'apply', 'all');
Наложите две структуры гемоглобина (каждая из которых содержит четыре цепи), вычисляя и применяя линейную цепь преобразования за цепью. Не отображать структуры.
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Наложите цепь B на цепь A структуры тиоредоксина (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]
Наложите две структуры кальмодулина в соответствии с линейным преобразованием, полученным с использованием двух 20 сегментов длиной остатка.
pdbsuperpose('1a29', '1cll', 'segment', {'10-30:A', '10-30:A'})
ans =
0.1945getpdb | molviewer | pdbread | pdbtransform | procrustes | swalign