Class RefractivityPlugin

  • All Implemented Interfaces:
    chemaxon.license.Licensable

    @PublicAPI
    public class RefractivityPlugin
    extends CalculatorPlugin
    Plugin class for refractivity calculation. Both the incremental values for atoms and the overal refractivity value for the molecule can be calculated by this plugin.

    API usage example:

        // read input molecule
        MolImporter mi = new MolImporter("test.mol");
        Molecule mol = mi.read();
        mi.close();
    
        // create plugin
        RefractivityPlugin plugin = new RefractivityPlugin();
    
        // set double precision for string conversion (optional)
        plugin.setDoublePrecision(3);
    
        // set target molecule
        plugin.setMolecule(mol);
            
        // run the calculation
        plugin.run();
            
        // get molecular refractivity
        double refractivity = plugin.getRefractivity();
        System.out.println("molecular refractivity: "+plugin.format(refractivity));
    
        // get refractivity increments values for each atom
        String str = "";
        int count = mol.getAtomCount();
        for (int i=0; i < count; ++i) {
              double increment = plugin.getRefractivityIncrement(i);
              str += plugin.format(increment);
              str += ";";
        }
        System.out.println("refractivity increments for atoms: "+str);
     

    For concurrent plugin example applications using ChemAxon's concurrent framework, refer to the Concurrent plugin examples.

    • Constructor Detail

      • RefractivityPlugin

        public RefractivityPlugin()
        Constructor. Creates the refractivity calculator object.
    • Method Detail

      • setParameters

        public void setParameters​(Properties params)
                           throws PluginException
        Sets the input parameters for the plugin. Refractivity parameters and value ranges:
        • precision: 0-8 or inf (number of displayed fractional digits, inf for unrounded value)
        • type: increments,refractivity
        • h: true or false (display increments on H atoms)
        Overrides:
        setParameters in class CalculatorPlugin
        Parameters:
        params - is the parameter table
        Throws:
        PluginException - on error
      • checkMolecule

        public void checkMolecule​(Molecule mol)
                           throws PluginException
        Checks the input molecule. Throws exception if the molecule is RxnMolecule, if the molecule contains R-groups or if the molecule consists of more than one fragments.
        Overrides:
        checkMolecule in class CalculatorPlugin
        Parameters:
        mol - is the input molecule
        Throws:
        PluginException - with error message for the user if the molecule is refused
      • getErrorMessage

        public String getErrorMessage()
        Returns the calculation error information message if run() returned false (calculation error): hydrogen valence error.
        Overrides:
        getErrorMessage in class CalculatorPlugin
        Returns:
        the calculation error information message
      • getRefractivity

        public double getRefractivity()
        Returns the refractivity value. The refractivity calculation should be run beforehand by run().
        Returns:
        the refractivity value
      • getRefractivityIncrement

        public double getRefractivityIncrement​(int index)
        Returns the refractivity increment for a given atom. The refractivity calculation should be run beforehand by run().
        Parameters:
        index - is the atom index
        Returns:
        the refractivity increment for a given atom
      • getRefractivityHIncrement

        public double getRefractivityHIncrement​(int index)
        Returns the refractivity increment on the H atoms attached to a given atom. The refractivity calculation should be run beforehand by run().
        Parameters:
        index - is the atom index
        Returns:
        the refractivity increment on the H atoms attached to a given atom
      • getResultTypes

        public Object[] getResultTypes()
        Returns the result types. Possible result types: refractivity,increments,inch
        Overrides:
        getResultTypes in class CalculatorPlugin
        Returns:
        the result types
      • getTypeString

        public String getTypeString​(Object type)
        Returns a string representation of the given type.
        Overrides:
        getTypeString in class CalculatorPlugin
        Parameters:
        type - is the type object
        Returns:
        the type string
      • getResultCount

        public int getResultCount​(Object type)
        Returns the number of result items for the given result key. Refractivity returns the atom count for types "increments" and "inch" 1 otherwise.
        Overrides:
        getResultCount in class CalculatorPlugin
        Parameters:
        type - is the result type
        Returns:
        the number of result items
        See Also:
        getResultTypes()
      • getResult

        public Object getResult​(Object type,
                                int index)
                         throws PluginException
        Returns the result item for the specified key and index. Refractivity returns the required refractivity value or atomic increment as a Double object.
        Overrides:
        getResult in class CalculatorPlugin
        Parameters:
        type - is the result type
        index - is the result index
        Returns:
        the result item for the specified key and index
        Throws:
        PluginException - if the result cannot be returned
        See Also:
        getResultTypes()
      • getResultAsString

        public String getResultAsString​(Object type,
                                        int index,
                                        Object result)
                                 throws PluginException
        Returns the specified result in String format. Refractivity returns the rounded refractivity value in string format: the value is rounded using the 'precision' input parameter that determines the number of fractional digits displayed.
        Overrides:
        getResultAsString in class CalculatorPlugin
        Parameters:
        type - is the result type
        index - is the result index
        result - is the result item
        Returns:
        the specified result in String format
        Throws:
        PluginException - if an invalid result item is given
      • standardize

        public void standardize​(Molecule mol)
        Standardizes the molecule. This is done by performing the transformations necessary to run the plugin (e.g. aromatize, dehydrogenize, bring nitro groups to common form). Apart from the default standardization (aromatize and nitro) removes explicit hydrogens. TODO: replace by call to chemaxon.standardizer.Standardizer
        Overrides:
        standardize in class CalculatorPlugin
        Parameters:
        mol - is the molecule to be standardized