Chemistry::Bond - Chemical bonds as objects in molecules
use Chemistry::Bond;
# assuming we have molecule $mol with atoms $a1 and $a2
$bond = Chemistry::Bond->new(
id => "b1",
type => '=',
atoms => [$a1, $a2]
order => '2',
);
$mol->add_bond($bond);
# simpler way of doing the same:
$mol->new_bond(
id => "b1",
type => '=',
atoms => [$a1, $a2]
order => '2',
);
This module includes objects to describe chemical bonds. A bond is defined as a
list of atoms (typically two), with some associated properties.
In addition to common attributes such as id, name, and type, bonds have the
order attribute. The bond order is a number, typically the integer 1, 2, 3, or
4.
- Chemistry::Bond->new(name => value, ...)
- Create a new Bond object with the specified attributes. Sensible defaults
are used when possible.
- $bond->order()
- Sets or gets the bond order.
- $bond->length
- Returns the length of the bond, i.e., the distance between the two atom
objects in the bond. Returns zero if the bond does not have exactly two
atoms.
- $bond->aromatic($bool)
- Set or get whether the bond is considered to be aromatic.
- $bond->print
- Convert the bond to a string representation.
- $bond->atoms()
- If called with no parameters, return a list of atoms in the bond. If
called with a list (or a reference to an array) of atom objects, define
the atoms in the bond and call $atom->add_bond
for each atom in the list. Note: changing the atoms in a bond may have
strange side effects; it is safer to treat bonds as immutable except with
respect to properties such as name and type.
- $bond->delete
- Calls $mol->delete_bond($bond) on the bond's
parent molecule. Note that a bond should belong to only one molecule or
strange things may happen.
<https://github.com/perlmol/Chemistry-Mol>
Chemistry::Mol, Chemistry::Atom, Chemistry::Tutorial
Ivan Tubert-Brohman <itub@cpan.org>
Copyright (c) 2005 Ivan Tubert-Brohman. All rights reserved. This program is
free software; you can redistribute it and/or modify it under the same terms
as Perl itself.