Chemistry::File::XYZ - XYZ molecule format reader/writer
# read an XYZ file
my $mol = Chemistry::Mol->read("myfile.xyz");
# write an XYZ file
This module reads XYZ files. It automatically registers the 'xyz' format with
Chemistry::Mol, so that XYZ files may be identified and read by
The XYZ format is not strictly defined and there are various versions floating
around; this module accepts the following:
First line: atom count (optional)
Second line: molecule name or comment (optional)
All other lines: (symbol or atomic number), x, y, and z coordinates separated by
spaces, tabs, or commas.
If the first line doesn't look like a number, the atom count is deduced from the
number of lines in the file. If the second line looks like it defines an atom,
it is assumed that there was no name or comment.
On writing, the default format is the following, giving H2 as an example.
H 0.0000 0.0000 0.0000
H 0.0000 0.7000 0.0000
That is: count line, name line, and atom lines (symbol, x, y, z). These format
can be modified by means of certain options:
- Control whether or not to include the name.
- Control whether or not to include the count line.
- If false, use the atomic numbers instead of the atomic symbols.
$mol->write("out.xyz", count => 0, name => 0, symbol => 0);
gives the following output:
1 0.0000 0.0000 0.0000
1 0.0000 0.7000 0.0000
Ivan Tubert-Brohman <firstname.lastname@example.org>