项目作者: duartegroup

项目描述 :
fast functionalisation of molecules
高级语言: Python
项目地址: git://github.com/duartegroup/molfunc.git
创建时间: 2020-02-28T10:29:54Z
项目社区:https://github.com/duartegroup/molfunc

开源协议:MIT License

下载


pytest catch2 codecov PyPI version License: MIT

alt text

molfunc

About

molfunc is a Python tool for functionalisation of 3D molecules. Given a
.xyz file molecular functionalisation is performed
by specifying monovalent atoms in the structure to swap for a set of fragments given as their
corresponding SMILES strings. The energy of the combined molecule is minimised with purely rigid body rotations,
as such, generated structures may require further (constrained) optimisation. Possible
use cases include catalyst functionalisation, ligand modification and combinatorial molecule generation.

Installation

  1. pip install molfunc==2.0.0b0

The old Python/Cython version is still available with pip install molfunc=1.0.0. Alternatively, to install from source:

  1. git clone https://github.com/duartegroup/molfunc.git
  2. cd molfunc/
  3. pip install Cython
  4. python setup.py install

NOTE: Requires a modern C++ compiler.

Usage

molfunc provides a minimal Python API and core CLI. To convert PH3 to PMe3 in Python:

  1. from molfunc import print_combined_molecule
  2. print_combined_molecule(core_xyz_filename='examples/PH3.xyz',
  3. atoms_to_del=[2, 3, 4],
  4. frag_names=['Me'],
  5. name='PMe3')

or from the command line:

  1. molfunc examples/PH3.xyz -a 2 3 4 -f Me

where in both cases all hydrogen atoms (atom indexes 2, 3, 4) are swapped for methyls. See examples/
for more examples. Functionalising with all combinations of fragments is also possible with

  1. molfunc examples/PH3.xyz -a 2 --all

Citation

If molfunc us used in a publication please consider citing the autodE paper where it’s outlined:

T. A. Young, J. J. Silcock, A. J. Sterling, F. Duarte, Angew. Chem. Int. Ed., 2021, 60, 4266.