2016-03-21 6 views
1

アミノ酸。Biojava:HETは私ではなく、「タンパク質</em>の<em>部」、「タンパク質</em>の<em>リガンド」と考えるべきであるアミノ酸残基の場合に直面していますPDB構造2a65を読む

PDBファイルとcifファイルでは、このLEU.601剰余はHETとタグ付けされていますが、残念ながら名前LEUであるため、BiojavaはATOMとして自動的にタグ付けします。 誰もが「タンパク質鎖A」とリガンド「LEU.601」を区別するための方法を知っていますか?

2a65.pdbのサンプル:

HETATM 4149 N LEU A 601  24.537 32.416 18.866 1.00 15.26   N 
HETATM 4150 CA LEU A 601  25.812 31.696 18.815 1.00 16.66   C 
HETATM 4151 C LEU A 601  25.693 30.381 18.046 1.00 16.48   C 
... 

私biojavaコードのスニペット:

Group g=s.findGroup("A", "601"); 
System.out.println(g); 
System.out.println(g.getType()); 

g=s.findGroup("A", "701"); 
System.out.println(g); 
System.out.println(g.getType()); 

そして、何が生成する:biojava 4では

AminoAcid ATOM:LEU L 601 true ATOM atoms: 9 
amino 
Hetatom 701 BOG true atoms: 20 
hetatm 
+0

あなたはより多くの情報を持っていますか?これは答えにくいようですが、私は "バイオジャワ"には入らないので多分私は間違っています。 – migg

+0

提案をお寄せいただきありがとうございますが、私が実際に追加できるものは実際にはわかりません.../ おそらくいくつかのコードスニペットと例...私はそれを最初のメッセージに追加します。 –

答えて

2

、これはあるがseqresグループとatomグループによって処理されます。配位子の一部であるグループは、セグメントにはまったく含まれません。これは、どのようにそれらをループに示してい抜粋です:

import org.biojava.nbio.structure.Chain; 
import org.biojava.nbio.structure.Group; 
import org.biojava.nbio.structure.Structure; 
import org.biojava.nbio.structure.StructureIO; 

public class StackOverflowIssue { 

    public static void main(String[] args) throws Exception { 

     Structure s = StructureIO.getStructure("2a65");   

     Chain c = s.getChainByPDB("A"); 

     for (Group gr : c.getSeqResGroups()) { 
      System.out.println(gr.getResidueNumber()+" "+gr.getPDBName()); 
     } 

     for (Group gr : c.getAtomGroups()) { 
      if (!gr.isWater()) 
       System.out.println(gr.getResidueNumber()+" "+gr.getPDBName()); 
     } 

    } 

} 

というの出力は原子団がそれを含まない一方でSEQRESグループは、あなたが参照LEU 601が含まれている方法を紹介します。

biojava 5(まだリリースされていませんが、SNAPSHOTビルドを使用したり、github:https://github.com/biojava/biojavaからmasterブランチを直接取得することができます)、ポリマーと非ポリマーのエンティティがより良い方法で処理されます。基本的にすべてのリガンド分子はそれ自身の鎖に割り当てられているので、ポリマー(タンパク質または核酸)とリガンドとの分離が容易です。

あなたは4を使用し続ける場合は、最新の4.2.1(または4.2.2がリリースされるまで数日待つ)を使用してください。

関連する問題