Class IonChargePlugin

  • All Implemented Interfaces:
    chemaxon.license.Licensable

    @PublicAPI
    public class IonChargePlugin
    extends CalculatorPlugin
    Plugin class for charge calculation on ionized microspecies.

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

    Since:
    Marvin 3.0
    • Constructor Detail

      • IonChargePlugin

        public IonChargePlugin()
        Constructor. Creates the Ionizer object.
    • Method Detail

      • setParameters

        public void setParameters​(Properties params)
                           throws PluginException
        Sets the input parameters for the plugin. ioncharge parameters and value ranges:
        • pH: the pH value (default: 7.0)
        • min-percent: minimal species distribution
        • charge-type: accumulated or single (default: single)
        • max-ions: max number of ionizable atoms to be taken into account (default: 8)
        • precision: 0-8 or inf (default: 2) (number of displayed fractional digits, inf for unrounded value)
        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 molecule contains R-groups.
        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): the number of ionizable atoms exceeds the specified limit (given in the "ions" parameter) or hydrogen valence error.
        Overrides:
        getErrorMessage in class CalculatorPlugin
        Returns:
        the calculation error information message
      • getResultTypes

        public Object[] getResultTypes()
        Returns the result types (possible type: "charge").
        Overrides:
        getResultTypes in class CalculatorPlugin
        Returns:
        the result types
      • getResultCount

        public int getResultCount​(Object type)
        Returns the number of result items for the given result key. IonCharge returns the atom count.
        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 type and index. IonCharge returns one or more charge values for the specified atom index depending on whether the 'min-percent' parameter has been specified:
        • one charge value for each atom index as a Double object if type is "charge" (no 'min-percent' parameter is given),
        • a double array of charge values corresponding to the microspecies with occurrence percentage at least the given 'min-percent' value if type is "charges" ('distribution' parameter is given) - in this case the charge values are arranged according to descending microspecies distribution order (the first element of the charge array corresponds to the microspecies with maximal occurrence percentage).
        Overrides:
        getResult in class CalculatorPlugin
        Parameters:
        type - is the result type
        index - is the result index
        Returns:
        the result item for the specified type and index
        Throws:
        PluginException - if the result cannot be returned
        See Also:
        CalculatorPlugin.getResultTypes()
      • getResultAsString

        public String getResultAsString​(Object type,
                                        int index,
                                        Object result)
                                 throws PluginException
        Returns the specified result in String format. IonCharge returns the rounded ion charge value(s) in string format: the value is rounded using the 'precision' input parameter that determines the number of fractional digits displayed. Multiple values ("charges" case, double array) are separated by commas.
        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 and stores the index-map between atom indices in the original and the new molecule. This map is used when the macropKa values and types are queried and the new atom indices should be mapped to the original ones. TODO: replace by call to chemaxon.standardizer.Standardizer
        Overrides:
        standardize in class CalculatorPlugin
        Parameters:
        mol - is the molecule to be standardized