2014-01-17 5 views
0

У меня есть PDB-файл, и я хочу разобрать PDB с помощью питона, и я хочу, чтобы найти следующую информацию по остаткам в PDB:получить свойства остатка из PDB файла

1. hydrophobicity 
2. interface topology 
3. solvent accessible surface area 

Я попытался с помощью pybel

file_name = "4hhb.pdb" 
allmols = [mol for mol in pybel.readfile("pdb", file_name)] 
for mol in allmols: 
    dir(mols) 

но, я только могу видеть несколько объектов.

'addh', 'atoms', 'calcdesc', 'calcfp', 'charge', 'conformers', 'data', 'dim', 'draw', 'energy', 'exactmass', 'formula', 'localopt', 'make3D', 'molwt', 'removeh', 'spin', 'sssr', 'title', 'unitcell', 'write 

Как я могу найти эти 3 свойства из pdb? Я могу использовать любой модуль, доступный в python, для получения этих свойств.

+1

Пример 'pdb' файл поможет. – senshin

+0

@senshin: любой файл pdb из http://www.rcsb.org/pdb/home/home.do сделает, например: http://www.rcsb.org/pdb/download/downloadFile.do?fileFormat= pdb & compression = NO & structureId = 2INS – sam

ответ

0

Как уже упоминалось в этом 1 ответ, BioPython 2 обеспечивает поддержку для разбора .pdb файлы

+0

Я видел их, но они не предоставляют эти 3 свойства – sam

+0

Несомненно, они были бы расширяемыми? – Mause

+0

IE, подклассы? – Mause

2

Hidrophobicity (для каждого АА) можно найти в:

Bio.SeqUtils.ProtParamData.kd

kd = {'A': 1.8, 'R':-4.5, 'N':-3.5, 'D':-3.5, 'C': 2.5, 
     'Q':-3.5, 'E':-3.5, 'G':-0.4, 'H':-3.2, 'I': 4.5, 
     'L': 3.8, 'K':-3.9, 'M': 1.9, 'F': 2.8, 'P':-1.6, 
     'S':-0.8, 'T':-0.7, 'W':-0.9, 'Y':-1.3, 'V': 4.2 } 

Я думаю, у вас есть чтобы добавить все значения аминокислот и получить общую гидрофобность.

http://biopython.org/DIST/docs/api/Bio.SeqUtils.ProtParamData-pysrc.html


Вы можете использовать Gromacs (http://manual.gromacs.org/online/g_sas.html), чтобы получить два других параметров. Просматривая исходный код C (http://repo.or.cz/w/gromacs.git/blob/HEAD:/src/tools/gmx_sas.c), эти параметры далеки от очевидных вычислений.

Я бы обернул g_sas с помощью subprocess.Popen() и получил результаты.


Кто-то сделал это с pybel/openbabel здесь:

http://code.google.com/p/enzyme-stats/source/browse/trunk/src/asa/surface.py

+0

, но это атомы, мне нужно получить свойства для остатков. – sam

+0

Я понимаю остаток = аминокислота ('kd' dict выше). Например. аминокислота/остаток «аланин (А)» имеют гидрофобность 1,8. Я понимаю атом = атом. Например. Углерод, кислород, водород или азот. – xbello