[Bioperl-l] acceptable PDB/structure formats

Douglas Kojetin djkojeti at unity.ncsu.edu
Thu Oct 14 11:22:21 EDT 2004

Hi Brian-

Good suggestion on creating a new module-- I think this may be 
long-term goal, but in the immediate future (I need to do some analysis 
quickly) I'll probably use a work around.  I tried to created a dummy 
header in my CNS/XPLOR structure file, but I'm seeing the following 
error after trying to read it:

% ./read_pdb.pl
Use of uninitialized value in pattern match (m//) at 
/sw/lib/perl5/Bio/Structure/IO/pdb.pm line 453, <GEN0> line 4268.

... and I'm not sure what's going on there.  Any clues?

I think I lean more towards your second notion that the HEADER is not 
necessarily required for the structure format -- which might be 
different from the actual PDB (database) format. A structure file, 
consisting only of coordinates, would represent a 'barebones' file.  
Many other programs/databases have individual headers:

- CNS/XPLOR (x-ray and NMR) structure files actually can have a 
user-defined header with information/statistics about the structure 
- MODELLER, a modeling program, creates structure files with a unique 
- CYANA/DYANA (NMR structure calculations) also creates structure files 
with a unique header
- files written from structural analysis programs such as MOLMOL or 

... and I'm sure the list goes on and on for formats I am unfamiliar 
with (AMBER, etc.).

What all of these formats do have in common, although their headers 
differ, is the coordinate lines (I believe) all start with 'ATOM' -- so 
it shouldn't be a problem to write a structure module to first be 
compatible with all structure files, and second add 
specificity/complexity/additional features for individual formats (such 
as the 'PDB' format, so that information in the header if present can 
be extracted).

Thanks again for the input,

On Oct 14, 2004, at 10:25 AM, Brian Osborne wrote:

> Doug,
> You could also ask this group if they'd mind your creating a new
> Structure::IO module for this CNS/XPLOR format and adding it to 
> Bioperl.
> There's only 2 ways of looking at this, either the HEADER (or headers) 
> is
> required in PDB format, thus CNS/XPLOR format is not PDB format and you
> could write a new module, or the HEADER (or headers) is not required 
> in PDB
> format so the existing module should not be throwing this fatal 
> exception.
> -----Original Message-----
> From: bioperl-l-bounces at portal.open-bio.org
> [mailto:bioperl-l-bounces at portal.open-bio.org]On Behalf Of Douglas 
> Kojetin
> Sent: Wednesday, October 13, 2004 1:05 PM
> To: bioperl-l at portal.open-bio.org
> Subject: [Bioperl-l] acceptable PDB/structure formats
> Howdy All-
> I wanted to check one more time and see if anyone has any advice about
> using structure/PDB files that do not contain all the PDB-formatted
> headers.  See the blurb pasted below (the error is from the following
> small-liner script, where the PDB/structure file was experimentally
> calculated from CNS/XPLOR, rather than downloaded from the actual 'PDB'
> protein data bank):
> #!/usr/bin/perl -w
> use Bio::Structure::IO;
> use strict;
> my $structio = Bio::Structure::IO->new(-format => 'pdb', -file =>
> "file.pdb");
> my $struc = $structio->next_structure;
> BioPython (using 'from Bio.PDB import *') has no problem reading my
> CNS/XPLOR structure files ... but I'd prefer to use BioPerl (since I'm
> more familiar with perl vs. python, although I could look at this as an
> opportunity to branching out ... but, graduation is close!)
> Are structure (PDB) files from the protein data bank, with the proper
> PDB formatting/headers, the only supported structure format?
> Thanks,
> Doug
>> I am seeing an error I believe is associated with the 'format' of my
>> PDB.  It was created using CNS (format similar to XPLOR).  When I try
>> to run the below script, I get an error as follows:
>> % ./read_pdb.pl > out
>> ------------- EXCEPTION  -------------
>> MSG: PDB stream with no HEADER. Not pdb in my book
>> STACK Bio::Structure::IO::pdb::next_structure
>> /sw/lib/perl5/Bio/Structure/IO/pdb.pm:138
>> STACK toplevel ./read_pdb.pl:6
>> --------------------------------------
>> 1. Are CNS or XPLOR formats supported?
>> 2. Is there an easy way of quickly converting to a 'PDB' authentic
>> format?  It looks like it just wants some header information.
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at portal.open-bio.org
> http://portal.open-bio.org/mailman/listinfo/bioperl-l

More information about the Bioperl-l mailing list