Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
71e4d25
Added Diels-Alder reactor template
Aug 20, 2025
718c498
Deleted Diels-Alder template
Aug 20, 2025
42be2b7
Added templates of several reactions
Aug 21, 2025
81904f8
Added imports for templates
Aug 21, 2025
5222876
two reaction added
Aug 21, 2025
1dfa90e
multiple reactant new reaction templates added
Aug 22, 2025
1051c2b
template names added
Aug 22, 2025
8288609
Templates name adjusted
Aug 22, 2025
7afcc53
adjusted templates name added
Aug 22, 2025
a20b419
Aza cope mannich reaction updated
Aug 23, 2025
bec44fa
Aza cope mannich reaction updated
Aug 23, 2025
2afcf8c
Updated
Aug 23, 2025
bd53195
Diels alder updated
Sep 11, 2025
f8ba0a8
gilman updated
Sep 12, 2025
26baca8
Heck reaction updated
Sep 12, 2025
99bd00e
update and added templates of several reaction
Nov 10, 2025
0ed707e
Gilman reaction updated
Nov 10, 2025
2b1034b
updated reaction names
Nov 10, 2025
90ecb1a
Deleted the duplicates reaction
Nov 10, 2025
4e61f47
init py updated
Nov 10, 2025
0a5897d
robinson annulation updated
Nov 10, 2025
a75888c
New reaction added
Jan 30, 2026
4ef77f4
pfitzinger reaction and init updated
Jan 30, 2026
4afbb6e
Passerini Reaction Updated
Feb 1, 2026
bdbe1f7
Reactants names updated
Feb 24, 2026
5381e6f
Reactants names updated
Feb 24, 2026
3cdc02d
New reaction templates added
Feb 24, 2026
a876dde
init.py updated
Feb 24, 2026
ecb3ec9
New reaction template added
Feb 25, 2026
7503fae
New reaction templates added
Feb 25, 2026
c9c2acb
Wurtz Fittig reaction updated
Feb 25, 2026
2c8eb3f
Baylis-Hillman reaction updated
Feb 26, 2026
96af31e
Eschenmoser Coupling reaction updated
Mar 2, 2026
e820a24
Eschenmoser Coupling Reaction updated
Mar 2, 2026
56f326d
Eschenmoser Coupling reaction updated
Mar 3, 2026
62438b3
Paal Knorr Pyrrole Synthesis updated
Mar 5, 2026
624b00a
Paal Knorr Pyrrole updated
Mar 6, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added chython/files/libinchi/libinchi_arm64.dylib
Binary file not shown.
53 changes: 53 additions & 0 deletions chython/reactor/reactions/_DIBAL_reduction.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# -*- coding: utf-8 -*-
#
# Copyright 2022-2024 Ramil Nugmanov <nougmanoff@protonmail.com>
# Copyright 2023 Timur Gimadiev <timur.gimadiev@gmail.com>
# Copyright 2025 Balasubramaniyan Sakthivel <sakthivelbala.s@gmail.com>
# This file is part of chython.
#
# chython is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program; if not, see <https://www.gnu.org/licenses/>.
#


template = {
'name': 'DIBAL_Reduction',
'description': 'Reducing esters and nitriles to aldehydes using DIBAL-H',
'templates': [
# Template 1: Ester and DIBAL-H to CHO
{
'A': [
# Ester
'[O;x0;z2;M]=[C;D3;x2;z2:1][O;D2;x0;z1:2]'
],
'product': '[A:1]',
'alerts': [],
'ufe': {
'A': 2
}
},
# Template 2: Nitriles and DIBAL-H to CHO
{
'A': [
# Nitrile
'[N;D1;z3;x0:2]#[C;D2;x1;z3:1]'
],
'product': '[A:1]=[O]',
'alerts': [],
'ufe': {
'A': 2
}
},
],
'alerts': []
}
51 changes: 51 additions & 0 deletions chython/reactor/reactions/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,57 @@
from ._sonogashira import template as songashira_template
from ._sulfonamidation import template as sulfonamidation_template
from ._suzuki_miyaura import template as suzuki_miyaura_template
from ._aza_cope_mannich import template as aza_cope_mannich_template
from ._DIBAL_reduction import template as DIBAL_reduction_template
from ._diels_alder import template as diels_alder_template
from ._evans_aldol import template as evans_aldol_template
from ._biginelli import template as biginelli_template
from ._swern_oxidation import template as swern_oxidation_template
from ._ugi import template as ugi_template
from ._bucherer_bergs import template as bucherer_bergs_template
from ._hantzsch import template as hantzsch_template
from ._gilman import template as gilman_template
from ._heck import template as heck_template
from ._horner_wadsworth_emmons import template as horner_wadsworth_emmons_template
from ._nazarov_cyclization import template as nazarov_cyclization_template
from ._kabachnik_fields import template as kabachnik_fields_template
from ._mannich import template as mannich_template
from ._passerini import template as passerini_template
from ._pauson_khand import template as pauson_khand_template
from ._robinson_annulation import template as robinson_annulation_template
from ._gewald import template as gewald_template
from ._petasis import template as petasis_template
from ._pfitzinger import template as pfitzinger_template
from ._arndt_eistert import template as arndt_eistert_template
from ._baeyer_villiger import template as baeyer_villiger_template
from ._baeyer_mills import template as baeyer_mills_template
from ._balz_schiemann import template as balz_schiemann_template
from ._baylis_hillman import template as baylis_hillman_template
from ._beckmann import template as beckmann_template
from ._chan_lam import template as chan_lam_template
from ._click import template as click_template
from ._doebner_miller import template as doebner_miller_template
from ._eschenmoser import template as eschenmoser_template
from ._ester_hydrolysis import template as ester_hydrolysis_template
from ._fischer_indole import template as fischer_indole_template
from ._gould_jacobs import template as gould_jacobs_template
from ._hayashi_miyaura import template as hayashi_miyaura_template
from ._knorr_quinoline import template as knorr_quinoline_template
from ._olefin_metathesis import template as olefin_metathesis_template
from ._paal_knorr_pyrrole import template as paal_knorr_pyrrole_template
from ._perkin import template as perkin_template
from ._pictet_spengler import template as pictet_spengler_template
from ._prins_pinacol import template as prins_pinacol_template
from ._reformatsky import template as reformatsky_template
from ._riley_oxidations import template as riley_oxidations_template
from ._sandmayer import template as sandmayer_template
from ._schotten_baumann import template as schotten_baumann_template
from ._stille_coupling import template as stille_coupling_template
from ._ullmann import template as ullmann_template
from ._wittig import template as wittig_template
from ._wolff_rearrangement import template as wolff_rearrangement_template
from ._wurtz import template as wurtz_template
from ._wurtz_fittig import template as wurtz_fittig_template
from ..reactor import Reactor, fix_mapping_overlap
from ... import smarts, ReactionContainer, MoleculeContainer

Expand Down
47 changes: 47 additions & 0 deletions chython/reactor/reactions/_arndt_eistert.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# -*- coding: utf-8 -*-
#
# Copyright 2022-2024 Ramil Nugmanov <nougmanoff@protonmail.com>
# Copyright 2023 Timur Gimadiev <timur.gimadiev@gmail.com>
# Copyright 2025 Balasubramaniyan Sakthivel <sakthivelbala.s@gmail.com>
# This file is part of chython.
#
# chython is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program; if not, see <https://www.gnu.org/licenses/>.
#


template = {
'name' : 'Arndt-Eistert Synthesis',
'description': 'Formation of homologated carboxylic acids by reaction of the activated carboxylic acids with diazomethane',
'templates': [
{
'A': [
# Ar-COOH
'[O;x0;z2;M]=[C;x2:1]([O;M])[C;a:2]',
# Alk-COOH
'[O;x0;z2;M]=[C;x2:1]([O;M])[C;z1:2]'
],
'B': [
# CH2N2
'[C;x1;z2:3]=[N+;x1:4]=[N-;x1:5]'
],
'product': '[A:2][A:3][A:1]',
'alerts': [],
'ufe': {
'A': 1,
'B': '[A:4][A:5]'
}
}
],
'alerts':[]
}
64 changes: 64 additions & 0 deletions chython/reactor/reactions/_aza_cope_mannich.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# -*- coding: utf-8 -*-
#
# Copyright 2022-2024 Ramil Nugmanov <nougmanoff@protonmail.com>
# Copyright 2023 Timur Gimadiev <timur.gimadiev@gmail.com>
# Copyright 2025 Balasubramaniyan Sakthivel <sakthivelbala.s@gmail.com>
# This file is part of chython.
#
# chython is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program; if not, see <https://www.gnu.org/licenses/>.
#


template = {
'name': 'Aza-Cope Mannich Reaction',
'description': 'Sigmatropic rearrangement of an unsaturated iminium cation to complex cyclic molecules',
'templates' : [
#Three Aza-Cope Mannich Reaction
{
'A': [
# Alk#Alk-Alk-N
'[C;x0,x1;z2:1]=[C;x1;z2:2]([O;M])[C;x1;z1:3][N;z1:4][C;x1;z1;M][C;x0;z1;M][C;z3:5]#[C;z3:6]',
# Ar-N
'[C;x0,x1;z2:1]=[C;x1;z2:2]([O;M])[C;x1;z1:3][N;z1:4][C;x1;z1;M][C;a;M]:[C;a;M][C;z3:5]#[C;z3:6]',
# Alk#Alk-Alk-Alk-N
'[C;x0,x1;z2:1]=[C;x1;z2:2]([O;M])[C;x1;z1:3][N;z1:4][C;z1;M][C;z1;M][C;z1;M][C;z3:5]#[C;z3:6]'
],
'product': '[A:1]1=[A:2][A:3][A:5]([A:4])[A:6]1',
'alerts': [],
'ufe': {
'A': '[A:1][A:6]'
}
},
#Two Aza-Cope Mannich Reaction
{
'A': [
# Iminium
'[N;D2;x0;z1:1][C;x1;z1:2][C;x1;z1:3]([O:4])[C;D2;x0;z2:5]=[C;x0;z2:6]'
],
'B': [
# Formaldehyde
'[O;z2;x0:7]=[C;D1;x1;z2:8]',
# 2,2-dimethoxypropane
'[O;z1:7]-[C;x2;z1:8]-[O;z1:9]'
],
'product': '[A:1]1[A:2][A:5]([A:3]=[A:4])[A:6][A:8]1',
'alerts': [],
'ufe': {
'A': '[A:1][A:6]',
'B': '[A:7][A:9]'
}
}
],
'alerts': []
}
45 changes: 45 additions & 0 deletions chython/reactor/reactions/_baeyer_mills.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# -*- coding: utf-8 -*-
#
# Copyright 2022-2024 Ramil Nugmanov <nougmanoff@protonmail.com>
# Copyright 2023 Timur Gimadiev <timur.gimadiev@gmail.com>
# Copyright 2025 Balasubramaniyan Sakthivel <sakthivelbala.s@gmail.com>
# This file is part of chython.
#
# chython is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program; if not, see <https://www.gnu.org/licenses/>.
#


template = {
'name' : 'Baeyer-Mills Reaction',
'description': 'Aniline and a nitrosoarene to produce azobenzenes',
'templates': [
{
'A': [
# Ar-N=O
'[N;D2;x1;z2:1](=[O;x1;z2:2])[C;a;M]'
],
'B': [
# Ar-NH2
'[N;D1;x0;z1:3][C;a;M]'
],
'product': '[A:1]=[A:3]',
'alerts': [],
'ufe':{
'A':'[A:1][A:2]',
'B': '[A:3][At;M]'
}
}
],
'alerts' : []
}
56 changes: 56 additions & 0 deletions chython/reactor/reactions/_baeyer_villiger.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# -*- coding: utf-8 -*-
#
# Copyright 2022-2024 Ramil Nugmanov <nougmanoff@protonmail.com>
# Copyright 2023 Timur Gimadiev <timur.gimadiev@gmail.com>
# Copyright 2025 Balasubramaniyan Sakthivel <sakthivelbala.s@gmail.com>
# This file is part of chython.
#
# chython is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program; if not, see <https://www.gnu.org/licenses/>.
#


template = {
'name': 'Baeyer-Villiger Oxidation',
'description': 'Ketones into esters using mCPBA or H2O2',
'templates': [
{
'A': [
# Ar-Ketone
'[O;z2;x0;M]=[C;D3;x1;z2:1]([C;z1;M])[C;a:2]',
'[O;z2;x0;M]=[C;D3;x1;z2:1]([C;a;M])[C;z1:2]',
# Alk-Ketone
'[O;z2;x0;M]=[C;D3;x1;z2:1]([C;z1;M])[C;D3,D2;z1,z2:2]',
# Alk-CHO
'[O;z2;x0;M]=[C;D2;x1;z2:1][C;D3,D2;x0,x1,x2;z1,z2:2]',
# Ar-CHO
'[O;z2;x0;M]=[C;D2;x1;z2:1][C;a:2]',
# Cyclic-Ketone
'[O;z2;x0;M]=[C;D3;x1;z2:1]([C;D2;x0,x1;z1;r4,r5,r6,r7,r8;M])[C;D2,D3;x0;z1;r4,r5,r6,r7,r8:2]'
],
'B': [
# mCPBA
'[O;D1;x1;z1:3][O;D2;x1;z1:4][C;x2;z2:5](=[O;z2;x0:6])[C;a:7]',
# H2O2
'[O;D1:3][O;D1:4]'
],
'product': '[A:2][A:3][A:1]',
'alerts': [],
'ufe': {
'A': 1,
'B': '[A:5][A:5][A:6]'
}
}
],
'alerts':[]
}
45 changes: 45 additions & 0 deletions chython/reactor/reactions/_balz_schiemann.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# -*- coding: utf-8 -*-
#
# Copyright 2022-2024 Ramil Nugmanov <nougmanoff@protonmail.com>
# Copyright 2023 Timur Gimadiev <timur.gimadiev@gmail.com>
# Copyright 2025 Balasubramaniyan Sakthivel <sakthivelbala.s@gmail.com>
# This file is part of chython.
#
# chython is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program; if not, see <https://www.gnu.org/licenses/>.
#


template = {
'name': 'Balz-Schiemann Reaction',
'description': 'Fluoroarene formation from anilines using HBF4',
'templates': [
{
'A': [
# Ar-NH2
'[N;D1;x0;z1:1][C;a:2]'
],
'B': [
# HBF4
'[H+:3].[B-;D4;x4;z1:4][F:5]'
],
'product': '[A:2]-[A:5]',
'alerts': [],
'ufe': {
'A': 1,
'B': '[A:3][A:4]'
}
}
],
'alerts': []
}
Loading