[Bioperl-l] PDB sequence from ATOM records

Alex Gutteridge alexg at ebi.ac.uk
Mon Jul 5 09:42:16 EDT 2004


On Monday, July 5, 2004, at 02:40  pm, Jurgen Pletinckx wrote:

> I have got an implementation ready as well, and hope to fold it
> into the codebase soon.
>
> I would just like to point out that this
>
> # Gaps in the crystal structure: You'll have to pad with 'X's where the
> # ATOM records are missing. E.g. if you have residues
> # GLY40,GLU41,CYS44,LYS45. You need to make the sequence GEXXCK.
>
> is, imo, incorrect - the authors may well be using a historical
> numbering scheme for their protein of interest, and 'missing' residue
> numbers can correspond to a shorter loop in the new structure when
> compared to the 'reference' numbering. In other words - don't insert
> 'missing' residues for the user, as you can be wrong.

Good point. I would say that in my experience this comes up less often 
than the situation I described (loop residues genuinely missing from 
the crystal structure), perhaps the padding could be an optional extra?

> # The only other comment I would make is that I think the atom_seq 
> method
> # should be attached to the Chain object, not the Entry object. And so
> # called by $chain->atom_seq not $entry->atom_seq('A'). The sequence 
> is a
> # property of a chain so this makes the most sense to me personally.
>
> Concur. Except, of course, I can't write it that way: a chain doesn't
> know what residues are part of it, or what structure it is in. So I've
> stuck the method on Entry level, together with all other methods.

This is why I've stopped using the Bio::Structure::* modules. I realise 
that the modules were designed this way to avoid problems with Perl's 
reference counting, but it makes everything really ugly in my opinion. 
No offence intended :). There are other ways around circular references 
(like proxy objects) in Perl which allow different levels of the 
heirarchy to know about each other. Perl6 should make all this sort of 
thing much easier!

> Patch to Entry.pm, Residue.pm and IO/pdb.pm is attached - enjoy! (And,
> of course, review, comment and criticize)
>
> -- 
> Jurgen Pletinckx
> AlgoNomics NV
>

Alex Gutteridge
European Bioinformatics Institute
Cambridge CB10 1SD
UK

Tel: 01223 492550
Email: alexg at ebi.ac.uk



More information about the Bioperl-l mailing list