Наложить 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 | структура MATLAB в формате PDB, представляющая координаты в преобразованном PDB2 белковая структура. |
pdbsuperpose( вычисляет и применяет линейное преобразование для наложения координат белковой структуры, представленной в PDB1, PDB2)PDB2 к координатам белковой структуры, представленной в PDB1. PDB1 и PDB2 представляют собой белковые структуры, представленные любым из следующих:
Символьный вектор или строка, указывающая уникальный идентификатор для записи структуры белка в базе данных PDB.
Переменная, содержащая структуру MATLAB в формате PDB, например, getpdb или pdbread.
Символьный вектор или строка, указывающая имя файла или путь и имя файла. Файл, на который имеется ссылка, является файлом в формате PDB. Если указано только имя файла, этот файл должен находиться в пути поиска MATLAB или в текущей папке MATLAB.
Для вычисления линейного преобразования (преобразования, отражения, ортогонального вращения и масштабирования) рассматриваются координаты альфа-атомов углерода отдельных цепей для каждой структуры. По умолчанию считается, что первая цепь в каждой структуре вычисляет преобразование, и преобразование применяется ко всей молекуле. По умолчанию оригинал PDB1 структура и полученный в результате трансформированный PDB2 структуры отображаются как отдельные модели в окне просмотра молекул с помощью 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 структура в окне просмотра молекул с помощью molviewer функция. Каждая структура представлена в виде отдельной модели. Варианты: true (по умолчанию) или false.
Используйте getpdb функция извлечения данных о структуре белка из базы данных банка данных белка (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