isMarkush() function doesn't seem to work

User cf4264f752

27-01-2012 18:34:19

Hi everyone!


I have a problem with isMarkush() function. It doesn't seem to return proper results.


the following query 


select * from chem_structs where jc_evaluate(structure, 'isMarkush()') = 1;

returns nothing. However there are definitely a lot of Markush structures in our database - see 795735890.mol


and again 


select jc_evaluate(structure, 'isMarkush()') from chem_structs where unit_id = 795735890;

returns 0


am I missing something?


Oracle environment: 


 


Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production


PL/SQL Release 11.2.0.1.0 - Production


CORE 11.2.0.1.0 Production


TNS for Linux: Version 11.2.0.1.0 - Production


NLSRTL Version 11.2.0.1.0 - Production


 


JChem owner: JCHEM_GG_EDITORIAL


 


JChem Server environment: 


Java VM vendor: Sun Microsystems Inc.


Java version: 1.6.0_27


Java VM version: 20.2-b06


JChem version: 5.7.0


JChem Index version: 5070000


JDBC driver version: 11.1.0.7.0-Production


 

ChemAxon fb166edcbd

30-01-2012 16:55:48

The .mol file you attached is empty, can you provide the structure file?


Looking at the picture it may be the case that the structure has undefined R-atoms instead of R-groups with definitions. If this is the case then we do not consider the molecule as Markush structure.

User a7faa21887

03-02-2012 15:28:35

Hi,


Here is jchem index creation params:


 


CREATE INDEX chem_structs_i_jchem ON chem_structs (structure) INDEXTYPE IS jchem.jc_idxtype


PARAMETERS ('structureType=anyStructures,fp_size=32,fp_bit=2,pat_length=6,duplicateFiltering=n')


/


At first we had errors while creating the same index on this table with default structureType=molecule parameter:



java.rmi.RemoteException: java.util.concurrent.ExecutionException: java.lang.Exception: Error while processing ROWID=AABjosAAdAAJriDAAA: Inserting a query or Markush structure is not allowed for table...



So, if we place Markush structures into "anyStructures" we cannot identify it as Markush?



Pavel

 

User cf4264f752

03-02-2012 15:40:18










Nora wrote:

The .mol file you attached is empty, can you provide the structure file?



oops sorry

ChemAxon fb166edcbd

03-02-2012 18:10:47

"Molecule" type tables cannot contain query or markush structures. "Any" type tables can contain both. The attached molecule has an undefined R-atom (without R-definition), therefore it is a query molecule but not a Markush structure, hence isMarkush() returns false. A molecule with R-atoms with definitions (e.g. r.mrv) is considered as both query and Markush.


There will be a public method to check whether a specified molecule can be inserted into a table column with a specified structureType of index. Follow this forum link for details.