User 331d7f5c0b
03-08-2009 21:03:41
Hi,
Why is [H][N+]([H])([H])[H] neutralized to [NH4] (a free-radical form) and not N, which is the result of neutralizing [NH4+]?
Moses
User 331d7f5c0b
03-08-2009 21:03:41
Hi,
Why is [H][N+]([H])([H])[H] neutralized to [NH4] (a free-radical form) and not N, which is the result of neutralizing [NH4+]?
Moses
ChemAxon e08c317633
04-08-2009 09:20:35
"[H][N+]([H])([H])[H]" neutralization should result ammonia ("[H]N([H])[H]"), and this is exactly what I get with Standardizer 5.2.3.1
$ standardize -c "neutralize" "[H][N+]([H])([H])[H]"
[H]N([H])[H]
Zsolt
User 331d7f5c0b
10-08-2009 18:08:04
Zsolt wrote: |
"[H][N+]([H])([H])[H]" neutralization should result ammonia ("[H]N([H])[H]"), and this is exactly what I get with Standardizer 5.2.3.1 |
Hi Zsolt,
I made sure this time to test on the latest JChem (5.2.3_2), using:
Molecule m = new MolHandler("[H][N+]([H])([H])[H]");
return (new Standardizer("neutralize")).standardize(m).toFormat("smiles");
That does produce [H]N([H])[H]. However, if you do:
return (new Standardizer("neutralize")).standardize(m).toFormat("smiles:u");
You get [NH4], which is incorrect. You get the same with "smiles:-H". So I guess the problem is not with the Standardizer, but with Molecule's toFormat method or whatever it calls. I also tried:
(new Standardizer("neutralize..removeexplicitH")).standardize(m).toFormat("smiles");
which also returns [NH4]. Finally, I tried this:
Molecule m = new MolHandler("[H]N([H])[H]");
return (new Standardizer("removeexplicitH")).standardize(m).toFormat("smiles");
and that also returns [NH4], so I'm guessing that's the actual problem. Please let me know if I'm missing something.
Moses
ChemAxon e08c317633
12-08-2009 11:32:50
Hi Moses,
It's indeed a bug. We have fixed it, the fix will be available in JChem 5.2.4.
Thanks for the report.
Zsolt