<
  • Главная
Статьи

Информация об атоме


Следующий: Сценарии анализа Up: Молекулярная информация: молинфо и Предыдущая: Использование molinfo для доступа

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

Выбор атома реализован как функция Tcl. Данные, возвращаемые из atomselect, представляют собой имя используемой функции. Имя имеет вид atomselect% d, где «% d» - неотрицательное число (например, «atomselect0», atomselect26 », ...).

Чтобы прояснить несколько моментов (даже если это рассматривается в другом месте), «идентификатор молекулы» представляет собой неотрицательное целое число, которое однозначно идентифицирует одну из загруженных молекул. Каждая молекула получает новый номер, когда она загружена, и числа генерируются в числовом порядке. Таким образом, первая загруженная молекула имеет идентификатор молекулы 0, вторая - 1 и так далее. Чтобы увидеть идентификатор молекулы, откройте окно «Молекула» и найдите число справа от двоеточия («:»). Это было дополнено нулями, чтобы сделать его трехзначным числом, поэтому идентификатор молекулы 0 выражается как 000. Идентификатором также может быть слово «top», которое указывает верхнюю молекулу.

«Текст выбора» такой же, как язык выбора, используемый в Графическая форма и описано в Глава § , Используется для выбора заданного подмножества атома. Текст не может быть изменен после выбора. Некоторые из терминов в выборе зависят от данных, которые изменяются в течение траектории (пока что только ключевые слова «x», «y» и «z» могут изменяться со временем). Для них необязательное «значение кадра» используется для определения, какой конкретный кадр использовать. Номер кадра может быть неотрицательным целым числом, словом «сейчас» (текущий кадр), словом «первый» (для кадра 0) и «последний» (для последнего кадра).

С точки зрения использования форма команды выбора атома:

  • atomselect Molee_id Selection_text [frame frame_number ]

Вот некоторые примеры: vmd> atomselect top «name CA» atomselect0 vmd> atomselect 3 «остаток 25» фрейм последний atomselect1 vmd> atomselect top «в пределах 5 от имени LYR» frame 23 atomselect2 Возвращаемое имя является именем функции, и вы можете использовать это как любые другие функции. Для этого есть несколько параметров, как показано ниже: # Число атомов в выделении vmd> atomselect1 num 13 # Текст выделения, использованный для создания выделения vmd> atomselect1 text {Остаток 25} # список указателей атомов в выделении vmd> atomselect0 list 0 5 11 17 23 29 35 41 47 53 59 65 «Остаток 25» заключен в фигурные скобки, поскольку он является одним из элементов списка Tcl. Это важный момент, на который следует обратить внимание, по причинам, которые следует обсудить после введения нескольких атрибутов.

Чтобы использовать функцию, созданную командой atomselect, нужно сохранить имя в переменной, а затем использовать переменную для получения имени, когда это необходимо.

vmd> set sel [atomselect top "water"] atomselect3 vmd> $ sel text water Это эквивалентно произнесению vmd> atomselect3 text

Самый простой способ думать об этом - команда atomselect создает объект. Чтобы получить информацию от объекта, вы должны отправить ему команду. Таким образом, в приведенном выше примере (atomselect1 num) объекту atomselect1 была отправлена ​​команда «num», которая просит объект вернуть количество атомов в выделении.

Эти производные объектные функции (с такими именами, как atomselect3) имеют много опций. Они перечислены в таблице 14,2 ,

Таблица 14
Таблица 14.2: ключевые слова atomselect

Вы уже видели несколько примеров первых нескольких из этих команд. Вторая половина команд позволяет вам получить или установить информацию об атоме. Информация, которая может быть возвращена, - это те же ключевые слова, которые доступны в команде выбора (например, «остаток», «x», «имя_папки»), а также логические слова, такие как «вода» и «позвоночник» (они возвращаются как 1 если true и 0, если false).

Например, учитывая выбор

vmd> set sel [atomselect top "остаток 4"] atomselect4 вы можете получить имена атомов для каждого из атомов в выделении с помощью vmd> $ sel get name {N} {H} {CA} {CB} {C} { O} (что, помните, совпадает с vmd> atomselect4 get name)

Несколько атрибутов могут быть запрошены путем отправки списка, поэтому, если вы хотите увидеть, какие атомы находятся в магистрали,

vmd> $ sel get {name backbone} {N 1} {H 0} {CA 1} {CB 0} {C 1} {O 1}

и атом координируется с

vmd> $ sel get {xyz} {0.710000 4.211000 1.093000} {-0.026000 3.700000 0.697000} {0.541000 4.841000 2.388000} {-0.809000 4.462000 2.976000} {1.591000 4.371000 3.381000} {2.212000 5.167000 4.085000}

Очень важно отметить, что информация, возвращаемая одной из этих команд, представляет собой список списков. В частности, это список размера n, где каждый элемент сам является списком размера i , где n - число атомов в выделении, а i - количество запрошенных атрибутов.

Одна быстрая функция, которую вы можете построить с помощью координат, - это метод расчета геометрического центра (не совсем центра масс; это немного сложнее). Это также использует некоторые из векторных команд, обсуждаемых в разделе о векторы и матрицы , но вы должны быть в состоянии понять их из контекста.

proc geom_center {selection} {# установить геометрический центр на 0 установить gc [veczero] # [$ selection get {xyz}] возвращает список значений {xyz} # (по одному на атомы), поэтому каждый член получайте по одному для каждой координаты foreach [$ selection get {xyz}] {# суммировать координаты, заданные gc [vecadd $ gc $ordin]} # и масштабировать с точностью до числа атомов, возвращаемых [vecscale [expr 1.0 / [$ selection num]] $ gc ]}

С этим определением вы можете сказать (при условии, что $ sel был создан в предыдущем примере выбора атомов)

vmd> geom_center $ sel 0.703168 4.45868 2.43667 Примерно построчно рассмотрим пример. Функция называется geom_center и принимает один параметр - имя выбора. Первая строка устанавливает переменную `` gc '' в нулевой вектор, который равен 0 0 0. Во второй строке кода происходят две вещи. Сначала выполняется команда $ selection get {xyz}, и строка заменяется результатом, который равен {0.710000 4.211000 1.093000} {-0.026000 3.700000 0.697000} {0.541000 4.841000 2.388000} {-0.809000 4.462000 2.976000} {1.591000 4.371000 3.381000 } {2.212000 5.167000 4.085000} Это список из 6 терминов (по одному для каждого атома в выделении), и каждый термин представляет собой список из трех элементов, координат x, y и z, в этом порядке.

Команда «foreach» разбивает список на шесть терминов и перемещается по списку по терминам, устанавливая переменную «координирование» для каждого последующего термина. Внутри цикла значение $ ord добавляется к общей сумме.

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

expr 1.0 / [$ selection num] Десятичное число в "1.0" важно, так как в противном случае Tcl выполняет целочисленное деление. Наконец, это значение используется для масштабирования суммы векторов координат (с vecscale), которая возвращает новое значение, которое само возвращается в результате процедуры.

Функция центра масс немного сложнее, потому что вы должны получить массу, а также значения x, y, z, а затем разбить ее на компоненты. Формула для центра масс Функция центра масс немного сложнее, потому что вы должны получить массу, а также значения x, y, z, а затем разбить ее на компоненты

proc center_of_mass {selection} {# некоторая проверка ошибок, если {[$ selection num] <= 0} {error "center_of_mass: требуется выделение с атомами"} # установить центр масс на 0 установить com [veczero] # установить общее mass = 0 set mass 0 # [$ selection get {xyz}] возвращает координаты {xyz} # [$ selection get {mass}] возвращает массы #, поэтому следующее говорит "для каждой пары {координаты} и массы, # делать вычисления ... "foreach координировать [$ selection get {xyz}] m [$ selection get mass] {# сумма масс, установленных массой [expr $ mass + $ m] # суммировать произведение масс и координат com [vecadd $ com [vecscale $ m $ координировать]]} # и масштабировать обратным числом атомов, если {$ mass == 0} {error "center_of_mass: общая масса равна нулю"} # "1.0" может не должно быть «1», так как в противном случае целочисленное деление выполнено, верните [vecscale [expr 1.0 / $ mass] $ com]} vmd> center_of_mass $ sel Info) 0.912778 4.61792 2.78021

Противоположностью «get» является «set». Несколько ключевых слов (в частности, «x», «y» и «z») могут быть установлены на новые значения. Это позволяет, например, изменять координаты атома, обновлять значения занятости или добавлять силы пользователя. Прямо сейчас единственные вещи, которые могут быть изменены, - это координаты, бета-версия и значения занятости и пользовательские силы.

set sel [atomselect top "index 5"] $ sel get {xyz} {1.450000 0.000000 0.000000} $ set set {xyz} {{1.6 0 0}}

Обратите внимание, что так же, как опция get возвращает список списков, для опции set нужен список списков, поэтому был необходим дополнительный набор фигурных скобок. Опять же, это должен быть список размера n, содержащий элементы, которые являются списком размера i . Исключением является то, что если n равно 1, список дублируется достаточно раз, поэтому для каждого атома существует один элемент.

# получить два атома и установить их координаты set sel [atomselect top "index 6 7"] $ sel set {xyz} {{5 0 0} {7.6 5.4 3.2}}

В этом случае для атома с индексом 6 его значения (x, y, z) устанавливаются на 5 0 0, а для атома с индексом 7 его координаты изменяются на 7,6. 5.4 3.2.

Таким способом можно перемещать атомы, получая координаты, изменяя их (скажем, добавляя некоторое смещение) и заменяя его. Ниже приведена функция, которая будет делать именно это:

proc moveby {sel offset} {set newcoords {} foreach координировать [$ sel get {xyz}] {lvarpush newcoords [vecadd $ordin $ offset]} $ sel set $ newcoords} И использовать эту функцию (в данном случае, чтобы применить смещение (xyz) = (0,1 -2,8 9) к выделению "$ movesel"): moveby $ movesel {0,1 -2,8 9} Однако, чтобы упростить вопросы, в выбор были добавлены некоторые опции для работы с движениями (эти Команды также реализованы в C ++ и намного быстрее, чем версии Tcl). Этими функциями являются перемещение, перемещение и перемещение. Первые два занимают вектор положения, а последний - матрицу преобразования.

Первая команда, moveby, перемещает каждый из выбранных атомов на заданное смещение вектора.

$ sel moveby {1 -1 3.4} Второе, moveto, перемещает все атомы в выделении в заданную координату (было бы странно использовать это для выделения более чем одного атома, но это разрешено). Пример: $ sel moveto {-1 1 4.3} Последний из них, move, применяет данную матрицу преобразования к каждой из координат атома. Это лучше всего использовать для вращения набора атомов вокруг заданной оси, как в $ sel move [trans x на 90], который поворачивает выделение на 90 градусов вокруг оси x. Конечно, любая матрица преобразования может быть использована.

Более полезным примером является следующий, который вращает атомы боковой цепи вокруг связи CA-CB на 10 градусов.

# получить атомы боковой цепи (CB и далее) установить sidechain [atomselect top "остаток боковой цепи 22"] # получить координаты CA - можно сделать следующие два в одной строке ... установить CA [atomselect top "имя CA и остаток 22" ] установить CAcoord [lindex [$ CA get {xyz}] 0] # и получить координаты CB, установить CB [atomselect top "имя CB и остаток 22"] установить CBcoord [lindex [$ CB get {xyz}] 0] # применить преобразование на 10 градусов относительно заданного перемещения оси боковой цепи $ [trans bond $ CAcoord $ CBcoord 10 deg] # получить атомы боковой цепи (CB и далее) установить sidechain [atomselect top остаток боковой цепи 22] # получить координаты CA - можно сделать следующие два в одной строке
Следующий: Сценарии анализа Up: Молекулярная информация: молинфо и Предыдущая: Использование molinfo для доступа Джастин Гуллингсруд
Вт 6 апреля 09:22:39 CDT 1999

Похожие

Антон Чехов
Обзор фотографий (3) Добавьте фото - помните, чтобы не нарушать авторские права! Убедитесь, что фотография может быть распространена. Введите источник фотографии. Добавив фото, вы принимаете
Xbox One: неофициальная информация о мировых продажах / CD-Action
... информация была предоставлена ​​на форуме ResetEra отраслевым аналитиком Дэниелом Ахмадом, который утверждает, что он получил неофициальные данные группы NPD, исследующей рынок США. (Нажмите, чтобы увеличить) Кроме того, аналитик показал, что
AirNav: KELM - Эльмира / Региональный аэропорт Корнинг
ЭФФЕКТИВНАЯ ИНФОРМАЦИЯ FAA 25 АПРЕЛЯ 2019 Место нахождения Идентификатор FAA: ELM Lat / Long: 42-09-35.4821N / 076-53-30.2844W 42-09.591368N / 076-53.504740W 42.1598561 / -76.8917457 (по оценкам) Высота: 954,5 фута / 290,9 м (при обследовании) Вариация: 12 Вт (2000 г.) От города: 6 миль к северо-западу от центрального делового района соответствующего города Часовой пояс: UTC-4 (UTC-5 в стандартное время) Почтовый индекс : 14845 Операции в аэропорту
Информация: скрапбукинг или метод создания и оформления альбомов
Категории - чаевые Фотоальбом, созданный с использованием скрапбукинга, - это своеобразное воспоминание о долгом лете. Техника декорирования основана на склеивании определенного предмета,
NVIDIA GeForce RTX 2060 за 349 долларов - мы знаем его производительность
... обные результаты предоставлены порталом VideoCardz, и вы также можете увидеть их ниже. Карта была сопряжена с процессором Intel Core i9-7900X и 16 ГБ оперативной памяти. Жаль, что мы действительно получаем чуть более высокую производительность по сравнению с GeForce GTX 1070 Ti по цене, очень похожей на рыночный дебют GTX 1070 (379 долларов за нереференсные чипы или 399 долларов за Founders Edition).
Метаданные, системные представления в SQL Server, информация об объектах
Одним из наиболее полезных источников информации о структурах и свойствах объектов (метаданных), создаваемых в базах данных SQL Server, являются системные представления. Обычные пользователи редко используют свои возможности. Возможно, это связано с количеством просмотров, разных типов и необходимостью узнать об их структурах. Или, может быть, они просто не осознают своего существования или им они ни для чего не нужны? Количество представлений, из которых мы можем извлечь уроки, увеличивается
Вивус - отзывы и описание кредита
... информация о банковских кредитах. Если вы не погасите кредиты, взятые в одном из банков, вы, вероятно, не получите кредит от Vivusa. Есть компании, которые не проверяют базу данных BIK, но Vivus не считается. Очень важно, чтобы компания не давала займы людям с долгами. Вы также можете проверить свой BIK самостоятельно - ссылка , Vivus проверяет KRD? База данных
Что такое Cardoscp.exe и как его исправить?
Скачать сейчас WinThruster 2019 - Сканировать ваш компьютер на наличие ошибок реестра в cardoscp.exe Совместим с Windows 2000, XP, Vista, 7, 8 и 10 Установить дополнительные продукты - DLL (Solvusoft) | EULA | Политика конфиденциальности |
Что такое Download adobe flash player 11.3.exe и как его исправить?
Скачать сейчас WinThruster 2019 - Сканировать ваш компьютер на наличие повреждений реестра в download adobe flash player 11.3.exe Совместим с Windows 2000, XP, Vista, 7, 8 и 10 Установить дополнительные продукты - DLL (Solvusoft) | EULA | Политика конфиденциальности |
Или, может быть, они просто не осознают своего существования или им они ни для чего не нужны?
Вы также можете проверить свой BIK самостоятельно - ссылка , Vivus проверяет KRD?
Exe и как его исправить?


Новости
  • Виртуальный хостинг

    Виртуальный хостинг. Возможности сервера распределяются в равной мере между всеми... 
    Читать полностью

  • Редизайн сайта

    Редизайн сайта – это полное либо частичное обновление дизайна существующего сайта.... 
    Читать полностью

  • Консалтинг, услуги контент-менеджера

    Сопровождение любых интернет ресурсов;- Знание HTML и CSS- Поиск и обновление контента;-... 
    Читать полностью

  • Трафик из соцсетей

    Сравнительно дешевый способ по сравнению с поисковым и контекстным видами раскрутки... 
    Читать полностью

  • Поисковая оптимизация

    Поисковая оптимизация (англ. search engine optimization, SEO) — поднятие позиций сайта в результатах... 
    Читать полностью