New in Wolfram Mathematica 7: Extended Chemical Data  previous | next 
Find Parent Compounds for Ions
Search for chemicals that provide two equivalents of phosphate per molecule.
In[1]:=

Click for copyable input
ion = # -> ChemicalData[#, "IonTally"] & /@ ChemicalData[];
In[2]:=

Click for copyable input
Text[Grid[{ChemicalData[#, "Name"], 

     ChemicalData[#, "ColorStructureDiagram"], 

     Grid[ChemicalData[#, "IonTally"], Frame -> All]} & /@ 

   Cases[ion, HoldPattern[_ -> {___, {"IonPhosphate", 2}, ___}]][[All,

     1]], Frame -> All]]
Out[2]=