{"id":15018299,"url":"https://github.com/xiaoruidong/rdmc","last_synced_at":"2025-10-23T17:31:44.885Z","repository":{"id":188608519,"uuid":"323429813","full_name":"xiaoruiDong/RDMC","owner":"xiaoruiDong","description":"Reaction Data and Molecular Conformers (RDMC) is a package dealing with reactions, molecules, conformers, majorly in 3D.","archived":false,"fork":false,"pushed_at":"2024-07-16T14:22:10.000Z","size":49360,"stargazers_count":25,"open_issues_count":16,"forks_count":1,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-01-30T20:05:02.703Z","etag":null,"topics":["conformer","molecule","rdkit","reaction"],"latest_commit_sha":null,"homepage":"https://xiaoruidong.github.io/RDMC/","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xiaoruiDong.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-12-21T19:30:29.000Z","updated_at":"2025-01-22T19:53:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"8c4d7a79-3e23-4f40-8728-0f622c92ff26","html_url":"https://github.com/xiaoruiDong/RDMC","commit_stats":{"total_commits":923,"total_committers":6,"mean_commits":"153.83333333333334","dds":0.2936078006500542,"last_synced_commit":"66c1b5db78e24c8c9aec75a6b1030689646be079"},"previous_names":["xiaoruidong/rdmc"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaoruiDong%2FRDMC","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaoruiDong%2FRDMC/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaoruiDong%2FRDMC/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaoruiDong%2FRDMC/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xiaoruiDong","download_url":"https://codeload.github.com/xiaoruiDong/RDMC/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237869080,"owners_count":19379263,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["conformer","molecule","rdkit","reaction"],"created_at":"2024-09-24T19:51:48.305Z","updated_at":"2025-10-23T17:31:44.880Z","avatar_url":"https://github.com/xiaoruiDong.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"![RDMC Logo](docs/source/_static/RDMC_icon.svg)\n\n# Reaction Data and Molecular Conformer\n\n[![Documentation](https://github.com/xiaoruiDong/RDMC/actions/workflows/build_docs.yaml/badge.svg)](https://xiaoruidong.github.io/RDMC/)\n[![CI](https://github.com/xiaoruiDong/RDMC/actions/workflows/ci.yaml/badge.svg)](https://github.com/xiaoruiDong/RDMC/actions/workflows/ci.yaml)\n[![codecov](https://codecov.io/gh/xiaoruiDong/RDMC/graph/badge.svg?token=5LT5A35783)](https://codecov.io/gh/xiaoruiDong/RDMC)\n[![Anaconda Cloud](https://img.shields.io/conda/v/xiaoruidong/rdmc)](https://anaconda.org/xiaoruidong/rdmc)\n[![PyPI](https://img.shields.io/pypi/v/rdmc)](https://pypi.org/project/rdmc/)\n[![MIT license](http://img.shields.io/badge/license-MIT-brightgreen.svg)](http://opensource.org/licenses/MIT)\n\nA light-weight software package with expertise in handling Reaction Data and Molecular (including transitions states) Conformers.\n\n## Installation\n\nThe package can be easily installed with conda or mamba with\n\n```\nconda install -c xiaoruidong rdmc\n```\n\nYou can also install RDMC from the source code:\n\n```\ngit clone https://github.com/xiaoruidong/rdmc;\ncd RDMC;\nconda env create -f environment.yml;\nconda activate rdmc;\npython -m pip install -e --no-deps -vv ./;\n```\n\nThere are two major modules in RDMC:\n\n## ``rdtools``\n\nIt has a collections of functions that can be directly operated on to RDKit native objects. Most of them can be regarded as a modified version of a RDKit native operation but with simplified\nimports, more intuitive usage, and more robustness implementation. They are distributed in submodules, each named by its relevance field and objects. It is best used in cases where efficiency is a\nmajor conern and the task you required is relatively simple. Here are some highlights in ``rdtools``:\n\n- viewers in ``rdtools.view``. These viewers greatly extend RDKit's default Ipython 3D viewer, with the capability of viewing animations and interaction with conformers.\n- ``generate_resonance_structures`` in ``rdtools.resonance`` is able to generate resonance structures for radical molecules that is not capable by the original RDKit.\n- ``mol_from_smiles`` in ``rdtools.conversion`` make sure the created molecule has an atom ordering consistent with the atom mapping\n- ``mol_from_xyz`` supports two backends ``openbabel`` as well as ``xyz2mol`` for molecule connectivity perception. If both native backends fail (e.g., cannot be sanitized, or wrong charge or multiplicity), ``rdtools`` also provided a heuristic fix tool ``fix_mol`` in ``rdtools.fix`` to help fix the molecules if possible.\n\n## ``rdmc``\n\nIt can be regarded as a midware between RDKit/``rdtools`` basic operations and complicated workflows. ``Mol`` (Previously, ``RDKitMol``) and ``Reaction`` are the most important classes.\n\n- ``Mol`` (known as ``RDKitMol`` previously) is a child class of ``RWMol``, which means that you can directly use it with RDKit's native functions, but also integrated a lot of tools in ``rdtools``, so you can directly use them as class methods. The appended methods not only provides convenience in usage, but also make sure the output molecule objects, if applicable, is still a ``rdmc.Mol`` object. While many RDKit functions will just output ``Chem.Mol`` which is no longer editable, breaking the flow of your molecule operations.\n- ``Reaction`` provides intuitive APIs for getting bond analysis, reaction comparison, visualization, etc.\n\nFor detailed APIs, please check the [documentation](https://xiaoruidong.github.io/RDMC/).\n\n## Demos\n\nFeel free to check demos in the `ipython/`, some of them are also available on the Google Colab:\n\n- [Viewer Examples](https://colab.research.google.com/drive/1-jc3rkzEuPNlRiXhw36BDGfR0WoYkMsp?usp=sharing)\n- [Handle molecule from/to XYZ](https://colab.research.google.com/drive/1QbmdvUMQqByPBDQVW7xTlp2rXg9EJ2_J?usp=sharing)\n- [Parse QM Results - Built-in Parsers](https://colab.research.google.com/drive/1JnTzETOGE3R3Q_foOLsnFgeN883J36dl?usp=sharing)\n- [Parse QM Results - General Parsers](https://colab.research.google.com/drive/1-UD_UfStU60VeMauPk8cA56kVBs0PCey?usp=sharing)\n- [Conformer Generation Workflow](https://colab.research.google.com/drive/1-dmGsNMHlxFafu8-CECkNoRgoEMVH7PO?usp=sharing)\n- [Forcefield Examples](https://colab.research.google.com/drive/1-_ZMEyxyi-I5pZyy3LHiun08XDLR8YKb?usp=sharing)\n- [Generate Atom Map for Reactions](https://colab.research.google.com/drive/19opX3Sr4R24o9n8f1o4LMSqlVIwN83xk?usp=sharing)\n\n## Requirements\n\n- To use ``rdtools``, you only needs ``numpy`` and ``rdkit`` at minimum. You can install optional dependencies: ``scipy`` for better resonance structure generation for polycyclic molecules, ``py3dmol`` to use the amazing 3D viewers, ``openbabel`` to extend `rdmc`'s xyz perception cability.\n- To use ``rdmc``, the dependencies are basically the same as ``rdtools``, but we do recommend installing all optional dependencies for a better experience. Besides, to plot curves and figures for data, you can install ``matplotlib``; to play around with the log parsers you should consider install ``cclib`` and ``ipywidgets``. And to start computations in ``conformer_generation``, you need to have ``xtb`` and ``orca`` (which are free to academia) installed to get some serious results.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxiaoruidong%2Frdmc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxiaoruidong%2Frdmc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxiaoruidong%2Frdmc/lists"}