StructRank
StructRank is a top-k ranking approach for Virtual Screening. It builds upon the work of Chapelle et al. [Chapelle, 2007] and utilizes Structured Support Vector Machines [Tsochantaridis, 2005].
Source Code
We provide the source code for StructRank (written in Matlab) as well the DHFR dataset and the toy example used in our paper [Rathke, 2010]. The descriptors for DHFR were produced with DRAGON, version 5.5. We thank talete slr for letting us publish the dataset together with their descriptors. For more details about the datasets we refer to our paper.
Installation Notes
- The linear assignment problem [Chapelle, 2007] is solved via the assignmentoptimal-package obtained from here. Within structRank.zip you find a C-function which must be compiled from Matlab via 'mex assignmentoptimal.c'.
- To solve the convex optimization problems you can use the built in solver from Matlab (slow, depending on Matlab Version; the newer the better) or use Mosek (considerably faster). Free academic licences are available and installation instructions can be found here and here.
- As a reference how to use StructRank see the commented examples 'run_toy_example.m' and 'run_dhfr.m'
References
Chapelle, O., Le, Q., & Smola, A. (2007). Large margin optimization of ranking measures.
NIPS 07 workshop on Machine Learning for Web Search.
Rathke, F., Hansen, K., Brefeld, U.,Müller, K-R (2010). StructRank: A New Approach for Ligand-Based Virtual Screening.
Journal of Chemical Information and Modeling.
Tsochantaridis, I., Joachims, T., Hofmann, T., & Altun, Y. (2005). Large margin methods
for structured and interdependent output variables. Journal of Machine Learning
Research (JMLR), 6, 1453-1484.
Impressum
For questions regarding the code or the paper, please refer to Fabian Rathke (fabian.rathke at iwr.uni-heidelberg.de)