create autocalc fields / syntax

User 05d9866f9b

01-07-2013 08:26:55


Hi - I want to create autocalc fields and my example, based on the documentation, fails.


What is the best way / the correct command to define an index with autocalc fields?



CREATE


Thanks, Edith


INDEX temp_edith_del_DIX ON temp_edith_del(molstructure) INDEXTYPE IS JCHEM.JC_IDXTYPE PARAMETERS('sep=! autoCalcCt=numeric(30,15);logp()!autoCalcCt=numeric(10,0);rotatableBondCount()!autoCalcCt=numeric(30,15);pKa("acidic","2")');

ChemAxon aa7c50abf8

01-07-2013 10:23:26

Hi Edith,


This works for me with JChem version 6.0.1.


What error message do you get? Which JChem version are you using.


Thanks


Peter

User 05d9866f9b

01-07-2013 10:48:56

Hi Peter,


tried to keep the autocalc fields with the statement - but this doesn't work as well.



alter index TEMP_EDITH_DELETE_DIX rebuild PARAMETERS('haltOnError=nf,errorTableName=temp_edith_dix_err,duplicateFiltering=N,std_conf:sql=select setting_val from our_setting_table where abbrev = ''STD_CONFIG_TAUT'',structureType=molecules, skipAutoCalcCt=Y')


We are using 
JChem version: 5.12.0
JChem Index version: 5120000
JDBC driver version: 11.1.0.7.0-Production


 I can't change the ChemAxon version at the moment for this environment.


So - the question at the final end is:


a) I've created autocalc fields with Instant Jchem and want to keep them
b) I want to see the whole index statement to deploy this from development to field test environment
c) and I want to alter the index with a new parameter - but without recalculating all of the autocalc fields.


And to be more concrete - our autocalc fields look like (e.g.):  


.... PARAMETERS('addAutoCalcCtWcn=CHECK_TAUTOMERS;VARCHAR2(1000);check('substructure:reactionSmarts=[H:4][O:3][C:1]=[C:2]>>[H:4][C:2][C:1]=[O:3]..substructure:reactionSmarts=[H:4][N:3][C:1]=[C:2]>>[H:4][C:2][C:1]=[N:3]..substructure:reactionSmarts=[#6][CH1:3]([#6])[N:1]=[O:2]>>[#6][CH0:3]([#6])=[N:1][#8H1:2]..substructure:reactionSmarts=[H:4][n:3]:[c:1]=[O:2]>>[O:2]-[c:1]:[n:3]')') ....

If there is a better way to provide these autocalc fields - please let me know.




 Thanks for your help - Edith




ChemAxon aa7c50abf8

01-07-2013 11:49:44

Hi Edith,


I can create an index with 5.12.0. as well using the same parameters you specicified in your original post.


What error message did you get?


P.

User 05d9866f9b

03-07-2013 11:35:04

My statement:


 


The errormessage:


ORA-29858: error occurred in the execution of ODCIINDEXALTER routine
ORA-29532: Java call terminated by uncaught Java exception: java.lang.IllegalArgumentException: Illegal option: duplicateFiltering
ORA-06512: at "JCHEM.JCHEM_CORE_PKG", line 114
ORA-06512: at "JCHEM.JC_IDXTYPE_IM", line 40


 


Please see what worked and what not: the commented statements didn't work


Create INDEX temp_edith_del_DIX


ON temp_edith_del(molstructure)


INDEXTYPE IS JCHEM.JC_IDXTYPE



--PARAMETERS('sep=! addAutoCalcCtWcn=CHECK_TAUTOMERS;VARCHAR2(1000);check(''substructure:reactionSmarts=[H:4][O:3][C:1]=[C:2]>>[H:4][C:2][C:1]=[O:3]..substructure:reactionSmarts=[H:4][N:3][C:1]=[C:2]>>[H:4][C:2][C:1]=[N:3]..substructure:reactionSmarts=[#6][CH1:3]([#6])[N:1]=[O:2]>>[#6][CH0:3]([#6])=[N:1][#8H1:2]..substructure:reactionSmarts=[H:4][n:3]:[c:1]=[O:2]>>[O:2]-[c:1]:[n:3]'')')


--PARAMETERS('sep=! addAutoCalcCtWcn=CHECK_TAUTOMERS;VARCHAR2(1000);check(''substructure:reactionSmarts=[H:4][O:3][C:1]=[C:2]>>[H:4][C:2][C:1]=[O:3]'')')



PARAMETERS('autoCalcCtWcn=CHECK_3D; VARCHAR2(1000); check(''3d'')');

ChemAxon aa7c50abf8

03-07-2013 16:33:49

Hi Edith,


Create INDEX temp_edith_del_DIX

ON temp_edith_del(molstructure)

INDEXTYPE IS JCHEM.JC_IDXTYPE

--PARAMETERS('sep=! addAutoCalcCtWcn=CHECK_TAUTOMERS;VARCHAR2(1000);check(''substructure:reactionSmarts=[H:4][O:3][C:1]=[C:2]>>[H:4][C:2][C:1]=[O:3]..substructure:reactionSmarts=[H:4][N:3][C:1]=[C:2]>>[H:4][C:2][C:1]=[N:3]..substructure:reactionSmarts=[#6][CH1:3]([#6])[N:1]=[O:2]>>[#6][CH0:3]([#6])=[N:1][#8H1:2]..substructure:reactionSmarts=[H:4][n:3]:[c:1]=[O:2]>>[O:2]-[c:1]:[n:3]'')')

--PARAMETERS('sep=! addAutoCalcCtWcn=CHECK_TAUTOMERS;VARCHAR2(1000);check(''substructure:reactionSmarts=[H:4][O:3][C:1]=[C:2]>>[H:4][C:2][C:1]=[O:3]'')')

PARAMETERS('autoCalcCtWcn=CHECK_3D; VARCHAR2(1000); check(''3d'')');

addAutoCalcCtWcn is invalid with CREATE INDEX. (It is valid for ALTER INDEX.) You should use autoCalcCtWcn with CREATE INDEX.


Peter

ChemAxon aa7c50abf8

03-07-2013 16:50:37

Hi Edith,


alter index TEMP_EDITH_DELETE_DIX rebuild PARAMETERS('haltOnError=nf,errorTableName=temp_edith_dix_err,duplicateFiltering=N,std_conf:sql=select setting_val from our_setting_table where abbrev = ''STD_CONFIG_TAUT'',structureType=molecules, skipAutoCalcCt=Y')

Changing either the structureType or the duplicateFiltering parameter of an existing index is currently not supported. You should be able to successfully rebuild the index after these options have been removed from the parameter list.


Peter