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, ...)
- $mol->add_domain($domain, ...)
- $mol->new_domain(name => value, ...)
- $mol->domains($n1, ...)
Create a new MacroMol object with the specified attributes. You can use the same attributes as for Chemistry::Mol->new.
Add one or more Domain objects to the molecule. Returns the last domain added.
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.
Shorthand for $mol->add_domain($mol->domain_class->new(parent => $mol, name => value, ...));
Returns the domains with the given indices, or all by default. NOTE: the indices start from one (1), not from zero.
Ivan Tubert, <firstname.lastname@example.org>
COPYRIGHT AND LICENSE
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.