Chemistry::Bond(3pm) User Contributed Perl Documentation Chemistry::Bond(3pm)

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.

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.

2022-07-14 perl v5.34.0