RodolfoFerro/moltransform

Molecular transformations for graphic displaying using Cartesian coordinates.
Python
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
moltransform
tests
.gitignore
poetry.lock
pyproject.toml

moltransform 💻⚗️

Molecular transformations for graphic displaying using Cartesian coordinates.

How to use it

Generalities:

This package aims to transform (x, y, z) coordinates of molecules by reading and writing directly from a .xyz file and specifying the transformation vector. For each transformation function in the transform module, a verbose flag can be set True to print the transformation matrix to be applied for all (x, y, z) coordinates.

Opening a file

To load a file, we will use the read_xyz function by passing to it the path to the corresponding file to be opened.

An example on how to load a .xyz file:

>>> from moltransform.io import read_xyz
>>> positions_matrix = read_xyz("path/to/file.xyz")

Centering coordinates

Center the molecules' coordinates by finding the center position of all (x, y, z) coordinates.

>>> from moltransform.transform import center
>>> centered_positions = center(positions_matrix)

Translating coordinates

Translate a molecule using a specific vector (a, b, c). This implies:

>>> from moltransform.transform import translate
>>> translated_positions = translate(positions_matrix, [a, b, c])

Scaling coordinates

Scale the molecule along the 3-axis by a vector (a, b, c). This implies:

>>> from moltransform.transform import scale
>>> scaled_positions = scale(positions_matrix, [a, b, c])

Saving into a file

To save transformed coordinates into a file, we will use the write_xyz function by passing to it the path to the corresponding file to be created.

An example on how to save into a .xyz file:

>>> from moltransform.io import write_xyz
>>> write_xyz("path/to/file.xyz", positions_matrix)
You can’t perform that action at this time.