#!/usr/bin/perl
# Getting Entry, Chain, Residue, and Atom objects given a PDB file
use Bio::Structure::IO;
use strict;
my $file = shift or die "No PDB file\n";
my $structio = Bio::Structure::IO->new(-file => $file);
my $struc = $structio->next_structure;
for my $chain ($struc->get_chains) {
my $chainid = $chain->id;
# one-letter chaincode if present, 'default' otherwise
for my $res ($struc->get_residues($chain)) {
my $resid = $res->id;
# format is 3-lettercode - dash - residue number, e.g. PHE-20
my $atoms = $struc->get_atoms($res);
# actually a list of atom objects, used here to get a count
print join "\t", $chainid,$resid,$atoms,"\n";
}
}