Consider the following:
cacl = Molecule[{Atom["Ca"], Atom["Cl"]}, {Bond[{1, 2}, "Single"]}];
MoleculeValue[cacl, "CanonicalSMILES"]
(* Cl[CaH] *)
Notice the artificial insertion of the hydrogen atom to fill the valency of the calcium atom. I understand that this behaviour is mentioned in the official documentation:
"Hydrogen atoms may be omitted from the atom list if their presence can be inferred from the valence and bonding of the atoms present."
But is there a way to suppress this default behaviour? I want the SMILES representation of the molecule above to be Cl[Ca+]
, not Cl[CaH]
.