flour 1.0.1

Creator: bradpython12

Last updated:

Add to Cart

Description:

flour 1.0.1

flour is a Python library for really fast chemical file reading and writing.


Table of contents

Installation
.cube files
Developer guide



Installation
pip install flour


.cube files
import numpy as np
import flour

# Write the cube file.
flour.write_cube(
path="molecule.cube",
title1="The first line of the cube file",
title2="The second line of the cube file",
# The atomic number of each atom.
atoms=np.array([1, 35], dtype=np.uint8),
# The charge on each atom.
charges=np.array([0., 0.]),
# The position matrix of the molecule.
positions=np.array([
[-0.5, 0., 0.],
[1., 0., 0.],
]),
# The origin of the voxel grid.
voxel_origin=np.array([-4.5, -4.5, -4.5]),
# The a, b, c vectors of a single voxel.
voxel_size=np.array(
[
[0.5, 0., 0.],
[0., 0.5, 0.],
[0., 0., 0.5],
],
),
# A 20 x 20 x 20 voxel grid.
voxels=np.random.rand(20, 20, 20),
)

# Read the cube file.
cube_data = flour.read_cube("molecule.cube")
cube_data.atoms # The atomic number of each atom.
cube_data.charges # The charge of each atom.
cube_data.positions # The position matrix of the molecule.
cube_data.grid.origin # The origin of the voxel grid.
cube_data.grid.voxel_size # The a, b, c vectors of a single voxel.
cube_data.grid.voxels # The voxel grid.


Developer guide
If you want to develop FLOUR there’s a couple of handy things you should know.
FLOUR is built using the excellent maturin library. This means that to build
the library you run
maturin develop --extras=dev --profile=release
and that’s more or less all there is to it. The only other thing to note is that we do have
a justfile, which contains commands you might find helpful for formatting and linting your code.
To use the justfile you should grab just.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.