remove reacting centers and atom-mappings

User 050f2b66a2

14-01-2016 14:30:51

How can we remove reacting centers and atom-mappings of any structure in the database without changing the atom coordninates in the structure (see attached screenshot).


We want to remove the mappings and recting-centers completely from the moltable.


We tried the command 


jc_standardize(jc_evaluate_x (molfile,'chemTerms:fix(''reactingcenterbondmark->removereactingcenterbondmark'') outformat:mol'),  'config:unmap..dearomatize') 


but when we use this command the resulting molecule looks different than the original one. 


Thanks
Udo

ChemAxon abe887c64e

14-01-2016 16:08:51

Hi Udo,


We found a bug around the use of the fixer -  remove reacting center bondmark - in cartridge, and are actually working on the solution.


However, could you send us an example molecule and specify the version of JChem Oracle Cartridge you are using?


Thank you,


Krisztina

User 050f2b66a2

21-01-2016 09:29:26










kvajda wrote:

Hi Udo,


We found a bug around the use of the fixer -  remove reacting center bondmark - in cartridge, and are actually working on the solution.


However, could you send us an example molecule and specify the version of JChem Oracle Cartridge you are using?


Thank you,


Krisztina



Hi Krisztina,


Currently we are using the cartridge version 15.6.29.


Here is an example-molfile. 


 


  Mrv0541 01211609542D          


 


  8  8  0  0  0  0            999 V2000


   -3.7567    1.7752    0.0000 C   0  0  0  0  0  0  0  0  0  1  0  0


   -4.4712    1.3627    0.0000 C   0  0  0  0  0  0  0  0  0  2  0  0


   -4.4712    0.5377    0.0000 C   0  0  0  0  0  0  0  0  0  3  0  0


   -3.7567    0.1252    0.0000 C   0  0  0  0  0  0  0  0  0  4  0  0


   -3.0422    0.5377    0.0000 C   0  0  0  0  0  0  0  0  0  5  0  0


   -3.0422    1.3627    0.0000 N   0  0  0  0  0  0  0  0  0  6  0  0


   -3.7567    2.6002    0.0000 O   0  0  0  0  0  0  0  0  0  7  0  0


   -4.4712    3.0127    0.0000 C   0  0  0  0  0  0  0  0  0  8  0  0


  1  2  1  0  0  0  0


  1  6  2  0  0  0  0


  2  3  2  0  0  0  0


  3  4  1  0  0  0  0


  4  5  2  0  0  0  0


  5  6  1  0  0  0  0


  7  8  1  0  0  0  0


  1  7  1  0  0  0  4


M  END

User 7eb23419ad

27-01-2016 08:55:02

The problem is that the fix in the cartridge works but the molecule would be changed. This we don't want.


For example: 


i use this function jc_evaluate_x (molfile, 'chemTerms:fix(''reactingcenterbondmark->removereactingcenterbondmark..atommap->removeatommap'') outformat:mol')


with this molfile 1 and get after execution molfile 2. The problem is we want molfile 3.


The next problem is that with the fix function a cleaning and arranging will be done. The vector positions of the molecule change. This we don't want. 


How can we change the function so only the fix will work?


Could there be a problem with cartridge configurations, too? the result of the function with a molfile of a indexed column and the direct execution with a molfile string are different.

ChemAxon abe887c64e

27-01-2016 13:06:29

Dear All,


We can reproduce the difference - aromatization and rotation - between the original structure and the output structure. Unfortunately, it seems to be an intended behavior.


In cartridge, when the first parameter of the jc_evaluate_x operator is a column, then this column must have a jc_idxtype index. During the index creation, a converted - standardized - copy of the original structures are created in cxsmiles or cxsmarts format without saving the two dimensional coordinates. jc_evaluate_x runs on the basis of that standardized data. So aromatization is caused by the standardization, rotation of the output is caused by loosing the original 2D coordinates.


The Kekule form can be got back if you apply the 'dearomatize' standardizer action.


However, for getting un-rotated output structure, we can only suggest a workaround:


Use jc_evaluate_x operator with molecule text as first parameter. 


select jc_standardize(jc_evaluate_x ('
  Mrv15b2 01271613422D          

  8  8  0  0  0  0            999 V2000
   -3.9661    3.6252    0.0000 C   0  0  0  0  0  0  0  0  0  1  0  0
   -4.3786    2.9107    0.0000 C   0  0  0  0  0  0  0  0  0  2  0  0
   -3.9661    2.1962    0.0000 C   0  0  0  0  0  0  0  0  0  3  0  0
   -3.1411    2.1962    0.0000 C   0  0  0  0  0  0  0  0  0  4  0  0
   -2.7286    2.9107    0.0000 C   0  0  0  0  0  0  0  0  0  5  0  0
   -3.1411    3.6252    0.0000 N   0  0  0  0  0  0  0  0  0  6  0  0
   -4.3786    4.3397    0.0000 O   0  0  0  0  0  0  0  0  0  7  0  0
   -5.2036    4.3397    0.0000 C   0  0  0  0  0  0  0  0  0  8  0  0
  1  2  1  0  0  0  0
  1  6  2  0  0  0  0
  2  3  2  0  0  0  0
  3  4  1  0  0  0  0
  4  5  2  0  0  0  0
  5  6  1  0  0  0  0
  7  8  1  0  0  0  0
  1  7  1  0  0  0  4
M  END
', 'chemTerms:fix("reactingcenterbondmark->removereactingcenterbondmark..atommap->removeatommap") outformat:mol'), 'config:dearomatize') from dual;


In case you plan to create a PL/SQL script to embed the above SELECT statement, please take into account that the function equivalents of jc_standirdize and jc_evaluate_x operators, jcf.standardize and jcf.evaluate_x have to be applied.


Best regards,


Krisztina

User 7eb23419ad

27-01-2016 16:10:29

Hi,


i tested it and it works. The next problem is that explicit hydrogens will be deleted when i execute the reactioncenterbondmark fix.


What can i do that this doesn't happen?

ChemAxon abe887c64e

27-01-2016 16:20:58

Unfortunately, removing explicit hydrogens - beside aromatization - is the other default standardization action included almost everywhere. (No more then these two.). Like 'dearomatize' there is an other standardizer action for adding explicit hydrogens addexplicith.


'config:dearomatize..addexplicith'


It will add explicit hydrogens to all possible places, not just where they originally were.


I hope this helps,


Krisztina

User 7eb23419ad

28-01-2016 16:01:47

Do you know a possibility to fix the structures in the database without losing the explicit hydrogens?

ChemAxon abe887c64e

28-01-2016 16:56:17

The default standardization is 'aromatize' and 'removeexplicith' .Instead of using the default, you can define any custom standardization, even without the action of removing explicit hydrogens.The configuration of the custom standardizer actions can be set as CREATE INDEX parameters.


Best regards


Krisztina

User 7eb23419ad

17-02-2016 12:00:58

Hi,


can i use a custom standardize config in the jc_evaluate_x method? I cant use it as index for the mofile column because i don't use the column in the statement.


Do you have an example for me? I need a standardize config without aromatize and without RemoveExplicitH.


Regards,


Tobias

ChemAxon abe887c64e

19-02-2016 08:23:37

Sorry for the late answer.


You can define custom standardizer actions to be executed as:


select jc_evaluate_x(jc_standardize('C1=CC=CC=C1', 'config:clean2d..dearomatize'),'chemTerms:name') from dual;


If you do not want to execute any standardizer action, you have to create the standardizer xml without actions like:


<?xml version="1.0" encoding="UTF-8"?>


<!--This file is created with ChemAxon's Configuration Builder-->

<!--This is a configuration file for ChemAxon's Standardizer-->

<StandardizerConfiguration>

  <Actions>

  </Actions>

</StandardizerConfiguration>

 


Store this xml in a table and refer to it in the select jc_standardizer:


select jc_evaluate_x(jc_standardize('C1=CC=CC=C1', 'sep=~ sql:select standardizer_column from standardizertable'),'chemTerms:name') from dual;

User 7485a71152

22-02-2016 09:51:46

Dear Krisztina,


we've tested your proposal (see attached testfile) - but we still the structure with removed explicit hydrogens and aromatization.


 

ChemAxon abe887c64e

22-02-2016 15:14:14

Dear Edith,


Thank you for the feedback and sorry for the inconvenience.


We checked the relevant code particles and found a solution, however, this is a global solution which affects the whole database schema.


The default standardizer configuration can be modified by the following command, but please take into account that changing the default standardizer configuration influences all the ... from dual statements.


call jc_set_default_property('standardizerConfig', '<?xml version="1.0" encoding="UTF-8"?>
<StandardizerConfiguration>
  <Actions>
  </Actions>
</StandardizerConfiguration>');

Best regards,


Krisztina


 

User 7485a71152

22-02-2016 16:06:38

Hi Krisztina,


Thanks - this proposal seems to solve our current problem -based on the first checks. We are now checking unexpected side effects. Therefore some questions:

Where is this basic, scheme wide default standardization configuration setting considered? I understood - this is a default for creating indices (and can be overwritten with appropriate parameters) and this is considered for the jc_evaluate_x function. Any other functions?


And what was the previous setting? Finally: where can we see the current settings? We checked the JCHEM_PROPERTIES table - but couldn't see it.


Thanks for your answer! Edith 

ChemAxon abe887c64e

23-02-2016 13:18:42

Dear Edith,


The default standardizer configuration set by jc_set_default_property('standardizerConfig','...')  will be the  valid default standardization in the whole jchem schema. The following areas are involved in using the default standardizer configuration:



An example after setting the default with the standardizer configuration file without any standardizer action :


The result of this jc_compare is 0:


select jc_compare('CC1=C(O)C=CC=C1', 'CC1=CC=CC=C1O', 't:f') from dual;

The molecules must be aromatized in order to get result 1:


select jc_compare(jc_standardize('CC1=C(O)C=CC=C1','config:aromatize'), jc_standardize('CC1=CC=CC=C1O', 'config:aromatize'), 't:f') from dual;

The original default standardizer configuration in JChem has two actions: aromatize (the so called general aromatization) and removeexplictH. One exception is when structureType=queries index parameter is set in the create index statement, in that case only aromatize is applied.


Best regards,


Krisztina

ChemAxon abe887c64e

24-02-2016 08:53:17

Dear Edith,


I would like to supplement our former answer; here you can find more detailed information regarding default properties.


Please take into account the following comments to clarify the effect of


call jc_set_default_property('standardizerConfig', '...'); 

The consequences depend on the type of the user who runs it.


If the command is run by the Cartridge Owner, then the new standardizerConfig will be stored in the JC_IDX_PROPERTY table of the Cartridge Owner and this standardizer configuration will be valid for all the other users as well (like the original default standardizer configuration).


However, any non-Cartridge-Owner user can set their own standardizerConfig by runnig the above command. In this case, they will have an own JC_IDX_PROPERTY table created containing the set standardizerConfig. This configuration will be valid only for that user.


Best regards,


Krisztina