Calculating & Insert into Properties Tables in Cartridge

User eff8d0684a

03-11-2011 00:45:26


I am a definite noob with ChemAxon, but need to calculate Lipinksi/human interpretable properties for about 500k molecules that are currently in our jchem molecules table.

We are running Jchem, Jchem cartridge, and oracle on the same windows-2008 server.

What is the best way to automate this task, to make a separate properties table with CD_ID as a foreign key?

We are using these properties to gain insight into high-throughput screening data, and will ultimately make a view of this table for our screening software.

I could script it and output text files to construct the table, but seems like there should be a more elegant way to perform this operation. 

Thanks in advance for any advice.


ChemAxon aa7c50abf8

03-11-2011 09:43:09

Hello Jonny,

What do you mean by "Jchem cassette"? I tried to google for it but got no meaningful result returned.



User eff8d0684a

03-11-2011 16:47:33

Very Sorry, it was late :)


I meant Jchem Oracle Cartridge.


We are running the current version, and have registered 1/2 million compounds through jcman, and now need to create a separate table to house the calculated properties.


Just wondering if there is a way to send the output of cxcalc or another tool to directly insert into a jchem-owned table, or if I must script through all the compounds and populate this with a text-file list.


Also, looking forward, what is the best way to automate this task to streamline the compound registration process?

If you can point me to any usage examples, it'd help tremendously...





ChemAxon aa7c50abf8

03-11-2011 17:38:41

Hi Jonny,

Thank you for the clarification.

The key word, I think, is "Chemical Terms column" or "Chemical Terms field". Using "Chemical Terms" you can describe calculations (property predictions and others): . You can configure a JChem table to have one or more Chemical Terms expressions automatically calculated when a target structure is inserted or updated and store the result in one or more columns.

Assume, you want to have the logP and the rotatable bound count calculated and stored for each structure imported in the table. When you create a JChem table add one "user-defined" column for each of these properties to the table and associate with them the appropriate Chemical Terms expressions. On the command line (

jcman c ctcols --coldefs ", logp numeric(18,9), rotbl_bnd_cnt numeric(1,0)"\
--ctcolcfg "logp=logp();rotbl_bnd_cnt=rotatableBondCount()>4"

Et voila! You will be able to retrieve the two properties in their respective columns for each structure imported. Or using the JChem Cartridge API: calling the jc_evaluate_x operator with the appropriate Chemical Terms:

select jc_evaluate_x(cd_structure, 'chemTerms:logp()') from your_table

This operator will

1. match the Chemical Terms specified against the table configuration,

2. figure out the column based on the table configuration (LOGP in this case) 

3. return the value found in the column.

Due to the way the jc_evaluate_x operator discovers where to look for the auto-calculated value, the value of the chemTerms option must exactly match (including letter cases, white space etc) the Chem Terms specified during table creation.