さて、今回は誰の役に立つか分かりませんが、タイトルの通り、Protein Data Bank 形式 (*.pdb) の syntax をハイライトする vim ファイルを作ったので公開しました。
ダウンロードはこちらから。
Protein Data Bank (PDB) 形式のファイルは、タンパク質や DNA の構造を記述したテキストファイルです。中身は、"ATOM" か "HETATM" が行頭に記述された行では 1 行 1 原子で、文字数単位で区切られたフィールドで座標やら原子名やらが記述されています。
よく分子シミュレーションのテストに使われる TrpCage (PDB code: 1L2Y) を例にとると、
ATOM 1 N ASN A 1 -8.901 4.127 -0.555 1.00 0.00 N ATOM 2 CA ASN A 1 -8.608 3.135 -1.618 1.00 0.00 C ATOM 3 C ASN A 1 -7.117 2.964 -1.897 1.00 0.00 C ATOM 4 O ASN A 1 -6.634 1.849 -1.758 1.00 0.00 O ATOM 5 CB ASN A 1 -9.437 3.396 -2.889 1.00 0.00 C ATOM 6 CG ASN A 1 -10.915 3.130 -2.611 1.00 0.00 C : :1 行目が、1 番目の原子が 1 番目の残基であるアスパラギンの N 原子で、座標が (-8.901, 4.127, -0.555) にある原子を示しています。
詳しい仕様は以下のページを参照してください。
「wwPDB Format version 3.3: Coordinate Section」
これをシミュレーションで扱い、その結果をサーバ上の vim で開くことが多いのですが、vim ではデフォルトで、prolog 形式と誤認してしまっているようで、右の画像のように syntax の色が見づらくなってしまいます。
ただ、すべてが全てこうなるわけではなく、原子タイプに「'」が含まれると、色がまだらになってしまうようです (画像は DNA の構造を示した 1BNA という構造)。
PDB 自体は文字数で区切っているだけのファイルなので、誰かが vim 用の syntax ファイルを作っているかと思ったのですが、「Vim - General - Syntax highlight: keywords and columns in PDB」や「Vim syntax highlighting file for the NWCHEM GitHub」で紹介されている pdb.vim は機能せず…。
ということで、作成してみました。
使い方は、ここからダウンロードして、ホームディレクトリの vim 設定ディレクトリ ($HOME/.vim/syntax) に入れます。
そして、vim 設定ファイル ($HOME/.vimrc) に以下の行を追加します。
au BufRead,BufNewFile *.pdb set filetype=pdb
これで、PDB が右の画像のように綺麗に色分けされるはずです。
pdbファイルですかー。懐かしいですね。
返信削除学生時代に.NETでオブジェクトモデルを設計しようとして断念した思い出が...
製薬会社などでは .sdf ファイルなどで構造を扱っているところもあるようですが、.pdb はまだまだ現役ですね。結合様式 (二重結合など) も記述できる .sdf の方がソフト依存にならなくていいんですけどね。
削除