我正在尝试在复杂的蛋白质/RNA PDB 文件中将 RNA 从蛋白质中分离出来,并且我想要所有 RNA 信息,其中杂原子位于碱基之间但没有 H20 等。简而言之,我希望 pdb 文件的 RNA 部分没有不连续的线条。
我设法使用 Bio PDB Select 将 RNA 从蛋白质中分离出来,但当我使用 is_aa(residue) 时,它会将杂原子视为氨基酸。所以杂原子不会出现在我的“唯一 RNA”文件中。
from Bio.PDB import *
from Bio.PDB import PDBParser, PDBIO, Select
import os
class ProtSelect(Select):
def accept_residue(self, residue):
return 1 if is_aa(residue) == True else 0
class RNASelect(Select):
def accept_residue(self, residue):
return 1 if is_aa(residue) == False and residue.id[0] != "W" else 0
pdb = PDBParser().get_structure("2bh2", "pdb2bh2.ent")
io = PDBIO()
io.set_structure(pdb)
io.save("seqprotest.pdb", ProtSelect())
io.save("seqRNAtest.pdb", RNASelect())