InChI
 
Loading...
Searching...
No Matches
aromaticity.h
Go to the documentation of this file.
1/*
2 * International Chemical Identifier (InChI)
3 * Version 1
4 * Software version 1.07
5 * April 30, 2024
6 *
7 * MIT License
8 *
9 * Copyright (c) 2024 IUPAC and InChI Trust
10 *
11 * Permission is hereby granted, free of charge, to any person obtaining a copy
12 * of this software and associated documentation files (the "Software"), to deal
13 * in the Software without restriction, including without limitation the rights
14 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
15 * copies of the Software, and to permit persons to whom the Software is
16 * furnished to do so, subject to the following conditions:
17 *
18 * The above copyright notice and this permission notice shall be included in all
19 * copies or substantial portions of the Software.
20 *
21 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
27 * SOFTWARE.
28*
29* The InChI library and programs are free software developed under the
30 * auspices of the International Union of Pure and Applied Chemistry (IUPAC).
31 * Originally developed at NIST.
32 * Modifications and additions by IUPAC and the InChI Trust.
33 * Some portions of code were developed/changed by external contributors
34 * (either contractor or volunteer) which are listed in the file
35 * 'External-contributors' included in this distribution.
36 *
37 * info@inchi-trust.org
38 *
39*/
40
56#ifndef _AROMATICITY_H_
57#define _AROMATICITY_H_
58
59#include "mode.h"
60#include "inpdef.h"
61
62#ifndef COMPILE_ALL_CPP
63#ifdef __cplusplus
64extern "C" {
65#endif
66#endif
67
68struct tagINCHI_CLOCK;
69struct tagCANON_GLOBALS;
70
83
95int is_C_unsat_not_arom( inp_ATOM *at, int i );
96
110int is_Aryl( inp_ATOM *at, int outside_point, int attachment_pont );
111
128int check_arom_chain( inp_ATOM *at, int cur, int from, int last, int len );
129
144int replace_arom_bonds( inp_ATOM *at, int num_atoms, inp_ATOM *at2, int num_atoms2 );
145
159int mark_arom_bonds( struct tagINCHI_CLOCK *ic, struct tagCANON_GLOBALS *pCG, inp_ATOM *at, int num_atoms );
160
161#ifndef COMPILE_ALL_CPP
162#ifdef __cplusplus
163}
164#endif
165#endif
166
167#endif /* _AROMATICITY_H_ */
int replace_arom_bonds(inp_ATOM *at, int num_atoms, inp_ATOM *at2, int num_atoms2)
Restore resolved bond orders onto residual aromatic bonds from a reference.
Definition aromaticity.c:181
int is_Aryl(inp_ATOM *at, int outside_point, int attachment_pont)
Test whether an atom is an aromatic aryl attachment carbon.
Definition aromaticity.c:155
int check_arom_chain(inp_ATOM *at, int cur, int from, int last, int len)
Verify a chain of aromatic CH carbons of a given length.
Definition aromaticity.c:70
int is_C_unsat_not_arom(inp_ATOM *at, int i)
Test whether an atom is an unsaturated but non-aromatic carbon.
Definition aromaticity.c:126
int mark_arom_bonds(struct tagINCHI_CLOCK *ic, struct tagCANON_GLOBALS *pCG, inp_ATOM *at, int num_atoms)
Mark alternating (aromatic) bonds via the balanced-network kekulizer.
Definition aromaticity.c:110
int fix_aromatic_oxygen_and_sulfur(inp_ATOM *atom)
Charge a neutral, divalent aromatic oxygen or sulfur so it can be kekulized.
Definition aromaticity.c:54
Definition ichicant.h:338
Definition ichitime.h:85
Structure describing an input atom.
Definition inpdef.h:142