Skip to content

SmartChemDesign/abc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

abc

Collecting small organic molecule ensembles using Artificial Bee Colony Algorithm (ABC)

An Artificial Bee Colony Algorithm (ABC) (https://link.springer.com/article/10.1007/S10898-007-9149-X) implementation for conformational search of small organic molecules

Based on Hive Python Package implementing ABC Algorithm in Python (https://doi.org/10.5281/zenodo.1004592%7D)

Files decriptions

  • Run.py - a file that receives input information about the molecule, the type of search and the number of iterations
  • Molecule.py - a file that translates smiles or the path to the file containing the molecule into an object containing all the information about the conformations of the molecule during the calculation
  • Cycle.py - a file that contains a call to global and local conformational searches, calculates the necessary functions and compares the conformations with each other
  • Algorithm.py - a file that contains the Artificial Bee Colony Algorithm itself, a single one for local and global searches

Necessary parameters

  • "input" - choose between "molfile" and "smiles"
  • "molecule" - string contains smiles or path to .mol-file

additional parameters

  • "--n_confs" - number of conformations in enseble (default:6)
  • "--global_iterations" - number of ABC iterations of global conformation search (default: 20)
  • "--local_iterations" - number of ABC iterations of local conformation search (default: 20)
  • "--global_exists" - path to .xyz-file containing global minimum conformation of required molecule (default: False)
  • "--MP2" - add final geometry optimization of conformatinal ensemble at MP2 level of theory (default: False)
  • --basis - choose basis set for geometry optimization (default: sto-3g)
  • --iters - max steps of optimization (default: 100)

How to install

  1. You should create conda environment. If you don't have conda, go to install_conda
  2. Copy abc_conformations.yml file to your machine
  3. Type in linux terminal
conda env create -f abc_conformations.yml

then, activate environment

conda activate abc_conformations

How to use

  1. First, you should copy abc_conformations directory to your computer
  2. Write in command line:
python3 Run.py {input} {molecule} --n_confs XX --global_iterations XX --local_iterations XX --global-exists <path/to/global/xyzfile>
  1. In the folder where the package files are located, the following folder system will be created:
  • FINAL

    • molecule-name
      • LOGS
      • BEES
        • OPT_MP2 (optional)
        • OPT
        • UNOPT
      • ASE
      • PICKLE
    • ENSEMBLE
  • FINAL - common folder for all molecules you want to calculate

  • LOGS - folder with temporary files and logs of ABC Algorithm work for every conformation

  • BEES - all calculated conformations

    • UNOPT - conformations got after ABC Algorithm work
    • OPT - optimized conformations which may be included in ensemble
    • OPT_MP2 - included conformations, optimized at MP2 level of theory
  • PICKLE - folder with .pickle-file containing all molecule data after calculation

  • ENSEMBLE - folder with final ensemble

  1. When calculation is over, approved conformations will be located in ./FINAL/molecule-name/ENSEMBLE directory

About

Collecting small organic molecule ensembles using Artificial Bee Colony Algorithm (ABC)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages