I am still curious why, this kind of dubious manipulation is how errors
start propagating. Anyways I can only ask twice :-). These are not
depiction options but you can achieve it by modifying the molecule.

1) I think what you're asking is to get the "parent" molecule. You should
define a list of the salts (counter ions) you want to remove and just
remove them from the IAtomContainer. A common hack is to remove everything
but the largest component (OEChem has the amusingly name:
OETheFunctionFormerlyKnownAsStripSalts
<https://docs.eyesopen.com/toolkits/cpp/oechemtk/OEChemFunctions/OETheFunctionFormerlyKnownAsStripSalts.html#OEChem::OETheFunctionFormerlyKnownAsStripSalts>).
In CDK you would use the ConnectivityChecker
<http://cdk.github.io/cdk/latest/docs/api/index.html?org/openscience/cdk/graph/ConnectivityChecker.html>
sort
by size and take the largest one. Note you may end up with a non-neutral
form if care is not taken and if there are two components of the same size
you should decide what to do.

2) Remove the stereochemistry,
*container.setStereoElements(Collections.emptyList())*; prior to generating
coordinates. Or if you already have coordinates, iterate over the bonds and
*setStereo(IBond.Stereo.NONE)*. Depending on what you're asking you may
want to set the bond order to single (*setOrder(IBond.Order.SINGLE)*) too,
note this will then mess up valence and so you'd have radicals, so you'd
have to sort that out etc. Again removing information from the molecule is
not a good.
_______________________________________________
Cdk-user mailing list
Cdk-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cdk-user

Reply via email to