Chemistry::Bond - Chemical bonds as objects in molecules
Contents
Copyright
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.
perl v5.34.0 2022-07-14 Chemistry::Bond(3pm)
Description
This module includes objects to describe chemical bonds. A bond is defined as a list of atoms (typically
two), with some associated properties.
BondAttributes
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.
Methods
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.
Name
Chemistry::Bond - Chemical bonds as objects in molecules
See Also
Chemistry::Mol, Chemistry::Atom, Chemistry::Tutorial
Source Code Repository
<https://github.com/perlmol/Chemistry-Mol>
Synopsis
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',
);
