User 677b9c22ff
22-08-2007 01:21:35
Hi,
I have some smiles codes which came out of Reactor-->Standardizer-->molconvert.
If I go to Marvin 4.11.1 and import these SMILES codes
and select Show Source (SMILES - non stereo) it will always
show some weird SMILES codes. For example (weird):
Code: |
CC(=O)N1c2cccc[c:5]2[C:1](=O)[C:6]1=NOC(C)(C)C
|
Even if I select source unique SMILES (which I suspect is a real canonizer)
it always shows the reaction mapping numbers and always shows
the stereo information. Running these molecules through the
Standardizer with remove stereo, remove chiral, remove mapping does not change anything. Is there a molconvert option to do that?
I would expect something like (hand-drawn)
Code: |
CC(=O)N1c2ccccc2C(=O)\C1=N/OC(C)(C)C
|
What would be the proper way to remove these weird SMILES code formats with the [] brackets?
Thank you in advance.
Tobias
ChemAxon a3d59b832c
22-08-2007 13:21:57
Hi,
There is an "Unmap" Standardizer action, but currently it only works for reactions. Our colleagues already registered the request that it should work for molecules also.
In the meantime, you can create a custom program using the Marvin API to remove atom maps. Let us know if you would like some pointers to the required methods and classes.
Regards,
Szabolcs
User 677b9c22ff
22-08-2007 18:54:41
Hi,
you mean something like this
old forum post for clearing atom maps?
for (int i=mol.getAtomCount()-1; i >= 0; --i) {
mol.getAtom(i).setAtomMap(0);
I attached some code which uses the automatic format input guesser molimporter and automatic molexporter. May it be helpful to others.
The funny thing is, once you know the function (I did not know it),
its actually pretty easy to write some code using the API.
Tobias
ChemAxon a3d59b832c
22-08-2007 19:26:47
Yes, I had exactly this in my mind, but forgot about the old forum code. Thank you for sharing this with us!
User 677b9c22ff
23-08-2007 02:41:58
Hi,
I tried also to get rid of *ALL* stereo information, but the following code
did not clean my molecules.
target.getAtom(i).setStereoGroupType(StereoConstants.STGRP_NONE);
target.getAtom(i).setStereoGroupType(StereoConstants.ATOMSTEREO_NONE);
target.getAtom(i).setStereoGroupType(StereoConstants.CHIRALITYSUPPORT_NONE);
What are the correct functions?
Tobias
User 677b9c22ff
23-08-2007 02:54:27
Hi,
I tried also to get rid of *ALL* stereo information, but the following code
did not clean my molecules.
target.getAtom(i).setStereoGroupType(StereoConstants.STGRP_NONE);
target.getAtom(i).setStereoGroupType(StereoConstants.ATOMSTEREO_NONE);
target.getAtom(i).setStereoGroupType(StereoConstants.CHIRALITYSUPPORT_NONE);
example:
[#6][C@H](O)[C@H](O)[C@H](O)CO
What are the correct functions?
Tobias
ChemAxon 25dcd765a3
23-08-2007 06:49:11
User 677b9c22ff
23-08-2007 19:12:01
Hi Andras,
unfortunately due to the mentioned bug above,
I can not use the Standardizer (it will not work).
These structures come out of Reactor and can not be cleaned.
The single smarts I gave above can be cleaned (but not all the other structures).
standardize -c "absolutestereo:clear..clearstereo..clearstereo:doublebond" problem.sdf
Tobias
ChemAxon 25dcd765a3
24-08-2007 16:05:00
If you have molecules in 2D, the chiral stereo and double bond stereo information can be cleared using the following code:
Code: |
for(int i = 0; i<m.getBondCount(); i++){
MolBond b = m.getBond(i);
// remove parity info
b.setFlags(0,MolBond.STEREO_MASK);
// remove CIS TRANS info
int t = b.getType();
if (t == 2 || t == MolBond.SINGLE_OR_DOUBLE || t == MolBond.DOUBLE_OR_AROMATIC || t == MolBond.ANY){
b.setFlags(StereoConstants.CIS|StereoConstants.TRANS, StereoConstants.CTUMASK);
}
}
|
Andras