Deprotonation Free Energy
Deprotonation Free Energy calculates the free energy of removing one proton from a molecule in water, written as the reaction HA → A⁻ + H⁺, and reported as ΔG_deprot in kcal/mol. This is closely related to pKa, the standard measure of how readily a molecule gives up a proton, so it acts as a pKa proxy.
A smaller (more negative, or less positive) ΔG_deprot means the molecule gives up its proton more easily, which corresponds to a lower pKa, so a stronger acid.
Under the hood it treats deprotonation as a chemical reaction: it computes the solvation free energy of the protonated form (HA) and the deprotonated form (A⁻) with alchemical free energy simulation, then combines them through a thermodynamic cycle that also includes a fixed reference for the released proton (H⁺). You can optionally add a gas phase contribution computed with xTB, a fast quantum chemistry method.
When to use it
Section titled “When to use it”Use it when you want to estimate the pKa of a molecule, or rank how easily a set of molecules give up a proton, by comparing their deprotonation free energies. You supply both the protonated and the deprotonated structures yourself, so you control exactly which proton is being removed. Turn on use_xtb to add the gas phase part of the reaction.
Inputs
Section titled “Inputs”Provide exactly one of (smiles_prot, helm_protonated) and exactly one of (smiles_deprot, helm_deprotonated).
| Input | Required | What it is |
|---|---|---|
smiles_prot | one of smiles_prot or helm_protonated | SMILES of the protonated form (HA). |
helm_protonated | one of smiles_prot or helm_protonated | HELM notation for the protonated peptide (HA). |
smiles_deprot | one of smiles_deprot or helm_deprotonated | SMILES of the deprotonated form (A⁻). |
helm_deprotonated | one of smiles_deprot or helm_deprotonated | HELM notation for the deprotonated peptide (A⁻). |
conformer_method | no, default etkdg | 3D shape generator used only for HELM inputs. etkdg is fast, xtb is slower but better. |
solvent_equil_length | no, default 0.08 ns | Equilibration length per replica, in water. |
solvent_prod_length | no, default 0.4 ns | Production length per replica, in water. |
vacuum_equil_length | no, default 0.08 ns | Equilibration length per replica, in vacuum. |
vacuum_prod_length | no, default 0.4 ns | Production length per replica, in vacuum. |
platform | no, default CUDA | Compute platform, one of CUDA, OpenCL, CPU, or Reference. |
protocol_repeats | no, default 3, minimum 1 | Number of independent repeats used for the uncertainty estimate. More repeats give a smaller uncertainty. |
use_xtb | no, default false | Adds a gas phase free energy contribution computed with xTB. |
keep_dirs | no, default true | Preserves the full simulation outputs so you can download them. |
Longer simulation lengths and more repeats give more reliable numbers, but cost more runtime and credits.
How to run it
Section titled “How to run it”Submit your own protonated and deprotonated structures from Azulene Studio, the Python SDK, or the CLI. New here? The Get started page walks through installing, logging in, and running a ready made example first.
In Azulene Studio
Section titled “In Azulene Studio”Open Deprotonation Free Energy from the tools list, then on the Inputs and Parameters step enter the protonated form and the deprotonated form, each as a SMILES string (or as HELM for a peptide), switch on xTB if you want the gas phase contribution, adjust the simulation lengths if you want, then Review and Submit.
From the Python SDK
Section titled “From the Python SDK”from opal import jobs
result = jobs.submit( job_type="deprotonation_fe", input_data={ "smiles_prot": "C(=O)O", "smiles_deprot": "C(=O)[O-]", "use_xtb": True, },)From the CLI
Section titled “From the CLI”Pass the inputs as a JSON string.
opal jobs submit --job-type deprotonation_fe \ --input-data '{"smiles_prot": "C(=O)O", "smiles_deprot": "C(=O)[O-]", "use_xtb": true}'Reading the result
Section titled “Reading the result”The main output is the deprotonation free energy ΔG_deprot. In the worker results this is carried in the dg_reaction field, with its dg_reaction_unit (kcal/mol), an uncertainty, and an uncertainty_unit, since deprotonation is handled as a special case of a reaction. The protonated and deprotonated forms are echoed back in reactant_smiles and product_smiles. In Azulene Studio this is presented as a hero number labelled “ΔG deprotonation”.
When use_xtb is on, dg_reaction_gas (the gas phase part from xTB) and dg_solvation_contribution (the water part) also appear. A smaller ΔG_deprot means the molecule is a stronger acid. More protocol_repeats lower the uncertainty. If keep_dirs is on, the full simulation outputs can be downloaded.
Keep the simulation lengths short for a quick first run. For reliable numbers, use longer production lengths and at least 3 repeats. This tool runs on a GPU, and runtime grows with the simulation lengths and the number of repeats. Make sure the deprotonated structure differs from the protonated one by exactly the proton you intend to remove, otherwise the result will not match the pKa you expect.