Chirality
Atoms with four different substituents can have point chirality. Chirality of molecules having no actual point chirality, but axial or planar chirality is not yet supported. The following criteria need to be fulfilled for a tetrahedral stereogenic center:
-
Conditions for tetrahedral parity need to be met.
-
In case of 2 dimensional molecules the stereo center must have a wedged bond.
The possible values of a tetrahedral stereogenic center are:
0 |
or atoms which are not stereogenic center. |
R |
For atoms which have chirality R. |
S |
For atoms which have chirality S. |
R|S |
For atoms which can have chirality but it is not specified. |
Setting chirality information
The chirality type can be modified through the parity change of the stereo center described in the Parity information in 0D and Parity information in 2 or 3D sections or with the setChirality (int i, int c) function of the MoleculeGraph class.
boolean
success = molecule.setChirality(
2
, StereoConstants. CHIRALITY_R);
Getting chirality information
Chirality information can be calculated using the getChirality(int i) function of MoleculeGraph class in any spatial dimension.
int
c = molecule.getChirality(
2
)
/*
* Copyright (c) 1998-2014 ChemAxon Ltd. All Rights Reserved.
*/
import
java.io.IOException;
import
chemaxon.struc.Molecule;
import
chemaxon.formats.MolImporter;
import
chemaxon.struc.StereoConstants;
public
class
ParityExample {
/**
* Example to get the parity and chirality of the atoms.
* @param args command line arguments
* @throws java.io.IOException
*
* @version 5.1 04/24/2008
* @since Marvin 5.1
* @author Andras Volford
*/
public
static
void
main(String[] args)
throws
IOException {
if
(args.length <
1
) {
System.err.println(
"Usage: java ParityExample filename"
);
System.exit(
0
);
}
// create importer for the file argument
String s = (String) args[
0
];
MolImporter molimp =
new
MolImporter(s);
// store the imported molecules in m
Molecule m =
new
Molecule();
// counter for molecules
int
n =
0
;
while
(molimp.read(m)) {
// read molecules from the file
++n;
// increment counter
System.out.println(
"mol "
+ n);
// print parity information followed by the chirality
for
(
int
i =
0
; i < m.getAtomCount(); i++) {
int
c = m.getChirality(i);
System.out.println(
i +
" Parity "
+ m.getParity(i) +
" Chirality "
+
((c == StereoConstants.CHIRALITY_R) ?
"R"
:
(c == StereoConstants.CHIRALITY_S) ?
"S"
:
(
""
+ c)) +
" "
+ c);
}
}
}
}