Automated Forcefield Optimization Extension

Auto-FOX is a library for analyzing potential energy surfaces (PESs) and using the resulting PES descriptors for constructing forcefield parameters. Further details are provided in the documentation.

Currently implemented

This package is a work in progress; the following functionalities are currently implemented:

  • The MultiMolecule class, a class designed for handling and processing potential energy surfaces. (1)

  • A multi-XYZ reader. (2)

  • A radial and angular distribution generator (RDF & ADF). (3)

  • A root mean squared displacement generator (RMSD). (4)

  • A root mean squared fluctuation generator (RMSF). (5)

  • Tools for describing shell structures in, e.g., nanocrystals or dissolved solutes. (6)

  • A Monte Carlo forcefield parameter optimizer. (7)

Using Auto-FOX

  • An input file with some basic examples is provided in the FOX.examples directory.

  • An example MD trajectory of a CdSe quantum dot is included in the directory.

    • The absolute path + filename of aforementioned trajectory can be retrieved as following:

>>> from FOX import example_xyz
  • Further examples and more detailed descriptions are available in the documentation.


Anaconda environments

  • While not a strictly required, it stronly recomended to use the virtual environments of Anaconda.

  • Anaconda comes with a built-in installer; more detailed installation instructions are available for a wide range of OSs.

  • Anaconda environments can be created, enabled and disabled by, respectively, typing:

    • Create environment: conda create -n FOX -c conda-forge python pip

    • Enable environment: conda activate FOX

    • Disable environment: conda deactivate

Installing Auto-FOX

  • If using Conda, enable the environment: conda activate FOX

  • Install Auto-FOX with PyPi: pip install auto-FOX --upgrade

  • Congratulations, Auto-FOX is now installed and ready for use!

Optional dependencies

  • The plotting of data produced by Auto-FOX requires Matplotlib. Matplotlib is distributed by both PyPi and Anaconda:

    • Anaconda: conda install --name FOX -y -c conda-forge matplotlib

    • PyPi: pip install matplotlib

  • Construction of the angular distribution function in parallel requires DASK.

    • Anaconda: conda install -name FOX -y -c conda-forge dask

  • RDKit is required for a number of .psf-related recipes.

    • Anaconda: conda install -name FOX -y -c conda-forge rdkit

    • PyPi: pip install rdkit