Class AtomPlacer3D
java.lang.Object
org.openscience.cdk.modeling.builder3d.AtomPlacer3D
Place aliphatic chains with Z matrix method. Please use
ModelBuilder3D
to place general molecules.- Author:
- chhoppe
- See Also:
- Source code:
- main
- Belongs to CDK module:
- builder3d
- Keywords:
- AtomPlacer3D
- Created on:
- 2004-10-8
-
Method Summary
Modifier and TypeMethodDescriptionboolean
True is all the atoms in the given AtomContainer have been placed.int[]
findHeavyAtomsInChain
(IAtomContainer molecule, IAtomContainer chain) Count and find first heavy atom(s) (non Hydrogens) in a chain.javax.vecmath.Point3d
geometricCenterAllPlacedAtoms
(IAtomContainer molecule) Calculates the geometric center of all placed atoms in the atomcontainer.double
getAngleValue
(String id1, String id2, String id3) Gets the angleKey attribute of the AtomPlacer3D object.double
getBondLengthValue
(String id1, String id2) Gets the distanceValue attribute of the parameter set.getFarthestAtom
(javax.vecmath.Point3d refAtomPoint, IAtomContainer ac) Gets the farthestAtom attribute of the AtomPlacer3D object.Gets the nextPlacedHeavyAtomWithAliphaticPlacedNeigbor from an atom container or molecule.Gets the nextPlacedHeavyAtomWithUnplacedRingNeighbour attribute of the AtomPlacer3D object.Gets the nextUnplacedHeavyAtomWithAliphaticPlacedNeighbour from an atom container or molecule.getPlacedHeavyAtom
(IAtomContainer molecule, IAtom atom) Returns a placed atom connected to a given atom.getPlacedHeavyAtom
(IAtomContainer molecule, IAtom atomA, IAtom atomB) Gets the first placed Heavy Atom around atomA which is not atomB.getPlacedHeavyAtoms
(IAtomContainer molecule, IAtom atom) Gets the placed Heavy Atoms connected to an atom.getUnplacedRingHeavyAtom
(IAtomContainer molecule, IAtom atom) Gets the unplacedRingHeavyAtom attribute of the AtomPlacer3D object.void
Initialize the atomPlacer class.Mark all atoms in chain as placed.int
Gets numberOfUnplacedHeavyAtoms (no Flag ISPLACED, no Hydrogens)void
placeAliphaticHeavyChain
(IAtomContainer molecule, IAtomContainer chain) Method assigns 3D coordinates to the heavy atoms in an aliphatic chain.void
zmatrixChainToCartesian
(IAtomContainer molecule, boolean flagBranched) Takes the given Z Matrix coordinates and converts them to cartesian coordinates.
-
Method Details
-
initilize
Initialize the atomPlacer class.- Parameters:
parameterSet
- Force Field parameter as Hashtable
-
findHeavyAtomsInChain
Count and find first heavy atom(s) (non Hydrogens) in a chain.- Parameters:
molecule
- the reference molecule for searching the chainchain
- chain to be searched- Returns:
- the atom number of the first heavy atom the number of heavy atoms in the chain
-
markPlaced
Mark all atoms in chain as placed. (CDKConstant ISPLACED)- Parameters:
ac
- chain- Returns:
- chain all atoms marked as placed
-
placeAliphaticHeavyChain
public void placeAliphaticHeavyChain(IAtomContainer molecule, IAtomContainer chain) throws CDKException Method assigns 3D coordinates to the heavy atoms in an aliphatic chain.- Parameters:
molecule
- the reference molecule for the chainchain
- the atoms to be assigned, must be connected- Throws:
CDKException
- the 'chain' was not a chain
-
zmatrixChainToCartesian
Takes the given Z Matrix coordinates and converts them to cartesian coordinates. The first Atom end up in the origin, the second on on the x axis, and the third one in the XY plane. The rest is added by applying the Zmatrix distances, angles and dihedrals. Assign coordinates directly to the atoms.- Parameters:
molecule
- the molecule to be placed in 3DflagBranched
- marks branched chain author: egonw,cho
-
getBondLengthValue
Gets the distanceValue attribute of the parameter set.- Parameters:
id1
- atom1 idid2
- atom2 id- Returns:
- The distanceValue value from the force field parameter set
-
getAngleValue
Gets the angleKey attribute of the AtomPlacer3D object.- Parameters:
id1
- Description of the Parameterid2
- Description of the Parameterid3
- Description of the Parameter- Returns:
- The angleKey value
-
getNextUnplacedHeavyAtomWithAliphaticPlacedNeighbour
Gets the nextUnplacedHeavyAtomWithAliphaticPlacedNeighbour from an atom container or molecule.- Parameters:
molecule
-- Returns:
- The nextUnplacedHeavyAtomWithAliphaticPlacedNeighbour value author: steinbeck,cho
-
getNextPlacedHeavyAtomWithUnplacedAliphaticNeighbour
Gets the nextPlacedHeavyAtomWithAliphaticPlacedNeigbor from an atom container or molecule.- Parameters:
molecule
-- Returns:
- The nextUnplacedHeavyAtomWithUnplacedAliphaticNeigbor author: steinbeck,cho
-
getNextPlacedHeavyAtomWithUnplacedRingNeighbour
Gets the nextPlacedHeavyAtomWithUnplacedRingNeighbour attribute of the AtomPlacer3D object.- Parameters:
molecule
- The atom container under consideration- Returns:
- The nextPlacedHeavyAtomWithUnplacedRingNeighbour value
-
getFarthestAtom
Gets the farthestAtom attribute of the AtomPlacer3D object.- Parameters:
refAtomPoint
- Description of the Parameterac
- Description of the Parameter- Returns:
- The farthestAtom value
-
getUnplacedRingHeavyAtom
Gets the unplacedRingHeavyAtom attribute of the AtomPlacer3D object.- Parameters:
molecule
-atom
- Description of the Parameter- Returns:
- The unplacedRingHeavyAtom value
-
geometricCenterAllPlacedAtoms
Calculates the geometric center of all placed atoms in the atomcontainer.- Parameters:
molecule
-- Returns:
- Point3d the geometric center
-
getPlacedHeavyAtom
Returns a placed atom connected to a given atom.- Parameters:
molecule
-atom
- The Atom whose placed bonding partners are to be returned- Returns:
- a placed heavy atom connected to a given atom author: steinbeck
-
getPlacedHeavyAtom
Gets the first placed Heavy Atom around atomA which is not atomB.- Parameters:
molecule
-atomA
- Description of the ParameteratomB
- Description of the Parameter- Returns:
- The placedHeavyAtom value
-
getPlacedHeavyAtoms
Gets the placed Heavy Atoms connected to an atom.- Parameters:
molecule
-atom
- The atom the atoms must be connected to.- Returns:
- The placed heavy atoms.
-
numberOfUnplacedHeavyAtoms
Gets numberOfUnplacedHeavyAtoms (no Flag ISPLACED, no Hydrogens)- Parameters:
ac
- AtomContainer- Returns:
- #UnplacedAtoms
-
allHeavyAtomsPlaced
True is all the atoms in the given AtomContainer have been placed.- Parameters:
ac
- The AtomContainer to be searched- Returns:
- True is all the atoms in the given AtomContainer have been placed
-