Kodomo

Пользователь

Учебная страница курса биоинформатики,
год поступления 2018

1. Скачайте из PDB запись со структурой белка

Навыки:

Пример

import urllib.request # импорт модуля для чтения файлов через интернет
f = urllib.request.urlopen('http://files.rcsb.org/download/1apl.pdb') 
     # открыть удаленный pdb файл на чтение
a = f.read()   # прочитать удаленный файл по-байтно
b = a.decode() # перевести строку байтов в строку символов
lines = b.split('\n') # превратить строку в список строк по символу конца строки 

for line in lines:
    print(line)

Результат - построчно печатается удаленный текстовый файл (в данном случае - pdb файл 1apl)

То же, но запись короче:

import urllib.request
lines = urllib.request.urlopen('http://files.rcsb.org/download/1apl.pdb').read().decode().split('\n')
for line in lines:
    print(line)


2. Parse-pdb

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

   1 a = [(0, 10), (3, 4), (7, 9)]
   2 X_center = 0
   3 Y_center = 0
   4 def comp_func(elem):
   5     return (elem[0] - X_center)** 2 + (elem[1] - Y_center) ** 2 
   6 
   7 a.sort(key=comp_func)


3. Посчитать число молекул воды в записи PDB

Фрагменты PDB файла, которые надо будет опозновать в программе.

PDB код - первая и вторая строки:

HEADER    ISOMERASE                               03-SEP-18   6HJE              
TITLE     TRYPANOSOMA CRUZI PROLINE RACEMASE IN COMPLEX WITH INHIBITOR NG-P27   

PDB код узнается как последнее слово в первой строке

Строка с разрешением вот формальное описание строк REMARK 2.

REMARK 2 states the highest resolution, in Angstroms, that was used in building the model. As with all the remarks, the first REMARK 2 record is empty and is used as a spacer. COLUMNS DATA TYPE FIELD DEFINITION

10 LString(1) "2" 12 - 22 LString(11) "RESOLUTION." 24 - 30 Real(7.2) resolution Resolution. 32 - 41 LString(10) "ANGSTROMS."

REMARK   2                                                                      
REMARK   2 RESOLUTION.    2.00 ANGSTROMS.                                       
REMARK   3                                                                      

Молекулы воды

HETATM 5482  C2  7N0 B 501      23.545  34.077  11.065  1.00 53.17           C  
HETATM 5483  C1  7N0 B 501      23.074  34.218   9.621  1.00 42.63           C  
HETATM 5484  O2  7N0 B 501      23.194  33.233   8.881  1.00 40.67           O  
HETATM 5485  O1  7N0 B 501      22.601  35.312   9.212  1.00 42.48           O  
HETATM 5486  O   HOH A 601      18.517  11.615  25.489  1.00 43.17           O  
HETATM 5487  O   HOH A 602      27.724  -4.687  18.566  1.00 60.64           O  
HETATM 5488  O   HOH A 603      -9.101  -8.169  18.829  1.00 59.68           O  
HETATM 5489  O   HOH A 604      23.354  10.019  -2.743  1.00 57.76           O  
HETATM 5490  O   HOH A 605      15.722 -15.385  49.006  1.00 44.09           O  

Опознаются по слову 'HETATM' в колонках 1-6, слову 'HOH' в колонках 18-20. Одна такая строка - одна молекула воды.


4. Cписок лигандов в PDB файле

Пример строк с лигандами:

ATOM   5459  OG  SER B 398      18.231  36.082  43.932  1.00 84.54           O  
TER    5460      SER B 398                                                      
HETATM 5461  P   PO4 A 501      15.159 -21.917  44.842  1.00 38.22           P  
HETATM 5462  O1  PO4 A 501      15.896 -21.738  43.514  1.00 40.18           O  
HETATM 5463  O2  PO4 A 501      13.745 -22.438  44.672  1.00 42.35           O  
HETATM 5464  O3  PO4 A 501      16.007 -22.792  45.728  1.00 42.70           O  
HETATM 5465  O4  PO4 A 501      15.031 -20.603  45.559  1.00 36.99           O  
HETATM 5466  O3  7N0 A 502      16.502   1.783  25.875  1.00 70.38           O  
HETATM 5467  C4  7N0 A 502      16.537   2.782  26.547  1.00 53.02           C  
HETATM 5468  C5  7N0 A 502      17.195   4.044  26.103  1.00 55.73           C  
HETATM 5469  C6  7N0 A 502      17.751   4.531  27.432  1.00 55.92           C  
HETATM 5470  C7  7N0 A 502      16.915   3.901  28.547  1.00 53.50           C  
HETATM 5471  C3  7N0 A 502      16.015   2.842  27.929  1.00 47.90           C  
HETATM 5472  C2  7N0 A 502      14.567   3.288  27.968  1.00 42.83           C  

Лиганд опознается по слову 'HETATM' в колонках 1-6. Имя лиганда указано в колонках 18-20. Формальное описание формата строк HETATM см. здесь

Ожидаемый ответ в примере:

{'PO4','7NO'}

Заметим, что молекулы воды формально тоже опознаются как лиганды. Более того, как лиганды опознаются иногда модифицированные аминокислотные остатки. Их тоже оставлять.

Примеры файлов PDB с несколькими лигандами: 2DN1 (лиганд HEM), 5M2T (лиганды URI, EDO, CL, MG, NA), 5NH5 (лиганды SO4, GOL, FE2, CA, MG).


5. Найдите общие подслова указанной длины в двух нуклеотидных последовательностях

Навыки: использование типа set и метода - пересечение множеств, см. help(set)