MLatom just got easier to install, and freer to build on. Installation is now a single command, and MLatom is released under the Apache License 2.0 — permissive, with an explicit patent grant. Here is what each change means in practice.
Installation is now a single command:
python3 -m pip install -U mlatom
It pulls in the required Python backends itself, including PyTorch/TorchANI and the geometry-optimization backend. Until recently you had to install those yourself in a second step (pip install -U torch torchani geometric); that step is gone. Python 3.9–3.11.
One extra step remains if you want AIQM2: it also needs the DFT-D4 program, which installs through conda.
conda install -c conda-forge dftd4
export dftd4bin=$(which dftd4)
MLatom can also now be installed directly from a source clone, if you would rather track the repository than a release.
MLatom is now released under the Apache License 2.0. You can use it, modify it, and build on it commercially, and the licence carries an explicit patent grant. The previous licence required citation as a condition; that clause is gone.
For most academic users this changes little day to day — you could already use MLatom, and we would still like to be cited. What opens up is everything around the edges: MLatom can now be built into a commercial product or an internal pipeline, forked, redistributed, or vendored into a larger tool. Apache 2.0 is one of the most widely used open-source licences there is, so those terms are already familiar wherever software gets adopted — and that familiarity is most of the value.
Citation is now a request, not a licence condition. If MLatom contributes to your work, please cite it — that is how the project stays funded and maintained:
Pavlo O. Dral et al. MLatom 3: A Platform for Machine Learning-Enhanced Computational Chemistry Simulations and Workflows. J. Chem. Theory Comput. 2024, 20, 1193–1213. DOI: 10.1021/acs.jctc.3c01203
Optimizing a water molecule with AIQM2 — an AI-enhanced quantum-mechanical method native to MLatom, for CHNO elements:
import mlatom as ml
mol = ml.data.molecule.from_xyz_string('''3
O 0.00000 0.00000 0.11779
H 0.00000 0.75545 -0.47116
H 0.00000 -0.75545 -0.47116
''')
aiqm2 = ml.methods(method='AIQM2')
opt = ml.optimize_geometry(model=aiqm2, initial_molecule=mol).optimized_molecule
print(opt.energy)
The same job as an input file, if you prefer the command line:
AIQM2 # method
geomopt # task: geometry optimization
xyzfile=init.xyz # input geometry
optxyz=opt.xyz # output geometry
mlatom geomopt.inp
Rather not install anything? MLatom also runs in your browser on the Aitomistic Hub, driven by Protomia — an AI assistant that carries out a whole simulation from a plain-language request.
Links