Solubility Predictor

    This manual gives you a walk-through on how to use the Solubility Predictor:


    The Solubility Predictor is currently available in three ways.


    The solubility predictor is integrated into Marvin Sketch as a plugin, which makes prediction fast and easy. The Solubility Plugin can be reached via the Calculations > Solubility > Aqueous Solubility menu item.

    Menu system

    The menu system of the Solubility Plugin has File, Options and Help menu items.

    File menu

    The File menu can be used to export the results into PDF, or to close the result window.

    • images/download/attachments/1806655/nmr_pdf.png Export to PDF : exports the results into a PDF file, which can be used as a report.

    • Exit : closes the result window.

    Options menu

    The Options menu can be used to set the options of the solubility calculation.

    • Measurement Unit : sets the solubility measurement unit. This can be logS (default), mol/l , or mg/ml .

    • Restore default settings : restores the default settings of the calculation.

    Help menu

    The Help menu opens the help guide of the predictor.

    Result window

    The result window displays the pH-logS plot and a table with prediction results given in one of the following ways :

    • Solubility information: displays intrinsic solubility value, solubility at pH 7.4 and a qualitative solubility category. These categories are:

      • low : if solubility is < 0.01 mg/ml

      • moderate : if solubility is between 0.01 and 0.06 mg/ml

      • high : if solubility is > 0.06 mg/ml

    {primary} About qualitative categories

    These categories are determined based on intrinsic solubility values.

    • pH-Solubility table: displays a table containing the predicted pH-solubility values.


    Fig. 4 The Solubility Plugin result window in MarvinSketch


    The solubility predictor is integrated into the cxcalc command line tool. The command syntax is

    cxcalc [general options] [input files/strings] logs [logs options] [input files/strings]

    where the logS options are the following:

    logs options: 
        -h  --help           this help message
        -U  --unit           measurement unit  [mg/ml | mol/l | logS] (default:
        -i  --intrinsic      intrinsic solubility (default: false)
        -c  --category       solubility category (default: false)
        -H  --pH              solubility at this pH (default: not set)
        -l  --lower           (default: 0)
        -u  --upper           (default: 14)
        -s  --step            (default: 1)

    Some examples on how to use the solubility predictor via cxcalc:

    • Calculating intrinsic solubility and solubility at pH 7.4 for compounds:

      cxcalc logs -i true -H 7.4 molecules.smiles
    • Calculating solubility values between pH 7.0 and 13.0 in mol/l unit:

      cxcalc logs -U mol/l -l 7.0 -u 13.0 molecules.smiles
    • Predicting qualitative solubility category:

      cxcalc logs -c true test.mol

    Chemical Terms

    The Solubility Predictor is also integrated into Chemaxon's Chemical Terms language. The solubility can be calculated by the logS() function that has two parameters:

    • A unit parameter, which could be 'mg/ml' , 'mol/l' , 'logS' , or 'category'. In case of 'category' is used, qualitative solubility is calculated. If no unit parameter is given, logS unit is used.

    • A pH parameter, which is a real number (e.g. '7.4') and sets the pH for solublity calculation. If no pH parameter is given, intrinsic solubility is calculated.

    The following examples show how the functions above can be used with the Chemical Terms evaluator command line tool:

    • Calculating intrinsic solubility for acetic acid in logS unit:

      evaluate -e "logS()" "CC(O)=O"
    • Calculating solubility at pH 7.0 in mol/l unit:

      evaluate -e "logS('7.0', 'mol/l')" molecule.mol
    • Determining qualitative solubility category at pH 7.4:

      evaluate -e "logS('7.4', 'category')" molecule.mol


    Solubility prediction is also available as a node in the KNIME workflow management system. All options that are available for solubility prediction are also available in KNIME. The pictures below show the General and Advanced Options of the node:


    Fig. 5 General options of the Solubility KNIME node


    Fig. 6 Advanced options of the Solubility KNIME node


    The following simple KNIME workflow is an example of how to predict solubility using KNIME nodes:


    Fig. 7 Simple workflow for calculating solubility in KNIME

    In this workflow the importer node provides the molecules for the solubility node. The solubility node is set to calculate the intrinsic qualitative and quantitative solubility for the input molecules.

    The output in this case is a MarvinView node that is used to view the molecules with the calculated solubility values.

    {primary} The picture above shows the state of the nodes before the running of the whole workflow.

    The first few lines of the output viewed in the MarvinView node:


    Fig. 8 First few lines of the output of the solubility calculation


    The Solubility Plugin API with usage examples can be reached here.

    Solubility Predictor demo page

    You can try the Solubility Predictor for free on this demo page.

    Performance reports

    We tested the accuracy of the Solubility Predictor on the full and a filtered subset (multi-component, charged molecules and structures containing rare elements were eliminated) of the HongPing Zhao’s solubility dataset. See the reference within the report.

    Theoretical background material

    If you are curious about the theoretical background of the Solubility Predictor, you can find a detailed description here.

    Known issues

    The following list collects the known issues of the logS Predictor that are not solved yet.

    1. The logS Predictor can't handle special type of salts that show zwitterionic behaviour in a certain pH range. This issue was found in v. 17.29.


      The chloride salt rhodamine B is zwitterionic in the basic pH range (when pH > 7), which should be taken into account and a solubility should be calculated. However, as the N+ atom in the input form can't be neutralized, we handle it as a salt, and we don't calculate solubility for it.


      Fig. 9. The zwitterionic form of rhodamine B


    1. Hou, T. J.; Xia, K.; Zhang, W.; Xu, X. J. ADME Evaluation in Drug Discovery. 4. Prediction of Aqueous Solubility Based on Atom Contribuition Approach. J. Chem. Inf. Comput. Sci. 2004 , 44 , 266-275

    2. Shoghi, E.; Fuguet, E.; Bosch, E.; Rafols, C. Solubility-pH profiles of some acidic, basic and amphoteric drugs European Journal of Pharmaceutical Sciences 2013 , 48, 291-300