Chemistry::MacroMol - Perl module for macromolecules
use Chemistry::MacroMol;
my $mol = Chemistry::MacroMol->new(name => 'my big molecule');
$mol->new_domain(name => "ASP"); # see Chemistry::Domain for details
my @domains = $mol->domains;
For the purposes of this module, a macromolecule is just a molecule that
consists of several "domains". For example, a protein consists of
aminoacid residues, or a nucleic acid consists of bases. Therefore
Chemistry::MacroMol is derived from Chemistry::Mol, with additional methods to
handle the domains.
The way things are currently structured, an atom in a
macromolecule "belong" both to the MacroMol object and to a Domain
object. This way you can get all the atoms in
$protein via
$protein->atoms, or to the atoms in residue 123
via $protein->domain(123)->atoms.
Remember that this class inherits all the methods from Chemistry::Mol. They
won't be repeated here.
- Chemistry::MacroMol->new(name => value, ...)
- Create a new MacroMol object with the specified attributes. You can use
the same attributes as for Chemistry::Mol->new.
- $mol->add_domain($domain, ...)
- Add one or more Domain objects to the molecule. Returns the last domain
added.
- $mol->domain_class
- Returns the domain class that a macromolecule class expects to use by
default. Chemistry::MacroMol objects return "Chemistry::Domain",
but subclasses will likely override this method.
- $mol->new_domain(name => value, ...)
- Shorthand for
$mol->add_domain($mol->domain_class->new(parent
=> $mol, name => value, ...));
- $mol->domains($n1, ...)
- Returns the domains with the given indices, or all by default. NOTE: the
indices start from one (1), not from zero.
Chemistry::Domain, Chemistry::Mol
Ivan Tubert, <itub@cpan.org>
Copyright 2004 by Ivan Tubert
This library is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.