Posts

Build Desmond-3.4.0.2 on Ubuntu 12.04 64-bit

Desmond is probably the best MD engine out there, especially if you have an InfiniBand cluster. In addition to Desmond itself, it comes with a bunch of goodies such as viparr and msys, which are top-notch modeling tools. Desmond build problem is solved by using SCONS, a python-based build tool. To my surprise the build process went super-smooth! That said, I don't have the necessary sequence of "sudo apt-get install packageA packageB". Please checkout the share/user-conf.sample.py to get a feel for what Ubuntu packages you might need; frequently a '-dev' package will be needed. Here is what i did The build/user-conf.ubuntu1204_64.py config is shown below Then testing the build to check if the random number is generating the expected random number ;) Test restoring the checkpoint capacity; the files 'dhfr.eneseq' and 'dhfr.eneseq.original' should be identical. Finally, test the parallel part. Here there should be a good m...

Wrapping openbabel in python - using cython

The previous post showed a contrived example of how one could access the openbabel functionality in python using the boost libraries. There is alternative to boost to wrap around c/c++ code, it's called cython. Here is an example openbabel wrapper, exposing some very simple functionality. Just before diving in, you should know that there already exists a wrapper around openbabel in python (it is called pybel). What I'm showing here doesn't even come close to pybel in terms of usefulness, the idea here is to show a demo of how easy wrapping things in python is. #! /usr/bin/python from ez_setup import use_setuptools use_setuptools() from setuptools import setup, Extension, find_packages from Cython.Distutils import build_ext import sys, os import glob import subprocess as sub def get_include(name="openbabel"): p = sub.Popen('locate %s' % name ,stdout=sub.PIPE,stderr=sub.PIPE, shell=True) output, errors = p.communicate() ...

Wrapping openbabel in python - accessing C++ via boost with setup.py

Update I have de-contrived the example below. After some struggle, I've managed to accomplish this seemingly simple task: wrap a friendly open-source library inside python and make it a python module. Such wrapping is handy, because it retains the speed of c++ inside of python. If you want to check out how to do more or less the same thing with cython instead of boost see this . So here is the setup.py // Comment #! /usr/bin/python from ez_setup import use_setuptools use_setuptools() from setuptools import setup, Extension import sys, os import glob include_dirs = [] if __name__ == '__main__': extensions = [Extension('_boostbabel',['src/boostbabel.cpp'], include_dirs+['src/boostbabel/', '/usr/include/openbabel-2.0/'], language="c++", libraries=['boost_python', 'openbabel']), ] setup(name = '...

Silicos shape-it as a free alternative to OpenEye ROCS?

Silicos provides shape-it - a C++ program for doing shape matching using gaussian volume. To compile under Ubunt 12.04 sudo apt-get install  libopenbabel-dev libopenbabel4 openbabel export BABEL_INCLUDEDIR=/usr/include/openbabel-2.0/openbabel export BABEL_LIBDIR=/usr/lib/openbabel/2.3.1/ export BABEL_DATADIR=/usr/share/openbabel/openbabel/2.3.1/

Benchmarking molecular fingerprints

Image
Inspired by Anthony Nicholls's paper "So what do we know and when do we know it?", I've started measuring the performance of available molecular fingerprint methods in discriminating between active and inactive componuds. Here are some preliminary results. The left side of the first figure summarizes published results in the field; the right side of the figure reproduces the known performance for MACCS fingerprint and adds-in a bunch of different fingerprints. Overall they're not that different with ECFP4 perhaps being the best (highest median and narrow 1st-Quartile-3rd-Quartile range). All methods were tested on the same ~100 protein targets. The second figure tries to explain how the performance of various fingerprints may be correlated with each other across this set of 100 targets.

Do the quarterly results add up to the yearly ones – sanity check for WIG20

Image
Even when it comes to infographics, length can be an important consideration. So here it is: the comparison between reported, audited quarterly report and the yearly reports for the same period. Most of the times the agreement is good (median factor reported is 1.0); however, substantial under- and over-reporting does happen. As to why, I have no clue. To my mind, it doesn't sit right but the again I know nothing about finances. A friend of mine who's better versed in the matter was a little bamboozled by that as well.

How close are the quaterly reported results to the yearly ones (for KGHM)

Companies publish their results every quarter. These results are often a good indication how a company will perform in the year (if Q'1 data for 2012 are better than the Q'1 from 2011, that's generally a good sign). The Q'4 report is also published much earlier that the yearly report for a company, at least in Poland the gap can be a few months. So the question is do the combined Q'1-Q'4 results represent in essence the same information, as results published in the yearly report for which one has to wait, could one use the information in the summed Q'1-Q'4 reports to derive at least a good estimate of the yearly results? So here is a data for KGHM Table 1. Income (after tax) for KGHM with quarterly report data summed up for each year (YR and QT are the consolidated yearly and quarterly results; both are given in thousands of PLN) Year YR Q'1-Q'4  (sum) Fractional difference 2001 -838,625 -830,943 0.009 2002 -214,734 -216,299 -0.007 ...