



Many OPIGlets extensively use Jupyter (in either Notebook or Lab flavour) to prototype and present their work. However, as project progress frequently notebooks are converted into regular python files for a number of reasons, losing the notebook functionality.
Wouldn’t it be nice if we could combine some of the benefits of Jupyter notebooks (not least the ability to present both code & results naturally) with regular python files?
Enter Python Handout.

Python Handout was recently (5th August 2019) released by Danijar Hafner and allows Python scripts to be converted into handouts with Markdown comments and inline figures (see above picture).
Installation is via pip (pip3 install -U handout) and Python Handout supports python 3 scripts.
While I’ve not used Handout much (yet), I will definitely be experimenting more in the coming weeks.
In order to know how a protein works, we generally want to know its 3-dimensional structure. We then can either try to solve it ourselves (which requires considerable time, skill, and resources), or look for it in the Protein Data Bank, in case it has already been solved. The vast majority of structures in the Protein Data Bank (PDB) are solved through protein crystallography, and represent a “snapshot” of the conformational space available to our protein of interest. Continue reading
In previous blog post, we introduced the idea of Bayesian optimization and its application in finding the lowest energy conformation of given molecule[1]. Here, we extend this approach to incorporate the knowledge of correlated torsion and accelerate the search.
Continue readingSometimes pointing-and-clicking just doesn’t cut it. With PyMOL’s built-in Python interpreter, repetitive actions are made simple.
Continue readingLast week, a sizeable flock of OPIGlets went to ISMB in Basel. Also last week, a storm and a radar tower problem over London Gatwick (LGW) and London Heathrow (LHR) led to four of those OPIGlets being stranded in Switzerland. This is a (somewhat accurate) timeline of their ordeal:
Continue readingLast month a bunch of us attended the Sheffield Chemoinformatics Conference. We heard many great presentations and there were many invitations to check out one’s GitHub page. I decided now is the perfect time to try out some code that was shown by one presenter.
Peter Ertl from Novartis presented his work on the The encyclopedia of functional groups. He presented a method that automatically detects functional groups, without the use of a pre-defined list (which is what most other methods use for detecting functional groups). His method involves recursive searching through the molecule to identify groups of atoms that meet certain criteria. He used his method to answer questions such as: how many functional groups are there and what are the most common functional groups found in common synthetic molecules versus bioactive molecules versus natural products. Since I, like many others in the group, are interested in fragment libraries (possibly due to a supervisor in common), I thought I could try it out on one of these.
Continue readingSearching through large databases is often a linear time problem. Here I compare the performance of applying a bloom filter and using the regular std::find command in C++:Codes are from: https://codereview.stackexchange.com/questions/179135/bloom-filter-implementation-in-c
Crystallographic fragment based lead discovery is a now a routine technique, which can sample 1000’s of compounds per week. But how do we identify the most appropriate compounds to screen against our target of interest?
Continue readingWind the clock back about 50 years, and you would have found the DSKY interface—with a display (DS) and keyboard (KY)—quite familiar. It was frontend to the guidance computer used on the Apollo missions, that ultimately allowed Neil Armstrong to utter that celebrated, “One small step for [a] man, one giant leap for mankind.” The device effectively used a command line.
Continue reading