Chemistry-File-PDB
view release on metacpan or search on metacpan
package Chemistry::File::PDB;
our $VERSION = '0.23';
# $Id: PDB.pm,v 1.13 2009/05/10 21:57:32 itubert Exp $
use base qw(Chemistry::File);
use Chemistry::MacroMol;
use Chemistry::Domain;
use Scalar::Util qw(weaken);
use Carp;
use strict;
use warnings;
=head1 NAME
Chemistry::File::PDB - Protein Data Bank file format reader/writer
=head1 SYNOPSIS
) = unpack "x6A5x1A2A2x1A3x1A1A4A1x3A8A8A8", $_;
#print "S:$symbol; N:$name; x:$x; y:$y; z:$z\n";
$seq_n *= 1;
if (!$domain || $seq_n != $curr_residue) {
# new residue
if ($is_macro) {
$domain = Chemistry::Domain->new(
parent => $mol, name => "$res_name$seq_n",
type => $res_name);
$mol->add_domain($domain);
weaken $domain;
$domain->attr('pdb/sequence_number', $seq_n);
$domain->attr('pdb/chain_id', $chain_id);
$domain->attr('pdb/insertion_code', $ins_code);
}
$curr_residue = $seq_n;
}
$symbol =~ s/ //g;
my $atom_name = $symbol.$suff;
$atom_name =~ s/ //g;
$symbol = ucfirst(lc($symbol));
( run in 0.313 second using v1.01-cache-2.11-cpan-65fba6d93b7 )