Similarity index in IJC _plus_ documenting IJC scripting

User 99339bfc89

03-10-2011 20:06:27

Instant JChem makes it easy to set up a molecular similarity filter, so that I might include/exclude molecules from a set based on a variety of different similarity measures (Tanimoto, etc.).  Rather than filtering, however, I'd like to generate those similarity scores, and then display the decimal representation of the similarity score in a column, giving me the ability to store those values in my database. Is there a way to do such a thing?


More generally, I can see from the release notes that IJC has many powerful new capabilities in version 5.6 ( released September 28).  I'm having trouble finding documentation to describe all of those new capabilities, however. Is there a comprehensive document that describes all the capabilities ( new and old )  in a level of detail sufficient to allow us to consider undertaking major software development projects built around IJC? The Groovy-based scripting sounds especially powerful -- what is the document that best captures the details of utilizing the scripting language?


Thanks for any pointers. Ben

ChemAxon fa971619eb

04-10-2011 01:36:54

 


Instant JChem makes it easy to set up a molecular
similarity filter, so that I might include/exclude molecules from a set
based on a variety of different similarity measures (Tanimoto, etc.). 
Rather than filtering, however, I'd like to generate those similarity
scores, and then display the decimal representation of the similarity
score in a column, giving me the ability to store those values in my
database. Is there a way to do such a thing?


Yes, you can do this with a chemical terms expression. An example is:


1.0 - dissimilarity('CF', '[#6]N1CCN2C(C1)C1=C(CC3=C2C=CC=C3)C=CC=C1')

Note:


1. I subtract from 1.0 as the function is dissimilarity not similarity (Doh!)


2. The 'CF' parameter means chemical hashed fingerprints. Other options are available. See here:
http://www.chemaxon.com/marvin/help/chemicalterms/EvaluatorFunctions.html#dissimilarity_functions


3. The second parameter is the structure you are comparing to (in smarts format in this case).


One key benefit of this is that the similarity scores will be automatically kept up to date if you edit strucutres or add new ones. You can add as many of these columns as you want (within reason), each with a similarity to a different structure.


More generally, I can see from the release notes 
that IJC has many powerful new capabilities in version 5.6 ( released
September 28).  I'm having trouble finding documentation to describe all
of those new capabilities, however. Is there a comprehensive document
that describes all the capabilities ( new and old )  in a level of
detail sufficient to allow us to consider undertaking major software
development projects built around IJC? The Groovy-based scripting sounds
especially powerful -- what is the document that best captures the
details of utilizing the scripting language?



New features in 5.6 can be found here:
http://www.chemaxon.com/instantjchem/features/ijc_5_6_0.html


The documentation on scripting is admitedly somewhat basic, but can be found here:
http://www.chemaxon.com/instantjchem/ijc_latest/docs/user/help/htmlfiles/scripts/scripts.html


You should also look at the groovy documentation and the IJC API docs. Links to both of these are at the bottom of that page.


The scripting functionality in IJC is not fully devloped at the current stage. The editor support is pretty basic, and there are many improvements planned, but it already provides a powerful way to expand the capabilites of IJC. If you need any advice then please ask.




 


 

User 99339bfc89

04-10-2011 11:35:28










tdudgeon wrote:

Yes, you can do this with a chemical terms expression. An example is:


1.0 - dissimilarity('CF', '[#6]N1CCN2C(C1)C1=C(CC3=C2C=CC=C3)C=CC=C1')

Note:


1. I subtract from 1.0 as the function is dissimilarity not similarity (Doh!)


2. The 'CF' parameter means chemical hashed fingerprints. Other options are available. See here:
http://www.chemaxon.com/marvin/help/chemicalterms/EvaluatorFunctions.html#dissimilarity_functions


3. The second parameter is the structure you are comparing to (in smarts format in this case).


One key benefit of this is that the similarity scores will be automatically kept up to date if you edit strucutres or add new ones. You can add as many of these columns as you want (within reason), each with a similarity to a different structure.


 


More generally, I can see from the release notes 
that IJC has many powerful new capabilities in version 5.6 ( released
September 28).  I'm having trouble finding documentation ...


New features in 5.6 can be found here:
http://www.chemaxon.com/instantjchem/features/ijc_5_6_0.html


The documentation on scripting is admitedly somewhat basic, but can be found here:
http://www.chemaxon.com/instantjchem/ijc_latest/docs/user/help/htmlfiles/scripts/scripts.html


You should also look at the groovy documentation and the IJC API docs. Links to both of these are at the bottom of that page.


The scripting functionality in IJC is not fully devloped at the current stage. The editor support is pretty basic, and there are many improvements planned, but it already provides a powerful way to expand the capabilites of IJC. If you need any advice then please ask.



 


Thanks for the swift reply, Tim.  As for the chemical terms expression, that was exactly what I was looking for, and now I can generate all the similarity scores I like, and store and display them within IJC. Excellent!


 


As for the documentation of IJC scripting, I have to say that the two specified links are indeed a little on the lean side. Furthermore, the second link ( .. ./scripts/scripts.html') in particular states explicitly that forms cannot be scripted ( that is, for example, that no script can be executed when a button is pressed ).  I'm looking over my notes from the UGM in San Diego last week, and I came away with the distinct impression that scripting of form elements was now indeed a possibility. Was that simply wishful thinking on my part? For if I can indeed call scripts to perform functions in response to user input then I can start to build new capabilities on top of old ones, and I could quickly imagine piecing together a resulting application of great power. Without the ability to extend form capabilities through scripted extensions then IJC, for all its admitted power, is still  more of a "what you see is what you get" technology, without the level of customizability that would make IJC the general-purpose tool that I really want it to be.


 


Thanks again for the response, and please let me know if there is a way for me to script forms or not.

ChemAxon e189db4705

04-10-2011 11:52:57

Hi Ben,


Button widget has been already added as a new feature in IJC 5.6. This allows to use scripting in forms (not yet in gridview). It's described here:


http://www.chemaxon.com/instantjchem/ijc_latest/docs/user/help/htmlfiles/managing_data/widgets/WBButtonWidget.html


It seems that we forgotten to update that table with scripting limitations. We will fix it soon. Thanks for comment and sorry for confusion.


Petr