我必須在MATLAB中進行編碼。我的問題是我想提取某些原子的座標,僅對應於PDB文件中的某些殘基。例如,我想提取PDB文件中存在的所有丙氨酸的CA原子的座標。我嘗試使用find(strcmp(atoms,'CA')),但它給我所有的CA原子,而不是CA的丙氨酸。如何在MATLAB中解決這個問題?請幫助。謝謝。MATLAB讀取一個pdb文件的特定字段
1
A
回答
3
我所知道的關於PDB
的文件是我今天在http://www.wwpdb.org/index和這裏(http://www.wwpdb.org/documentation/file-format-content/format33/v3.3.html)讀到的。
我已經使用MatLab提供的示例幫助閱讀PDB
文件。
根據從PDB
文件讀取的數據結構和文件格式的描述,在我看來,您要查找的數據包含在Model.Atom
字段中。
更確切地說(glf
是結構由pdbread
函數讀取的名稱):
gfl.Model.Atom(:).AtomName
gfl.Model.Atom(:).resName
gfl.Model.Atom(:).X
gfl.Model.Atom(:).Y
gfl.Model.Atom(:).Z
如果是這樣,爲了識別原子「CA」的Alcaline
您可以使用find
和strcmp
組合功能如下:
pos=find(strcmp({gfl.Model.Atom(:).AtomName},'CA') & ...
strcmp({gfl.Model.Atom(:).resName},'ALA'))
輸出數組pos
包含你正在尋找的原子的索引。
要提取的座標,那麼你可以使用該指標如下:
X=[gfl.Model.Atom(pos).X]
Y=[gfl.Model.Atom(pos).Y]
Z=[gfl.Model.Atom(pos).Z]
您可以通過定義「凌動名」和殘渣名作爲參數,使更多「一般」的代碼。
在以下內容中,您可以根據MatLab提供的示例文件找到完整的腳本。
% Generate a PDB file (example from MatLab help)
gfl = getpdb('1GFL','TOFILE','1gfl.pdb')
% Read the PDB file
gfl = pdbread('1gfl.pdb')
% Define the Atom Name
atom_name='CA';
% Define the Residue Name
res_name='ALA';
% Search for the couple "Atom name - Residue Name"
pos=find(strcmp({gfl.Model.Atom(:).AtomName},atom_name) & ...
strcmp({gfl.Model.Atom(:).resName},res_name))
% Extract the coordinates of the Atoms matching the search criteria
X=[gfl.Model.Atom(pos).X]
Y=[gfl.Model.Atom(pos).Y]
Z=[gfl.Model.Atom(pos).Z]
希望這有助於。
相關問題
- 1. 閱讀一個.pdb文件
- 2. 從文本文件中讀取特定段落matlab
- 3. 讀取一個特定的.txt文件?
- 4. 讀取matlab中特定文件夾中的所有文件?
- 5. c# - 讀取文件的特定字節
- 6. Android:將文件從特定字符讀取到另一個特定字符
- 7. 如何從Java中的Avro-Parquet文件讀取特定字段?
- 8. MATLAB讀取文件
- 9. 從matlab中的.mat文件中讀取特定的列
- 10. 從文件中讀取特定字段用C
- 11. MATLAB:如何從具有特定字符的文本文件讀取數據
- 12. 用特殊字符在Matlab中讀取文本文件
- 13. 在PHP中讀取特定字的文件中的特定行
- 14. 在C++中讀取PDB頭文件
- 15. 從matlab中的CSV文件讀取特定列
- 16. 在Matlab中讀取excel文件中的特定單元格
- 17. 在MATLAB中讀取特定目錄中的某些文件?
- 18. indexOf讀取文件時在特定位置的特定字符
- 19. 從C#文本文件中讀取一個特定的列
- 20. 在一個文本文件中讀取特定的列
- 21. 一次讀取二進制文件中的一個字段C
- 22. 基於MATLAB中的字符串值讀取excel文件的特定部分
- 23. 讀取一個文件並將兩個數字之間的數字讀取爲特定的東西
- 24. 將文件從一個點或文件中的文件讀取到另一個特定點或文字
- 25. 批文件從文本文件中讀取特定的字母?
- 26. 提取多個特定字段及其下一個字段
- 27. Matlab的 - 讀取特定格式線
- 28. 只覆蓋matlab中csv文件的特定字段
- 29. 如何從文件中讀取一行中的特定字符?
- 30. 文件從一個特定字符用C讀取到另一個