a little python tool to randomize atom positions in a CML file

grindhold 549a2c286e tenfold the randomization range 2 years ago
cmljitter 549a2c286e tenfold the randomization range 2 years ago
scripts 89d840da99 license: updated year in license texts 2 years ago
.gitignore 794427696a gitignore: added build and dist 2 years ago
LICENSE 9fec03f6a7 added license and readme 2 years ago
README.md 77dd38cd6b readme: added instructions 2 years ago
setup.py b3f685d950 Initial commit 2 years ago

README.md

CML Jitter

A little tool that reads a cml file from stdin, assigns random position to each atom found and writes the result to stdout.

Usage Example

% cat mymolecule.cml | cmljitter > myrandomizedmolecule.cml

Installation

% git clone https://notabug.org/grindhold/cmljitter
% cd cmljitter
% python3 setup.py build
# python3 setup.py install

Purpose

IUPAC parsers like libopsin know how to derive the topological structure from a IUPAC conformant molecule name, but not its actual structure in threedimensional space. If you let it parse a molecule name, it will output a CML file in which each atom will be placed at coordinates (0,0,0). Tools like avogadro are able to calculate this structure using forcefield algorithms, but this only works properly if all atoms are in different places. Cmljitter fills the gap and is able to prepare a cml file to be optimized by avogadro.

License

GPL-3.0