molml.io module¶

A collection of functions for loading molecule data from different file types.

Note: Functions in this file should be agnostic to the elements/numbers. This should be deferred to the LazyValues object.

molml.io.read_cry_data(path)

Read a cry file and extract the molecule’s geometry.

The format should be as follows:

U_xx U_xy U_xz
U_yx U_yy U_yz
U_zx U_zy U_zz
energy (or comment, this is ignored for now)
ele0 x0 y0 z0
ele1 x1 y1 z1
...
elen xn yn zn


Where the U matrix is made of the unit cell basis vectors as column vectors.

Parameters: path : str A path to a file to read val : LazyValues An object storing all the data
molml.io.read_file_data(path)

Determine the file type and call the correct parser.

The accepted file types are .out and .xyz files.

Parameters: path : str A path to a file to read elements : list All the elements in the molecule. numbers : list All the atomic numbers in the molecule. coords : numpy.array, shape=(n_atoms, 3) The atomic coordinates of the molecule.
molml.io.read_mol2_data(path)

Read a mol2 file and extract the molecule’s geometry.

Roughly, the file format is something like:

@<TRIPOS>MOLECULE
...
@<TRIPOS>ATOM
1 ele0id x0 y0 z0 ele0.type 1 MOL charge0
2 ele1id x1 y1 z1 ele1.type 1 MOL charge1
...
@<TRIPOS>BOND
...

Parameters: path : str A path to a file to read val : LazyValues An object storing all the data
molml.io.read_out_data(path)

Read an out and extract the molecule’s geometry.

The file should be in the format:

ele0 x0 y0 z0
ele1 x1 y1 z1
...

Parameters: path : str A path to a file to read val : LazyValues An object storing all the data
molml.io.read_xyz_data(path)

Read an xyz file and extract the molecule’s geometry.

The file should be in the format:

num_atoms
comment
ele0 x0 y0 z0
ele1 x1 y1 z1
...

Parameters: path : str A path to a file to read val : LazyValues An object storing all the data