!pip install nglview --user # Устанавливаю внешний пакет, позволяющий визуализировать структуру биомолекул.
/usr/lib/python3/dist-packages/secretstorage/dhcrypto.py:15: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead
from cryptography.utils import int_from_bytes
/usr/lib/python3/dist-packages/secretstorage/util.py:19: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead
from cryptography.utils import int_from_bytes
Requirement already satisfied: nglview in /usr/local/lib/python3.7/dist-packages (2.7.7)
Requirement already satisfied: ipywidgets>=7 in /usr/local/lib/python3.7/dist-packages (from nglview) (7.5.1)
Requirement already satisfied: numpy in /usr/local/lib/python3.7/dist-packages (from nglview) (1.20.1)
Requirement already satisfied: ipython>=4.0.0 in /usr/local/lib/python3.7/dist-packages (from ipywidgets>=7->nglview) (7.21.0)
Requirement already satisfied: widgetsnbextension~=3.5.0 in /usr/local/lib/python3.7/dist-packages (from ipywidgets>=7->nglview) (3.5.1)
Requirement already satisfied: traitlets>=4.3.1 in /usr/local/lib/python3.7/dist-packages (from ipywidgets>=7->nglview) (5.0.5)
Requirement already satisfied: ipykernel>=4.5.1 in /usr/local/lib/python3.7/dist-packages (from ipywidgets>=7->nglview) (5.5.0)
Requirement already satisfied: nbformat>=4.2.0 in /usr/local/lib/python3.7/dist-packages (from ipywidgets>=7->nglview) (5.1.2)
Requirement already satisfied: tornado>=4.2 in /usr/local/lib/python3.7/dist-packages (from ipykernel>=4.5.1->ipywidgets>=7->nglview) (6.1)
Requirement already satisfied: jupyter-client in /usr/local/lib/python3.7/dist-packages (from ipykernel>=4.5.1->ipywidgets>=7->nglview) (6.1.11)
Requirement already satisfied: jedi>=0.16 in /usr/local/lib/python3.7/dist-packages (from ipython>=4.0.0->ipywidgets>=7->nglview) (0.18.0)
Requirement already satisfied: pickleshare in /usr/local/lib/python3.7/dist-packages (from ipython>=4.0.0->ipywidgets>=7->nglview) (0.7.5)
Requirement already satisfied: prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 in /usr/local/lib/python3.7/dist-packages (from ipython>=4.0.0->ipywidgets>=7->nglview) (3.0.16)
Requirement already satisfied: backcall in /usr/local/lib/python3.7/dist-packages (from ipython>=4.0.0->ipywidgets>=7->nglview) (0.2.0)
Requirement already satisfied: setuptools>=18.5 in /usr/local/lib/python3.7/dist-packages (from ipython>=4.0.0->ipywidgets>=7->nglview) (54.0.0)
Requirement already satisfied: pexpect>4.3 in /usr/local/lib/python3.7/dist-packages (from ipython>=4.0.0->ipywidgets>=7->nglview) (4.8.0)
Requirement already satisfied: decorator in /usr/local/lib/python3.7/dist-packages (from ipython>=4.0.0->ipywidgets>=7->nglview) (4.4.2)
Requirement already satisfied: pygments in /usr/local/lib/python3.7/dist-packages (from ipython>=4.0.0->ipywidgets>=7->nglview) (2.8.0)
Requirement already satisfied: parso<0.9.0,>=0.8.0 in /usr/local/lib/python3.7/dist-packages (from jedi>=0.16->ipython>=4.0.0->ipywidgets>=7->nglview) (0.8.1)
Requirement already satisfied: jsonschema!=2.5.0,>=2.4 in /usr/local/lib/python3.7/dist-packages (from nbformat>=4.2.0->ipywidgets>=7->nglview) (3.2.0)
Requirement already satisfied: ipython-genutils in /usr/local/lib/python3.7/dist-packages (from nbformat>=4.2.0->ipywidgets>=7->nglview) (0.2.0)
Requirement already satisfied: jupyter-core in /usr/local/lib/python3.7/dist-packages (from nbformat>=4.2.0->ipywidgets>=7->nglview) (4.7.1)
Requirement already satisfied: attrs>=17.4.0 in /usr/local/lib/python3.7/dist-packages (from jsonschema!=2.5.0,>=2.4->nbformat>=4.2.0->ipywidgets>=7->nglview) (20.3.0)
Requirement already satisfied: importlib-metadata in /usr/local/lib/python3.7/dist-packages (from jsonschema!=2.5.0,>=2.4->nbformat>=4.2.0->ipywidgets>=7->nglview) (3.7.0)
Requirement already satisfied: pyrsistent>=0.14.0 in /usr/local/lib/python3.7/dist-packages (from jsonschema!=2.5.0,>=2.4->nbformat>=4.2.0->ipywidgets>=7->nglview) (0.17.3)
Requirement already satisfied: six>=1.11.0 in /usr/local/lib/python3.7/dist-packages (from jsonschema!=2.5.0,>=2.4->nbformat>=4.2.0->ipywidgets>=7->nglview) (1.15.0)
Requirement already satisfied: ptyprocess>=0.5 in /usr/local/lib/python3.7/dist-packages (from pexpect>4.3->ipython>=4.0.0->ipywidgets>=7->nglview) (0.7.0)
Requirement already satisfied: wcwidth in /usr/local/lib/python3.7/dist-packages (from prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0->ipython>=4.0.0->ipywidgets>=7->nglview) (0.2.5)
Requirement already satisfied: notebook>=4.4.1 in /usr/local/lib/python3.7/dist-packages (from widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (6.2.0)
Requirement already satisfied: Send2Trash>=1.5.0 in /usr/local/lib/python3.7/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (1.5.0)
Requirement already satisfied: pyzmq>=17 in /usr/local/lib/python3.7/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (22.0.3)
Requirement already satisfied: argon2-cffi in /usr/local/lib/python3.7/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (20.1.0)
Requirement already satisfied: prometheus-client in /usr/local/lib/python3.7/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (0.9.0)
Requirement already satisfied: terminado>=0.8.3 in /usr/local/lib/python3.7/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (0.9.2)
Requirement already satisfied: jinja2 in /usr/local/lib/python3.7/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (2.11.3)
Requirement already satisfied: nbconvert in /usr/local/lib/python3.7/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (6.0.7)
Requirement already satisfied: python-dateutil>=2.1 in /usr/local/lib/python3.7/dist-packages (from jupyter-client->ipykernel>=4.5.1->ipywidgets>=7->nglview) (2.8.1)
Requirement already satisfied: cffi>=1.0.0 in /usr/local/lib/python3.7/dist-packages (from argon2-cffi->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (1.14.5)
Requirement already satisfied: pycparser in /usr/local/lib/python3.7/dist-packages (from cffi>=1.0.0->argon2-cffi->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (2.20)
Requirement already satisfied: typing-extensions>=3.6.4 in /usr/local/lib/python3.7/dist-packages (from importlib-metadata->jsonschema!=2.5.0,>=2.4->nbformat>=4.2.0->ipywidgets>=7->nglview) (3.7.4.3)
Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.7/dist-packages (from importlib-metadata->jsonschema!=2.5.0,>=2.4->nbformat>=4.2.0->ipywidgets>=7->nglview) (3.4.0)
Requirement already satisfied: MarkupSafe>=0.23 in /usr/local/lib/python3.7/dist-packages (from jinja2->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (1.1.1)
Requirement already satisfied: entrypoints>=0.2.2 in /usr/lib/python3/dist-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (0.3)
Requirement already satisfied: nbclient<0.6.0,>=0.5.0 in /usr/local/lib/python3.7/dist-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (0.5.3)
Requirement already satisfied: pandocfilters>=1.4.1 in /usr/local/lib/python3.7/dist-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (1.4.3)
Requirement already satisfied: testpath in /usr/local/lib/python3.7/dist-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (0.4.4)
Requirement already satisfied: mistune<2,>=0.8.1 in /usr/local/lib/python3.7/dist-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (0.8.4)
Requirement already satisfied: defusedxml in /usr/local/lib/python3.7/dist-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (0.7.0)
Requirement already satisfied: bleach in /usr/local/lib/python3.7/dist-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (3.3.0)
Requirement already satisfied: jupyterlab-pygments in /usr/local/lib/python3.7/dist-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (0.1.2)
Requirement already satisfied: async-generator in /usr/local/lib/python3.7/dist-packages (from nbclient<0.6.0,>=0.5.0->nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (1.10)
Requirement already satisfied: nest-asyncio in /usr/local/lib/python3.7/dist-packages (from nbclient<0.6.0,>=0.5.0->nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (1.5.1)
Requirement already satisfied: packaging in /usr/local/lib/python3.7/dist-packages (from bleach->nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (20.9)
Requirement already satisfied: webencodings in /usr/local/lib/python3.7/dist-packages (from bleach->nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (0.5.1)
Requirement already satisfied: pyparsing>=2.0.2 in /usr/local/lib/python3.7/dist-packages (from packaging->bleach->nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (2.4.7)
WARNING: You are using pip version 21.0.1; however, version 22.0.3 is available.
You should consider upgrading via the '/usr/bin/python3 -m pip install --upgrade pip' command.
import nglview as nv # Для удобства переименовываю внутри скрипта модуль "nglview" на "nv".
import requests
import json
# Импортирую необходимые модули.
my_query = { # Формирую заготовку для запроса.
"query": {
"type": "group",
"logical_operator": "and",
"nodes": []
},
"return_type": "entry"
}
keyword_clause = { # Добавляю в запрос о поиске ключевого слова "biotin".
"type": "terminal",
"service": "full_text", # Означает поиск в любом текстовом поле записи.
"parameters": {
"value": "biotin" # Указываю ключевое слово непосредственно.
}
}
my_query["query"]["nodes"].append(keyword_clause) # Добавляю данный запрос в заготовку.
resolution_clause = { # Устанавливаю запрос о требовании на разрешение не более 2.7 ангстрем.
"type": "terminal",
"service": "text",
"parameters": {
"value": 2.7,
"attribute": "rcsb_entry_info.resolution_combined",
"operator": "less_or_equal"
}
}
my_query["query"]["nodes"].append(resolution_clause)
has_ligand_clause = { # Делаю запрос на количество лигандов, большее или равное единице.
"type": "terminal",
"service": "text",
"parameters": {
"attribute": "rcsb_entry_info.nonpolymer_entity_count",
"value": 0,
"operator": "greater"
}
}
my_query["query"]["nodes"].append(has_ligand_clause)
date_range_clause = { # Оформляю запрос на соответствующий промежуток времени публикации.
"type": "terminal",
"service": "text",
"parameters": {
"attribute": "rcsb_accession_info.initial_release_date",
"value": {
"from": "2010-01-01",
"to": "2015-01-01",
},
"operator": "range"
}
}
my_query["query"]["nodes"].append(date_range_clause)
rcsb = 'https://search.rcsb.org/rcsbsearch/v1/query' # Отправляю запрос на сервер RCSB.
json_query = json.dumps(my_query)
search = requests.post(f'{rcsb}', data=json_query)
search # Проверяю, прошло ли всё хорошо.
<Response [200]>
search_result = search.json() #Распаковываю ответ сервера в словарь.
search_result
{'query_id': 'ad6d83e9-3622-4831-bed6-582767162b67', 'result_type': 'entry', 'total_count': 331, 'result_set': [{'identifier': '4EKV', 'score': 0.9966230893003007, 'services': [{'service_type': 'full_text', 'nodes': [{'node_id': 17149, 'original_score': 9.762563705444336, 'norm_score': 0.9915577232507522}, {'node_id': 27112, 'original_score': 9.762563705444336, 'norm_score': 0.9915577232507522}]}, {'service_type': 'text', 'nodes': [{'node_id': 23771, 'original_score': 1.0, 'norm_score': 1.0}, {'node_id': 29822, 'original_score': 1.0, 'norm_score': 1.0}, {'node_id': 12008, 'original_score': 1.0, 'norm_score': 1.0}]}]}, {'identifier': '4DVE', 'score': 0.9946985114881184, 'services': [{'service_type': 'full_text', 'nodes': [{'node_id': 17149, 'original_score': 9.720697402954102, 'norm_score': 0.9867462787202961}, {'node_id': 27112, 'original_score': 9.720697402954102, 'norm_score': 0.9867462787202961}]}, {'service_type': 'text', 'nodes': [{'node_id': 23771, 'original_score': 1.0, 'norm_score': 1.0}, {'node_id': 29822, 'original_score': 1.0, 'norm_score': 1.0}, {'node_id': 12008, 'original_score': 1.0, 'norm_score': 1.0}]}]}, {'identifier': '4JNJ', 'score': 0.9943801012683033, 'services': [{'service_type': 'full_text', 'nodes': [{'node_id': 17149, 'original_score': 9.713770866394043, 'norm_score': 0.9859502531707584}, {'node_id': 27112, 'original_score': 9.713770866394043, 'norm_score': 0.9859502531707584}]}, {'service_type': 'text', 'nodes': [{'node_id': 23771, 'original_score': 1.0, 'norm_score': 1.0}, {'node_id': 29822, 'original_score': 1.0, 'norm_score': 1.0}, {'node_id': 12008, 'original_score': 1.0, 'norm_score': 1.0}]}]}, {'identifier': '4GD9', 'score': 0.9940335457419867, 'services': [{'service_type': 'full_text', 'nodes': [{'node_id': 17149, 'original_score': 9.706232070922852, 'norm_score': 0.9850838643549666}, {'node_id': 27112, 'original_score': 9.706232070922852, 'norm_score': 0.9850838643549666}]}, {'service_type': 'text', 'nodes': [{'node_id': 23771, 'original_score': 1.0, 'norm_score': 1.0}, {'node_id': 29822, 'original_score': 1.0, 'norm_score': 1.0}, {'node_id': 12008, 'original_score': 1.0, 'norm_score': 1.0}]}]}, {'identifier': '3T2W', 'score': 0.9936683143580847, 'services': [{'service_type': 'full_text', 'nodes': [{'node_id': 17149, 'original_score': 9.698287010192871, 'norm_score': 0.984170785895212}, {'node_id': 27112, 'original_score': 9.698287010192871, 'norm_score': 0.984170785895212}]}, {'service_type': 'text', 'nodes': [{'node_id': 23771, 'original_score': 1.0, 'norm_score': 1.0}, {'node_id': 29822, 'original_score': 1.0, 'norm_score': 1.0}, {'node_id': 12008, 'original_score': 1.0, 'norm_score': 1.0}]}]}, {'identifier': '4IRW', 'score': 0.9936203095128835, 'services': [{'service_type': 'full_text', 'nodes': [{'node_id': 17149, 'original_score': 9.697242736816406, 'norm_score': 0.9840507737822086}, {'node_id': 27112, 'original_score': 9.697242736816406, 'norm_score': 0.9840507737822086}]}, {'service_type': 'text', 'nodes': [{'node_id': 23771, 'original_score': 1.0, 'norm_score': 1.0}, {'node_id': 29822, 'original_score': 1.0, 'norm_score': 1.0}, {'node_id': 12008, 'original_score': 1.0, 'norm_score': 1.0}]}]}, {'identifier': '4GGZ', 'score': 0.9932828727151528, 'services': [{'service_type': 'full_text', 'nodes': [{'node_id': 17149, 'original_score': 9.689902305603027, 'norm_score': 0.9832071817878824}, {'node_id': 27112, 'original_score': 9.689902305603027, 'norm_score': 0.9832071817878824}]}, {'service_type': 'text', 'nodes': [{'node_id': 23771, 'original_score': 1.0, 'norm_score': 1.0}, {'node_id': 29822, 'original_score': 1.0, 'norm_score': 1.0}, {'node_id': 12008, 'original_score': 1.0, 'norm_score': 1.0}]}]}, {'identifier': '4HR7', 'score': 0.9932101420866697, 'services': [{'service_type': 'full_text', 'nodes': [{'node_id': 17149, 'original_score': 9.68832015991211, 'norm_score': 0.9830253552166744}, {'node_id': 27112, 'original_score': 9.68832015991211, 'norm_score': 0.9830253552166744}]}, {'service_type': 'text', 'nodes': [{'node_id': 23771, 'original_score': 1.0, 'norm_score': 1.0}, {'node_id': 29822, 'original_score': 1.0, 'norm_score': 1.0}, {'node_id': 12008, 'original_score': 1.0, 'norm_score': 1.0}]}]}, {'identifier': '3TW6', 'score': 0.9932101420866697, 'services': [{'service_type': 'full_text', 'nodes': [{'node_id': 17149, 'original_score': 9.68832015991211, 'norm_score': 0.9830253552166744}, {'node_id': 27112, 'original_score': 9.68832015991211, 'norm_score': 0.9830253552166744}]}, {'service_type': 'text', 'nodes': [{'node_id': 23771, 'original_score': 1.0, 'norm_score': 1.0}, {'node_id': 29822, 'original_score': 1.0, 'norm_score': 1.0}, {'node_id': 12008, 'original_score': 1.0, 'norm_score': 1.0}]}]}, {'identifier': '3RDM', 'score': 0.9928754672115399, 'services': [{'service_type': 'full_text', 'nodes': [{'node_id': 17149, 'original_score': 9.681039810180664, 'norm_score': 0.9821886680288499}, {'node_id': 27112, 'original_score': 9.681039810180664, 'norm_score': 0.9821886680288499}]}, {'service_type': 'text', 'nodes': [{'node_id': 23771, 'original_score': 1.0, 'norm_score': 1.0}, {'node_id': 29822, 'original_score': 1.0, 'norm_score': 1.0}, {'node_id': 12008, 'original_score': 1.0, 'norm_score': 1.0}]}]}]}
best_hit = search_result["result_set"][0] # Определяю лучшую находку.
best_hit
{'identifier': '4EKV', 'score': 0.9966230893003007, 'services': [{'service_type': 'full_text', 'nodes': [{'node_id': 17149, 'original_score': 9.762563705444336, 'norm_score': 0.9915577232507522}, {'node_id': 27112, 'original_score': 9.762563705444336, 'norm_score': 0.9915577232507522}]}, {'service_type': 'text', 'nodes': [{'node_id': 23771, 'original_score': 1.0, 'norm_score': 1.0}, {'node_id': 29822, 'original_score': 1.0, 'norm_score': 1.0}, {'node_id': 12008, 'original_score': 1.0, 'norm_score': 1.0}]}]}
Публикация, найденная по выявленному идентификатору "4EKV" содержит информацию о белке стрептавидине, (в данном случае это "мутеин", то есть белок с видоизменённой аминокислотной последовательностью) способном к обратимому связыванию биотина и являющемся гомотетрамером (A4). Экспериментальные данные получины с помощью рентгеновской дифракции. Мутеин был сконструирован специально для того, чтобы уменьшить чрезвычайно высокое сродство к биотину стрептавидина дикого типа. Кинетические параметры связывания делают данный мутеин превосходным агентом сродства для очистки биотинилированных молекул.
*Из-за проблем с изображением оставляю ссылку на ноутбук.
from ipywidgets import interact, fixed # Импортирую небходимые для меня функции из модуля "ipywidgets".
representations = [ # Задаю список с типами изображения белка.
'ball+stick', # Шаростержневая модель.
'backbone', # Прямые линии, соединяющие С-альфа атомы.
'cartoon', # Условное отображение вторичной структуры.
'helixorient', # Упрощенное отображение.
'hyperball', # Сглаженная шаростержневая модель.
'licorice', # Стержневая модель (без шаров).
'line', # Очень тонкая стержневая модель.
'point', # Атомы в виде плоских точек.
'ribbon', # Отображение остова в виде ленты.
'rocket', # Отображение альфа-спиралей как цилиндров.
'rope', # Отображение остова в виде колбасы.
'spacefill', # Атомы в виде шаров соотв. Ван-дер-Ваальсова радиуса.
'surface', # Поверхность.
'trace', # Сглаженная линия, соединяющая С-альфа атомы.
'tube' # Более сдержанный rope.
]
colors = [ # Добавляю список с цветовыми схемами.
'random',
'uniform',
'atomindex', # От синего к красному с ростом номера атома.
'residueindex', # От синего к красному с ростом номера остатка.
'chainindex', # Каждой цепи свой цвет.
'sstruc', # Стандартные цвета для типа вторичной структуры.
'element', # Стандартные цвета для химических элементов.
'resname', # Свой цвет каждому из 20 остатков.
'bfactor', # Чем темнее, тем подвижнее.
'hydrophobicity', # Чем темнее, тем гидрофобнее.
]
my_examples = { # Создаю описания трёхмерных структур.
'Rep_2': {
'description': '''
Белок в виде cartoon, покраска от N к C концу
Боковые радикалы покрашены в светло-серый, показаны линиями
Боковые радикалы заряженных аминокислот показаны в стержневой модели
Лиганды показаны в шаростержневой модели, покрашены по элементам, углерод покрашен в любой цвет, кроме стандартного
''',
'representations': [
{
'type': 'cartoon',
'params': {
'sele': 'protein',
'color': 'residueindex'
}
},
{
'type': 'line',
'params': {
'sele': 'sidechainAttached',
'color': 'LightGray'
}
},
{
'type': 'licorice',
'params': {
'sele': 'sidechainAttached and charged',
}
},
{
'type': 'ball+stick',
'params': {
'sele': 'ligand',
'color': 'element'
}
},
{
'type': 'ball+stick',
'params': {
'sele': 'ligand AND _C',
'color': 'DarkViolet',
}
},
],
},
'Rep_4': {
'description': '''
Белок в виде cartoon, покраска по типу вторичной структуры
Боковые радикалы покрашены по элементу, показаны линиями
Боковые радикалы ароматических аминокислот показаны в стержневой модели
Лиганды показаны в виде Ван-дер-Ваальсовых сфер, покрашены по гидрофобности
''',
'representations': [
{
'type': 'cartoon',
'params':
{
'sele': 'protein',
'color': 'sstruc'
}
},
{
'type': 'line',
'params':
{
'sele': 'sidechainAttached',
'color': 'element'
}
},
{
'type': 'licorice',
'params':
{
'sele': 'sidechainAttached and aromatic',
'color': 'resname'
}
},
{
'type': 'spacefill',
'params':
{
'sele': 'ligand',
'color': 'hydrophobicity'
}
}
],
},
'Rep_8': {
'description': '''
Поверхность белка покрашена в белый, с непрозрачностью 0.1
Белок в виде cartoon темно-серого цвета
Боковые радикалы в стержневой модели, покрашены по гидрофобности
Лиганды в виде Ван-дер-Ваальсовых сфер, покрашены по элементам
''',
'representations': [
{
'type': 'surface',
'params': {
'sele': 'protein',
'color': 'white',
'opacity': 0.1
}
},
{
'type': 'cartoon',
'params': {
'sele': 'protein',
'color': 'darkslategray'
}
},
{
'type': 'licorice',
'params': {
'sele': 'sidechainAttached',
'color': 'hydrophobicity'
}
},
{
'type': 'spacefill',
'params': {
'sele': 'ligand',
'color': 'element'
}
},
],
},
}
def show_examples(view, example_name):
view.clear()
example = my_examples[example_name]
print(example['description'])
view.set_representations(example['representations'])
view.center()
view = nv.show_pdbid("4ekv", default_representation=False)
interact(show_examples, view=fixed(view), example_name=list(my_examples.keys()))
view