Class logDPlugin

  • All Implemented Interfaces:
    chemaxon.license.Licensable

    @PublicAPI
    public class logDPlugin
    extends CalculatorPlugin
    Plugin class for logD calculation.

    API usage example:

            // instantiate plugin
            logDPlugin plugin = new logDPlugin();
    
            // set logP calculation method
            plugin.setlogPMethod(METHOD_WEIGHTED);
        
            // set method weights
            plugin.setWeightOfMethods(1, 2, 1, 0);
    
            // set parameters
            plugin.setCloridIonConcentration(0.2);
            plugin.setNaKIonConcentration(0.2);
          plugin.setpHLower(3.0);
          plugin.setpHUpper(6.0);
          plugin.setpHStep(1.0);
    
            MolImporter importer = new MolImporter("targets.sdf");
            Molecule mol = null;
            while ((mol = importer.read()) != null) {
                // set molecule and run calculation
                plugin.setMolecule(mol);
                plugin.run();
                
                double[] pHs = plugin.getpHs();
                double[] logDs = plugin.getlogDs();
    
                // get and print logD values
                for (int i=0; i < pHs.length; ++i) {
    
                    double pH = pHs[i];
                    double logD = logDs[i];
    
                    System.out.println(pH+", "+logD);
                }
            }
            importer.close();
     

    Another example showing logD calculation at a single pH value:

            // instantiate plugin
            logDPlugin plugin = new logDPlugin();
    
          // set pH
          plugin.setpH(3.0);
    
          // set the input molecule
          plugin.setMolecule(mol);
    
            // run the calculation
            plugin.run();
    
            // get result
            double logD = plugin.getlogD();
    
            // print result
            System.out.println("logD at pH 3.0: "+logD);
     
     

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

    • Constructor Detail

      • logDPlugin

        public logDPlugin()
        Constructor. Creates the charge calculator object.
    • Method Detail

      • setParameters

        public void setParameters​(Properties params)
                           throws PluginException
        Sets the input parameters for the plugin. Charge parameters and value ranges:
        • precision: 0-8 or inf (number of displayed fractional digits, inf for unrounded value)
        • anion: Cl- ion concentration (default: 0.1)
        • kation: Na+ plus K+ ion concentration (default: 0.1)
        • pH: pH value - calculate logD at a single pH
        • lower: pH lower limit (default: 0.0)
        • upper: pH upper limit (default: 14.0)
        • count: pH step size between lower and upper limits (default: 0.5)
        • ref1-ref4: reference pH values
        • considertautomerization: consider tautomerization
        • method: vg, klop, phys, user, weighted
        Overrides:
        setParameters in class CalculatorPlugin
        Parameters:
        params - is the parameter table
        Throws:
        PluginException - on error
      • setCloridIonConcentration

        public void setCloridIonConcentration​(double c)
        Sets the Cl- concentration (default: 0.1).
        Parameters:
        c - is the concentration
      • setNaKIonConcentration

        public void setNaKIonConcentration​(double c)
        Sets the Na+, K+ concentration (default: 0.1).
        Parameters:
        c - is the concentration
      • setpHLower

        public void setpHLower​(double lower)
        Sets pH lower limit (default: 0.0).
        Parameters:
        lower - is the pH lower limit
      • setpHUpper

        public void setpHUpper​(double upper)
        Sets pH upper limit (default: 14.0).
        Parameters:
        upper - is the pH upper limit
      • setpHStep

        public void setpHStep​(double step)
        Sets pH step to be taken between the pH lower and upper limits (default: 1.0).
        Parameters:
        step - is the pH step
      • setpH

        public void setpH​(double pH)
        Sets a single pH value for the logD calculation.
        Parameters:
        pH - is the pH value
      • setConsiderTautomerization

        public void setConsiderTautomerization​(boolean considerTautomerization)
        Sets to consider tautomerization in calculation. Default: false.
        Parameters:
        considerTautomerization - if true the calculation will be performed considering tautomerization and resonance
        Since:
        Marvin 5.0
      • setConsiderHPLCEffect

        public void setConsiderHPLCEffect​(boolean hplc)
      • 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
      • setlogPMethod

        public void setlogPMethod​(chemaxon.marvin.calculations.LogPMethod method)
        Sets the logP calculation method. The available methods are:
        • LogPMethod.CONSENSUS
        • LogPMethod.CHEMAXON
        • LogPMethod.USER_DEFINED
        The default is LogPMethod.CONSENSUS.
        Parameters:
        method - is the logP calculation method
        Since:
        Marvin 15.4.13
      • getLogPTrainingIds

        public static String[] getLogPTrainingIds()
        Returns the id's of available logP trainings.
        Returns:
        the id's of available logP trainings
        Since:
        Marvin 5.4
      • setLogPTrainingId

        public void setLogPTrainingId​(String trainingId)
                               throws PluginException
        Sets the user defined logP training.

        NOTE: Overwrites the effect of setLogPTraining(InputStream)

        Parameters:
        trainingId - the logP training id
        Throws:
        PluginException - if training id is invalid, or parameter file for training cannot be loaded
        Since:
        Marvin 5.4
      • setpKaCorrectionLibrary

        public void setpKaCorrectionLibrary​(String correctionLibraryId)
        Sets the pKa correction library.
        Parameters:
        correctionLibraryId - is the pKa correction library identifier
        Since:
        Marvin 5.4
      • 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
      • calclogD

        public double calclogD​(double pH)
                        throws PluginException
        Returns the logD value at fixed pH.
        Parameters:
        pH - is the pH value
        Returns:
        the logD value at the given pH
        Throws:
        PluginException - on error
      • getHidrophobicity

        public double getHidrophobicity()
      • getChargeCategory

        public String getChargeCategory()
      • getResultTypes

        public Object[] getResultTypes()
        Returns the result types. Possible result types: "logD", "reflogD".
        Overrides:
        getResultTypes in class CalculatorPlugin
        Returns:
        the result types
      • getRefpHs

        public double[] getRefpHs()
        Returns the reference pH array.
        Returns:
        the reference pH array
      • getReflogDs

        public double[] getReflogDs()
        Returns the reference logD array.
        Returns:
        the reference logD array
      • getlogD

        public double getlogD()
        Returns the logD value for the pH specified in setpH(double).
        Returns:
        the logD value
      • getpHs

        public double[] getpHs()
        Returns the pH array.
        Returns:
        the pH array
      • getlogDs

        public double[] getlogDs()
        Returns the logD array.
        Returns:
        the logD array
      • getResult

        public Object getResult​(Object type,
                                int index)
                         throws PluginException
        Returns the result item for the specified type and index. logD returns the main or reference (pH, logD) arrays as a double[2][] with the 0-th element being the pH array and the 1-st element being the logD array.
        Overrides:
        getResult in class CalculatorPlugin
        Parameters:
        type - is the result type: "logD" or "reflogD"
        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. logD returns the rounded (pH, logD) value pairs in string format: the values are rounded using the 'precision' input parameter that determines the number of fractional digits displayed, pH and logD are separated by a tab character.
        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
      • getImageMolecule

        protected Molecule getImageMolecule()
                                     throws PluginException
        Returns the molecule to be used for legend image.
        Returns:
        the image molecule
        Throws:
        PluginException - on error
      • 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. Does AROM_BASIC aromatization.
        Overrides:
        standardize in class CalculatorPlugin
        Parameters:
        mol - is the molecule to be standardized