Class StereoAnalysis


  • @Beta
    @PublicAPI
    public class StereoAnalysis
    extends Object
    The stereo analysis module is able to calculate stereochemical descriptors for a molecule, giving an analysis in terms of the stereochemical properties.
    API usage example:
     
       // read molecule
       Molecule inputMolecule = ...
        
       // construct new analysis
       StereoAnalysis analysis = new StereoAnalysis(inputMolecule);
        
       // list of all stereocenters of molecule
       List<StereoCenter> stereoCenters = analysis.allStereoCenters();
      
       // value of first tetrahedral stereocenter 
       TetrahedralStereoCenter sc = analysis.tetrahedralStereoCenters().get(0); 
       TetrahedralStereoIUPACValue value = sc.getCIPValue();
        
       // error list
       List<ErrorReport> errors = analysis.errors();
     

    Please note that this class is marked with @Beta annotation, so it can be subject of incompatible changes or removal in later releases.

    Since:
    Marvin 6.2
    • Constructor Detail

      • StereoAnalysis

        public StereoAnalysis​(Molecule mol,
                              String licenseEnvironment)
        Creates an analysis.
        Parameters:
        mol - input molecule
        licenseEnvironment - license environment
      • StereoAnalysis

        public StereoAnalysis​(Molecule mol)
        Creates an analysis.
        Parameters:
        mol - input molecule
    • Method Detail

      • getInputMolecule

        public Molecule getInputMolecule()
        Gets the input molecule.
        Returns:
        copy of input molecule
      • isAbsStereo

        public boolean isAbsStereo()
        Gets the absolute stereoconfiguration flag. "Chiral flag" in MDL molfiles.
        Returns:
        true for absolute, false for relative configuration
      • allStereoCenters

        public List<StereoCenter> allStereoCenters()
        All stereo centers of molecule.
        Returns:
        an immutable list of stereocenters
      • allStereoCentersWithAttachedData

        public List<StereoCenter> allStereoCentersWithAttachedData()
        All stereo centers with attached data.
        Returns:
        an immutable list of stereocenters
      • tetrahedralStereoCenters

        public List<TetrahedralStereoCenter> tetrahedralStereoCenters()
        Calculates the tetrahedral stereogenic centers.
        Returns:
        the immutable list of stereocenters
      • tetrahedralStereoCentersWithAttachedData

        public List<TetrahedralStereoCenter> tetrahedralStereoCentersWithAttachedData()
        Calculates the tetrahedral stereogenic centers (with attached data).
        Returns:
        the immutable list of stereocenters
      • errors

        public List<ErrorReport> errors()
        Error reports.
        Returns:
        an immutable list of errors
      • knownResolvedStereoCenters

        public List<TetrahedralStereoCenter> knownResolvedStereoCenters()
        Calculates the known, resolved tetrahedral stereogenic centers.
        Returns:
        the immutable list of stereocenters
      • knownResolvedStereoCentersWithAttachedData

        public List<TetrahedralStereoCenter> knownResolvedStereoCentersWithAttachedData()
        Calculates the known, resolved tetrahedral stereogenic centers (with attached data).
        Returns:
        the immutable list of stereocenters
      • unknownResolvedStereoCenters

        public List<TetrahedralStereoCenter> unknownResolvedStereoCenters()
        Calculates the unknown, resolved tetrahedral stereogenic centers.
        Returns:
        the immutable list of stereocenters
      • unknownResolvedStereoCentersWithAttachedData

        public List<TetrahedralStereoCenter> unknownResolvedStereoCentersWithAttachedData()
        Calculates the unknown, resolved tetrahedral stereogenic centers (with attached data).
        Returns:
        the immutable list of stereocenters
      • racemicStereoCenters

        public List<TetrahedralStereoCenter> racemicStereoCenters()
        Calculates the racemic tetrahedral stereogenic centers.
        Returns:
        the immutable list of stereocenters
      • racemicStereoCentersWithAttachedData

        public List<TetrahedralStereoCenter> racemicStereoCentersWithAttachedData()
        Calculates the racemic tetrahedral stereogenic centers (with attached data).
        Returns:
        the immutable list of stereocenters
      • unresolvedStereoCenters

        public List<TetrahedralStereoCenter> unresolvedStereoCenters()
        Calculates the unresolved tetrahedral stereogenic centers.
        Returns:
        the immutable list of stereocenters
      • unresolvedStereoCentersWithAttachedData

        public List<TetrahedralStereoCenter> unresolvedStereoCentersWithAttachedData()
        Calculates the unresolved tetrahedral stereogenic centers (with attached data).
        Returns:
        the immutable list of stereocenters
      • cisDoubleBonds

        public List<CisTransStereoCenter> cisDoubleBonds()
        Calculates the CIS double bonds.
        Returns:
        the immutable list of stereocenters
      • transDoubleBonds

        public List<CisTransStereoCenter> transDoubleBonds()
        Calculates the TRANS double bonds.
        Returns:
        the immutable list of stereocenters
      • cisTransDoubleBonds

        public List<CisTransStereoCenter> cisTransDoubleBonds()
        Calculates the CIS-TRANS double bonds.
        Returns:
        the immutable list of stereocenters
      • cisTransDoubleBondsWithAttachedData

        public List<CisTransStereoCenter> cisTransDoubleBondsWithAttachedData()
        Calculates the CIS-TRANS double bonds with attached data.
        Returns:
        the immutable list of stereocenters
      • axialStereoCenters

        public List<AxialStereoCenter> axialStereoCenters()
        Calculates the axial stereocenters.
        Returns:
        the immutable list of stereocenters
      • axialStereoCentersWithAttachedData

        public List<AxialStereoCenter> axialStereoCentersWithAttachedData()
        Calculates the axial stereocenters with attached data.
        Returns:
        the immutable list of stereocenters
      • knownAxialStereoCenters

        public List<AxialStereoCenter> knownAxialStereoCenters()
        Calculates the KNOWN axial stereocenters.
        Returns:
        the immutable list of stereocenters
      • unknownAxialStereoCenters

        public List<AxialStereoCenter> unknownAxialStereoCenters()
        Calculates the UNKNOWN axial stereocenters.
        Returns:
        the immutable list of stereocenters.
      • atropStereoCenters

        public List<AtropStereoCenter> atropStereoCenters()
        Calculates the atrop stereocenters.
        Returns:
        the immutable list of stereocenters
      • atropStereoCentersWithAttachedData

        public List<AtropStereoCenter> atropStereoCentersWithAttachedData()
        Calculates the atrop stereocenters with attached data.
        Returns:
        the immutable list of stereocenters
      • knownAtropStereoCenters

        public List<AtropStereoCenter> knownAtropStereoCenters()
        Calculates the KNOWN atrop stereocenters.
        Returns:
        the immutable list of stereocenters
      • unknownAtropStereoCenters

        public List<AtropStereoCenter> unknownAtropStereoCenters()
        Calculates the UNKNOWN atrop stereocenters.
        Returns:
        the immutable list of stereocenters.
      • getEnhancedStereoFlags

        public Set<String> getEnhancedStereoFlags()
        Returns the enhanced stereo flags of the molecule.
        Returns:
        set of string
      • getEnhancedStereoGroup

        public EnhancedStereoGroup getEnhancedStereoGroup​(String enhancedStereoFlag)
        Gets the EnhancedStereoGroup to which the specified flag is mapped.
        Parameters:
        enhancedStereoFlag - enhanced stereo flag
        Returns:
        an EnhancedStereoGroup
        Throws:
        IllegalArgumentException - if molecule does not contains the specified flag
        See Also:
        getEnhancedStereoFlags()