Skip to content

Molecule OPerator, a molecule information extraction and operation unit

License

Notifications You must be signed in to change notification settings

gentle1999/MolOP

Repository files navigation

MolOP

This repository, Molecule OPerator, which is a Pydantic-based molecule information extraction and operation unit. Any of the attributes of the molecule defined can be accessed with clear and unified type definition and easy-to-use API.

Features

  • Automatically extract molecule information from the Input and Output files of the common QM calculation softwares.

    • Coords file
      • GJF Available
      • XYZ Available
      • SDF Available
    • QM output file
      • G16 LOG Available
      • G16 FCHK Available
      • xTB OUT Available
      • ORCA TODO
  • Offer a molecular graph recovery algorithm from the simple coodinates of atoms based on the initial work by OpenBabel, which can be easily used in the file reading process. This algorithm is different from the rdDetermineBonds (Original code implemented by Jensen group and integrated in RDKit from the 2022.09 release, which is not suitable for the free radicals and complex containing metal. See structure_recovery_cases to learn more about the difference).

    Although our algorithm overcome the free radicals and metal problem and tested on the test_cases file, it is still not perfect. There is no denying that, rdDetermineBonds works well for normal organic molecules. Thus, we would give molecule structure recovered by rdDetermineBonds first, if error happens, we will use our algorithm to recover the molecule structure instead. We hope that this strategy can take advantage of both approaches.

  • Offer the moleculer geometry and structure edit functions. Doing

    • Substructure replacement Available
    • User-friendly orientation change Available
    • Geometry-based TS check Available
    • SMPS descriptor calculation Available
    • Other functions TODO

Get Start

See the Tutorial Notebook for more details.

All teat cases shown in the test_cases file.

Installation

This package is actively developing, and this time is too early to be published to pypi. So you can install by the following.

In ZJU intranet

You can use our self-host repository.

pip install --extra-index-url http://10.72.201.58:13000/api/packages/tmj/pypi/simple/ --trusted-host 10.72.201.58 molop --upgrade

For additional descriptor calculation, you need to install the requirements below:

pip install --extra-index-url http://10.72.201.58:13000/api/packages/tmj/pypi/simple/ --trusted-host 10.72.201.58 molop[full] --upgrade

On Internet

pip install git+https://github.com/gentle1999/MolOP.git

or

git clone https://github.com/gentle1999/MolOP.git
cd MolOP
pip install -e .

Installation for Developers

# clone the repository
git clone https://github.com/gentle1999/MolOP.git
cd MolOP
# create a new environment (conda is not necessary)
conda create -n molop python=3.8 # The lowest python version is 3.8
conda activate molop
# install the dependencies
pip install poetry
poetry install --with dev
poetry install --all-extras

Online Documentation (only avialable in ZJU intranet now)

Visit MolOP Documentation.

Start documentation server

mkdocs serve

About

Molecule OPerator, a molecule information extraction and operation unit

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published