.pdb ファイルのクイック パーサーを作成しようとしています (タンパク質構造が表示されます)。私が調べているタンパク質の例は、KRAS (がんによく見られる) で、こちらにあります: http://www.rcsb.org/pdb/files/3GFT.pdb
下にスクロールすると、次のような行が表示されます。 ATOM 1 N MET A 1 63.645 97.355 31.526 1.00 33.80 N
最初の要素「atom」は、これがタンパク質の実際の原子に関連していることを意味します。1 は一般的な数、N は原子の種類、"MET" は残基の名前、"A" は鎖の種類、1 (2 番目の "1") は原子の数、次の 3 つの数字は、空間内の xyz 位置です。
出力が必要なのは次のようなものです (下の「1」は、一般的な数ではなく原子数に対応します): MET A 1 63.645 97.355 31.526
さらに複雑なことに、原子数 (この場合は 2 番目の「1」) が負になることがあります。そのような場合、これらの要素は実際のタンパク質ではなく、位置を見つけるために必要な生化学に関連しているため、正のエントリに到達するまでその行をスキップして続行します. さらに悪いことに、次のような行が表示されることがあります。
ATOM 139 CA AILE A 21 63.260 111.496 12.203 0.50 12.87 C
ATOM 140 CA BILE A 21 63.275 111.495 12.201 0.50 12.17 C
どちらも残基 21 を参照していますが、生化学は正確な位置を取得するほど正確ではないため、2 つの選択肢があります。理想的には、「1」、「2」などを指定しますが、最初のオプションだけを使用しても問題ありません。最後に、元の例のアトムのタイプ (「N」) については、「CA」を含む行のみを取得したいと考えています。
私はPythonの初心者で、私のトレーニングは生物統計学にあるので、これを行う最善の方法は何だろうと思っていましたか? この行を for ループで 1 行ずつ解析しますか? Pythonでより高速に実行する方法はありますか? 一部のアトムの二重エントリを処理するにはどうすればよいですか?
質問するのは少し難しいと思いますが、いくつかのガイダンスは非常に役立ちます! R を使用してすべての統計ビットをプログラムしましたが、今はファイルを正しい形式で取得する必要があります。
ありがとう!