Currently, the only way of interacting with the plugin is via Bioclipse scripts. A sample usage is available below in a Gist:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//============================================================== | |
//Filter a StructureDB instance using the VScreen feature | |
//Author: Ola Spjuth | |
//============================================================== | |
var DB = "Drugbank"; //Refer to an existing StructureDB database | |
//Add some filters | |
filters=java.util.ArrayList(); | |
//Xlogp should be between -2 and 4 | |
filters.add(vscreen.createFilter("XlogP" , "<" , 4)); | |
filters.add(vscreen.createFilter("XlogP" , ">" , -2)); | |
filters.add(vscreen.createFilter("MW" , "<" , 450)); | |
filters.add(vscreen.createFilter("MW" , ">" , 150)); | |
filters.add(vscreen.createFilter("restrictElement", "C,N,O,Cl,S,F")); | |
filters.add(vscreen.createFilter("RingCount" , ">=" , 1)); | |
filters.add(vscreen.createFilter("RuleOfFive" , "<=" , 1)); | |
filters.add(vscreen.createFilter("TPSA" , "<" , 200)); | |
filters.add(vscreen.createFilter("TPSA" , ">" , 80)); | |
filters.add(vscreen.createFilter("SMARTS" , "a[N;X2]=O CO[N;X2]=O")); | |
//Do screening of DB, results in a subset in same database | |
//vscreen.filter(DB,filters,"filtered"); | |
//Do screening of DB, results in a subset in new databse | |
vscreen.filter(DB,filters,"DBF1","filtered"); | |
A screenshot from Bioclipse is shown below:

Ola, can you say some words on what extension points to use for people who want to write custom filters? E.g. based on that DS algorithm?
ReplyDeleteIs the slowness (27 s for ~ 800 mols) due to the filter calculation (i.e., XlogP, MW) or is it due to Bioclipse?
ReplyDeleteEgon: I promise to write up about the extension points in a separate blog. The API is still not fixed...
ReplyDeleteRajarshi: The bad performance is due to non-optimized database interaction. There are many ways to optimize things but we just haven't got there yet :).