Wolfram Function Repository
Instant-use add-on functions for the Wolfram Language
Function Repository Resource:
Neutralize the ionic form of a molecule provided as a Molecule, SMILES or InChI string
ResourceFunction["MoleculeNeutralize"][m] neutralizes the charges on a molecule m specified as a Molecule, SMILES string or InChI string. | |
ResourceFunction["MoleculeNeutralize"][m,format] changes the output format to differ from the input format. | |
ResourceFunction["MoleculeNeutralize"][m,format,options] specifies additional or substitute rules for the neutralization reactions as options. |
Inputs provided as Molecule are returned as Molecule:
In[1]:= | ![]() |
Inputs provided as a SMILES strings are returned as SMILES strings:
In[2]:= | ![]() |
Out[2]= | ![]() |
Inputs provides as InChI strings are returned as InChI strings:
In[3]:= | ![]() |
Out[4]= | ![]() |
Lists of inputs can be provided, and each element is processed according to its appropriate type:
In[5]:= | ![]() |
Out[5]= | ![]() |
All possible neutralizations are performed if a molecule contains multiple charged sites:
In[6]:= | ![]() |
Out[6]= | ![]() |
Only neutralization reactions that can be achieved by adding or removing protons without breaking other bonds are performed; as a result, the final molecule may not have charge 0. For example, a quaternary ammonium must have a positive charge to satisfy valence rules:
In[7]:= | ![]() |
Out[7]= | ![]() |
By default, MoleculeNeutralize returns the molecule in the same representation it was provided. Setting the second argument overrides this; choices include "InChI", "InChIKey", "Molecule" and "SMILES":
In[8]:= | ![]() |
Out[8]= | ![]() |
In[9]:= | ![]() |
Out[9]= | ![]() |
In[10]:= | ![]() |
Out[10]= | ![]() |
In[11]:= | ![]() |
Out[11]= | ![]() |
The "UseRules" option allows you to specify a list of reaction rules that will be used instead of the default charge neutralization rules:
In[12]:= | ![]() |
Out[12]= | ![]() |
The "AddRules" option allows you to specify a list of reaction rules that will be applied after the default charge neutralization rules have been applied:
In[13]:= | ![]() |
Out[13]= | ![]() |
This work is licensed under a Creative Commons Attribution 4.0 International License