Package com.actelion.research.chem.conf
Class TorsionDetail
- java.lang.Object
-
- com.actelion.research.chem.conf.TorsionDetail
-
public class TorsionDetail extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description static int
SYMMETRY_C1C1_OR_C1D1
static int
SYMMETRY_C1D2
static int
SYMMETRY_D1D1
static int
SYMMETRY_D1D2_OR_D2D2
-
Constructor Summary
Constructors Constructor Description TorsionDetail()
This creates an empty torsion classification detail, which multiply can be used to classify the environment of a rotatable bond.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
classify(StereoMolecule mol, int bond)
Determines uniquely an identifying name for the rotatable bond and its vicinity.int
getAlkyneAtomCount()
int
getCentralAtom(int no)
Returns one of the atoms of the torsion fragment's central rotatable bond.StereoMolecule
getFragment()
Returns the direct surrounding of the previously classified rotatable bond.java.lang.String
getID()
Returns the torsion identifier that resulted from the most previous classification.int
getRearAtom(int no)
Returns that neighbor atom of a central atom that lies in the rotatable bond axis.int
getReferenceAtom(int no)
Returns the reference atom of one part of the torsion fragment.boolean
isValid()
-
-
-
Field Detail
-
SYMMETRY_C1C1_OR_C1D1
public static final int SYMMETRY_C1C1_OR_C1D1
- See Also:
- Constant Field Values
-
SYMMETRY_C1D2
public static final int SYMMETRY_C1D2
- See Also:
- Constant Field Values
-
SYMMETRY_D1D1
public static final int SYMMETRY_D1D1
- See Also:
- Constant Field Values
-
SYMMETRY_D1D2_OR_D2D2
public static final int SYMMETRY_D1D2_OR_D2D2
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
TorsionDetail
public TorsionDetail()
This creates an empty torsion classification detail, which multiply can be used to classify the environment of a rotatable bond. The result is an identifier for this torsion situation that may serve to lookup probable torsion angles for this rotatable bond form a torsion library. Along with the identifier a 4-atom-chain is uniquely determined, to which torsion angles should refer to.
-
-
Method Detail
-
isValid
public boolean isValid()
- Returns:
- whether the previous classification created a valid result and ID
-
getID
public java.lang.String getID()
Returns the torsion identifier that resulted from the most previous classification.- Returns:
- a valid ID or null, if the classification failed
-
getCentralAtom
public int getCentralAtom(int no)
Returns one of the atoms of the torsion fragment's central rotatable bond. Two central and two terminal atoms define the strand that torsion angles refer to. If the rotatable bond is extended by (a) triple bond(s) then the central atom is one of the first non-sp atoms at the end of the linear atom strand.- Parameters:
no
- 0 or 1; 0 refers to the higher ranking central atom- Returns:
-
getRearAtom
public int getRearAtom(int no)
Returns that neighbor atom of a central atom that lies in the rotatable bond axis. Usually this is the other atom of the rotatable bond. However, if the rotatable bond is extended by (a) triple bond(s) then getRearAtom(no) returns that sp-atom, which is attached to the atom returned by getCentralAtom(no).- Parameters:
no
- 0 or 1; 0 refers to that atom being connected to central atom 0- Returns:
-
getReferenceAtom
public int getReferenceAtom(int no)
Returns the reference atom of one part of the torsion fragment. Two central and two terminal reference atoms define the strand that torsion angles refer to.- Parameters:
no
- 0 or 1; 0 refers to the side with higher ranking central bond atom- Returns:
-
getAlkyneAtomCount
public int getAlkyneAtomCount()
- Returns:
- count of linear strand of sp-hybridized atoms between torsion atoms (usually 0)
-
getFragment
public StereoMolecule getFragment()
Returns the direct surrounding of the previously classified rotatable bond. This fragment may contain query features to describe characteristics, which have an influence on torsion angles, but are beyond its atom and bond types (e.g. aromaticity and ring membership). Stereo centers and ESR attributes are normalized. Thus, atom parities may be inverted to the source molecule.- Returns:
-
classify
public boolean classify(StereoMolecule mol, int bond)
Determines uniquely an identifying name for the rotatable bond and its vicinity. If the bond is not a single bond, is aromatic, is a member of a <=5-membered ring, if one of its atoms has 0,3 or more neighbours other than the other bond atom, or if one of its atoms is a stereo center with unknown parity, then the classification fails. The four atoms, that define the torsion angle, are determined and are available through getReferenceAtom(0 or 1) and getCentralAtom(0 or 1). A fragment being unique for the this particular torsion situation is determined. If one of the bond's atoms is a stereo center, this fragment may be inverted for normalization, which would be represented with a trailing '<'. A trailing '>' indicates a non-inverted stereo center. If bond is part of a consecutive sp-sp atom chain, then the classifying fragment covers all linear atoms plus two end atoms not being member of the linear sp-atom strand. If a TorsionDetail is passed, then this will be filled.- Parameters:
mol
-bond
- the rotatable bond- Returns:
- true if a valid torsion identifier could be determined
-
-