Я хочу сделать график с Matplotlib в Python и, следовательно, прочитать некоторые данные из PDB-файла (банка данных о белках). Я хочу извлечь каждый столбец из файла и сохранить эти столбцы в отдельных векторах. PDB-файл состоит из столбцов с текстом и поплавками. Я очень новичок в Matplotlib, и я попытался предложить несколько методов для извлечения этих столбцов, но ничего не работает. Каким будет лучший способ извлечь эти столбцы? Я собираюсь загрузить много данных на более позднем этапе, поэтому хорошо, если метод не слишком неэффективен.Извлечь столбцы из банка данных с белками (PDB) Текстовый файл
В PDB-файлы выглядит примерно так:
ATOM 1 CA MET A 1 38.012 8.932 -1.253
ATOM 2 CA GLU A 2 39.809 5.652 -1.702
ATOM 3 CA ALA A 3 43.007 5.013 0.368
ATOM 4 CA ALA A 4 41.646 7.577 2.820
ATOM 5 CA HIS A 5 42.611 4.898 5.481
ATOM 6 CA SER A 6 46.191 5.923 5.090
ATOM 7 CA LYS A 7 45.664 9.815 5.134
ATOM 8 CA SER A 8 45.898 12.022 8.181
ATOM 9 CA THR A 9 42.528 13.075 9.570
ATOM 10 CA GLU A 10 43.330 16.633 8.378
ATOM 11 CA GLU A 11 44.171 15.729 4.757
ATOM 12 CA CYS A 12 40.589 14.150 4.745
ATOM 13 CA LEU A 13 38.984 17.314 6.105
ATOM 14 CA ALA A 14 40.633 19.053 3.220
ATOM 15 CA TYR A 15 39.740 16.682 0.505
ATOM 16 CA PHE A 16 36.138 17.421 1.566
ATOM 17 CA GLY A 17 36.536 20.854 2.826
ATOM 18 CA VAL A 18 34.184 20.012 5.553
ATOM 19 CA SER A 19 34.483 20.966 9.177
Похоже, вы будете работать с числовыми данными, и в этом случае ['numpy'] (http://www.numpy.org/) является используемым модулем de facto. Это или ['pandas'] (http://pandas.pydata.org/), который построен поверх' numpy'. Посмотрите на ['np.genfromtxt'] (http://docs.scipy.org/doc/numpy/user/basics.io.genfromtxt.html), который ест такие файлы с ограничением на завтрак. Кроме того, если вы отметите, что «ничего не работает», это хорошая идея в StackOverflow показать, что вы пытались и какие ошибки вы получите ... –
Есть много пакетов Python, которые уже обрабатывают PDB. Проверьте [BioPython] (http://biopython.org/wiki/Main_Page), [OpenMM] (https://simtk.org/home/openmm) или [OpenBabel] (http://openbabel.org/wiki/ Python). В качестве альтернативы, если вы уверены, что ваши PDB будут в правильном формате, вы можете использовать [спецификацию] (http://www.rcsb.org/pdb/static.do?p=file_formats/pdb /index.html) и выберите соответствующие биты каждой строки. –
Я должен добавить, что файлы PDB из банка данных также усложняются (разные идентификаторы цепей, коэффициенты B, несколько возможных позиций атомов), и перечисленные выше пакеты, похоже, поддерживают 'numpy', что является стандартом, как @OliverW. предлагает. –