In Instant JChem you can create binary fields and load binary files into them (for example images or pdf). This can be a quite useful feature for academics and teachers, as “a picture is worth more than a thousand words”. Pictures are also quite informative in case of various studies and clinical trials. Instant JChem’s binary field is then ideal for tracking a progress of for example growth or regression of a tumor, under the influence of various chemotherapeutics. But what if we need to get hands on the pictures for whatever reason and we do not want to have them in the database only. At the moment there is no way to export the batch of images directly from Instant JChem. We must resort to Groovy scripting which offers up extension of Instant JChem’s basic functionality. For further details, please refer to the documentation.
Posts tegged as 'Instant JChem'
Silicon and Iron have been “co-operating” under pressure for a very, very long time…
Virtual screening (VS) is not a definitive answer to finding the needle in the haystack but it can provide a sensible set of starting points relative to “random”. The available screening techniques are many and varied in design and approach and use different molecular representations, alignments (or not), scoring functions and if available, use information obtained from the target protein. The merits of 2D vs 3D screening are much debated within the literature coming down marginally favourably on the side of 2D (interestingly of course, since 2D does not inherently consider chirality) methods being more effective at isolating true positives 1.
In an earlier post we created a script that called out to a RESTful web service that performs a structure search against the ChEMBL database and pulls back results into IJC. It concentrated on how to call a web service, and other parts of the script were left pretty basic, and we said we would come back and improve them later.
The part that we cover here is how to create a simple user interface. In the original script we hard coded the query structure and the similarity score in the script, meaning we would have to edit the script if we ever wanted to use different values. Not very friendly!
This post is a tutorial to a new component in IJC, the Tree Table. Do you have some interesting use cases? Share them in comments below this article.
So what can we do with this Tree Table? We will cluster structures based on their scaffolds. The Tree Table doesn’t perform any chemical calculations. It can group by molecular scaffolds as well as by dates of sample measurements or by any other data so we will have to first generate the scaffolds.
Let’s do it!Read the more »
Data is increasingly becoming available through web services nowadays, and REST is becoming dominant mostly due to its extreme simplicity. This post shows how you can call an external RESTful web service from IJC.
The example uses the ChEMBL REST web services. This is a nice example to use as it deals with chemistry, and is a public service, not needing authentication so we can keep the example simple. See here for more about the ChEMBL web services: https://www.ebi.ac.uk/chembldb/index.php/ws
The example script runs a similarity search for a structure you specify against the web service and inserts the resulting structures into an IJC database. They key part that we concentrate on here is how to call the web service and process the response.
Calling a web service in Groovy is really simple, thanks to the HttpBuilder library. But this is not part of IJC so we need to make if available from our script. We do this using Groovy’s Grape function which allows us to ‘Grab’ external libraries from a Maven or Ivy repository. All we need is one line of code to do this and then we can import the RESTClient class:
@Grab(group = 'org.codehaus.groovy.modules.http-builder', module = 'http-builder', version = '0.5.2') import groovyx.net.http.RESTClientRead the more »
Often there is a need to cluster data, based on values of some specific column. Sometimes it is necessary to calculate how many occurrences each value has in the table.
In Instant JChem 5.11 there is a new experimental widget called Tree Table. It combines a tree (for grouped columns) and table (for the rest of the columns). In the current version the widget is not yet suitable for large data; this will be improved in the future version.
One possible solution for clustering the data, based on a specific column value, can be done using the following script.Read the more »
One of the most common needs for analyzing biological data in relation to chemical structures is to be able to “drill down” through a summarized or minimal table, in order to get all of the underlying biological data. Our example is based around the Wombat data set included with Instant JChem (when making a local database with demo data). Under the ‘Wombat (compound view)’ data tree, you will see a form labelled ‘Wombat (compound view)’. This form contains selected activity data for each compound – The type of assay, the target, value, and species/tissue. However, the child table WOMBAT.ACT.LIST has extensive data on each assay: min and max values, SwissProt ID, receptor family, the radioligand of binding, nonspecific binding, and so on. While this is too much data to present in the simplified form, this data would be good to have on hand, and easily accessible. This is where the drill-down script comes in. Of course if you were using this you might use a completely different approach for obtaining the drill down data, such as retrieving it from an external database or web service.