Generating MSA Files ==================== This library translates the MSA files, specifically the ``_file_.MONO`` and ``_file_.POLY`` files, to the corresponding JAX versions, ``_file_mono.py`` and ``_file_poly.py``. The MSA files must be generated beforehand using the `MSA Algorithm `_. For more information and the source code, please see `MSA-2.0 `_. **MSA References:** Xie, Z.; Bowman, J.M. Permutationally Invariant Polynomial Basis for Molecular Energy Surface Fitting via Monomial Symmetrization. *J. Chem. Theory Comput.* **2010**, 6, 26-34. Molecule Structure Notation --------------------------- The algorithm supports molecules with the structure .. math:: A_i B_j C_k D_l E_m where the subscripts (:math:`i, j, k...`) represent the number of atoms of a specific type. **Examples:** * **Methane:** :math:`A_4 B` (4 atoms of type A, 1 atom of type B). * **HCN:** :math:`A B C` (1 atom each of types A, B, and C). Monomial and polynomial files generator for an ABC2D3EF molecule ---------------------------------------------------------------- To generate the monomial and polynomial files in a format compatible with JAX and Rust, users can use the ``msa_file_generator`` function from the ``molpipx`` library. Below is an example for Ethanol, represented as :math:`A B C_2 D_3 E F`, for generating monomial and polynomial functions translated from MSA: .. code-block:: python from molpipx import msa_file_generator # The base name of the MSA files (e.g., MOL_1_1_2_3_1_1_2.MONO) msa_head = 'MOL_1_1_2_3_1_1_2' # Label to append to the generated python files label = '1_1_2_3_1_1_2' # Path to the directory containing the MSA files path = 'Ethanol/' msa_file_generator(msa_head, path, label)