Get started
To get started, we provide show how to use different capabilities of MLatom on an example of geometry optimization.
Using input file
Below is an example to use the command-line options or input file to run typical calculations. They can be directly tested online on the Aitomistic Hub.
MLatom can be run in the command line format using the command-line options or input file.
To optimize geometry using the ANI-1ccx method, you can use the input file geomopt.inp which you can download or copy-paste from:
ANI-1ccx # pre-trained model
geomopt # requests geometry optimization
xyzfile=init.xyz # initial geometry guess
optxyz=opt.xyz # file with optimized geometry
This input requires you to provide init.xyz file (need to be uploaded to the same folder as the input file on the Aitomistic Hub)
Note
This self-contained input file without the need to provide a separate file with XYZ coordinates also works:
ANI-1ccx # pre-trained model
geomopt # requests geometry optimization
xyzfile='
8
C 0.0000000000000 0.0000000000000 0.7608350816719
H -0.0000000000000 1.0182031026887 1.1438748775511
H 0.8817897531403 -0.5091015513443 1.1438748775511
H -0.8817897531403 -0.5091015513443 1.1438748775511
C -0.0000000000000 -0.0000000000000 -0.7608350816719
H -0.8817897531403 0.5091015513443 -1.1438748775511
H 0.8817897531403 0.5091015513443 -1.1438748775511
H -0.0000000000000 -1.0182031026887 -1.1438748775511
'
Then run MLatom simulations using this input file as:
mlatom geomopt.inp &> geomopt.out
The program will print out the relevant calculation information to the output file geomopt.out.
Using Python API
You can also use MLatom’s via its Python API. Aitomistic Hub supports submission of the Python scripts and launching Jupyter Notebooks. Below is an example of Python script using MLatom to optimize geometry at ANI-1ccx – the simulation task the same as in the above example with command-line execution:
import mlatom as ml # import MLatom module.
ani = ml.models.methods(method='ANI-1ccx') # denfine an ANI-1cxx model.
init_mol = ml.data.molecule.from_xyz_file('init.xyz') # load the molecular structure.
final_mol = ml.optimize_geometry(model=ani, initial_molecule=init_mol).optimized_molecule # the optimized structure can be obtained by command.
final_mol.xyz_coordinates # we can see the coordinates of the last molecule.
print(final_mol.get_xyz_string()) # print the coordinates in ".xyz" format.
final_mol.write_file_with_xyz_coordinates(filename='opt.xyz') # save it in "final.xyz".