atom substitution

User 781a908cdf

10-08-2004 12:32:55




hello everybody,





I have a file representation of a molecule and I would like to make a substitution of an atom by a new one.


Is it possible ? (and if yes, please give me the solution ;) )





Bye and thanks.





fabien

ChemAxon d76e6e95eb

10-08-2004 15:07:30

There are many ways to do that, the preferred approach depends on the details. It might help to identify the task if you could you upload a sample image of the substitution.





How do you determine the atom, which should be substituted? (atom type, atom index, atom map, functional group, etc.).


Would you like to simply replace an atom with an other, or process a virtual substitution reaction?


Do the old and the new atoms have different valences?


What is the type of the file you have?

User 781a908cdf

10-08-2004 16:55:17




In fact I would like to do a kind of standardization. So I draw a reaction, that is off course wrong since I want to make a virtual substitution, and then I could know what are the molecules in my base that have been "standardized" (thanks to another table in the base)






To put it in a nutshell, I want to replace one atom or a group of atoms with another atom that we don't use (for example Fr).





I hope that it will better explain my problem...


If there is better way to the solution I wish, I will be happy to read it ;)


bye


ChemAxon d76e6e95eb

11-08-2004 12:52:07

Your approach is good, but the reaction scheme should be modified. Remove R-groups, and add reaction mapping (see the attached image).


This transformation can be used with both Standardizer (http://www.jchem.com/doc/user/Standardizer.html) and Reactor (http://www.jchem.com/doc/user/Reactor.html). The reaction can be in mrv, rxn, rdf or SMIRKS formats, it is up to you which one you prefer. Here is an example for each approach:








Standardizer:


Just add the following line to you standardization configuration file:


Code:
<Reaction ID="OHtoOFr" Structure="[H:2][O:1]C=O>>[Fr:3][O:1]C=O"/>
and run standardizer with it (see the attached file). Command line example:


Code:
standardize in.sdf -c convert.xml -f sdf -o out.sdf









Reactor:


Process molecules with Reactor. Command line example:


Code:
react -r "[H:2][O:1]C=O>>[Fr:3][O:1]C=O" in.sdf -f sdf -o out.sdf

User 781a908cdf

12-08-2004 09:25:05




Thank you for all !


Now I'll try to do the same with the API; so perhaps this subject isn't already close ;)


Bye

User aa9088a0c5

26-08-2004 07:54:06

hi,


Is there a way to do a atoms group substitution with another atoms group or another atom?





I tried to map several atoms with the same number, but it doesn't work


In the example, I want to change OH group to a Fr atom, it's a question of mapping or others?





thanks to help

ChemAxon d76e6e95eb

26-08-2004 09:17:16

Your reaction scheme and mapping seems perfect, it should work. I tested it from the command line:





Code:
react -r "[H][O:2][C:1]=O>>[Fr:3][C:1]=O" "CCC(=O)O[H]"


CCC([Fr])=O






Which JChem version do you use?

User aa9088a0c5

26-08-2004 11:59:06

I resolved the problem, I use a 'standardization' in java for subtitute in the molecule, and it's ok. the problem before was that I standardized the reaction :


I drew [H][O:1][C:2]=O


and with the standardization, I had [OH:1][CH:2]=O


and it didn't work





So I removed the standardization of the reaction and it's ok


thanks to help

ChemAxon d76e6e95eb

26-08-2004 13:49:33

I understand. The reactant in your "standardized" scheme matches formic acid only (carboxylic acid with a hydrogen on the carbon). This is because the generic reaction scheme is interpreted as SMIRKS/reaction SMARTS in this case.


It is usually not necessary to standardize the reaction sceme, but it is recommended to standardize your reactants. However, the reaction scheme should never be exported as SMILES, export it as SMARTS.