crommy
crommy

Reputation: 493

Biopython PDB - finding RNA chains

I'm using Biopython's PDBParser module to read PDB files. I need to find out which models / chains belong to RNA strands. Is there any simple method for doing this?

Upvotes: 0

Views: 344

Answers (1)

pippo1980
pippo1980

Reputation: 3096

here my attempt using pdb file [1b7f.pdb][1] from RCS_PDB repo

https://www.rcsb.org/structure/1B7F :

from Bio.PDB import PDBParser


parser=PDBParser(QUIET=True)


structure_1 = parser.get_structure('test', '1b7f.pdb')



pippo = ['  A','  C','  G','  U','  I']

for model in structure_1:
    for chain in model:
        for residue in chain:
            if residue.get_resname() in pippo:
                    print("'"+residue.get_resname()+"'",  ' --->   model : ', model , '  chain : ', chain) 


output :

'  G'  --->   model :  <Model id=0>   chain :  <Chain id=P>
'  U'  --->   model :  <Model id=0>   chain :  <Chain id=P>
'  U'  --->   model :  <Model id=0>   chain :  <Chain id=P>
'  G'  --->   model :  <Model id=0>   chain :  <Chain id=P>
'  U'  --->   model :  <Model id=0>   chain :  <Chain id=P>
'  U'  --->   model :  <Model id=0>   chain :  <Chain id=P>
'  U'  --->   model :  <Model id=0>   chain :  <Chain id=P>
'  U'  --->   model :  <Model id=0>   chain :  <Chain id=P>
'  U'  --->   model :  <Model id=0>   chain :  <Chain id=P>
'  U'  --->   model :  <Model id=0>   chain :  <Chain id=P>
'  U'  --->   model :  <Model id=0>   chain :  <Chain id=P>
'  U'  --->   model :  <Model id=0>   chain :  <Chain id=P>
'  G'  --->   model :  <Model id=0>   chain :  <Chain id=Q>
'  U'  --->   model :  <Model id=0>   chain :  <Chain id=Q>
'  U'  --->   model :  <Model id=0>   chain :  <Chain id=Q>
'  G'  --->   model :  <Model id=0>   chain :  <Chain id=Q>
'  U'  --->   model :  <Model id=0>   chain :  <Chain id=Q>
'  U'  --->   model :  <Model id=0>   chain :  <Chain id=Q>
'  U'  --->   model :  <Model id=0>   chain :  <Chain id=Q>
'  U'  --->   model :  <Model id=0>   chain :  <Chain id=Q>
'  U'  --->   model :  <Model id=0>   chain :  <Chain id=Q>
'  U'  --->   model :  <Model id=0>   chain :  <Chain id=Q>
'  U'  --->   model :  <Model id=0>   chain :  <Chain id=Q>
'  U'  --->   model :  <Model id=0>   chain :  <Chain id=Q>

took ages because of the residue name for Ribonucleotides A, C, G, U, I https://pdb101.rcsb.org/learn/guide-to-understanding-pdb-data/primary-sequences-and-the-pdb-format

that for the pdb format are actually ' A' (note empty blank spaces before letter A) and so on ...

Upvotes: 0

Related Questions