Category Archive: cheminformatics

Aug 27

Stronger Faster Algorithms

Oft times all thoughts of algorithms are left behind with school. If they’re not, it can be too easy to get caught up in spending too much time trying to do something the “most efficient” way at the expense of spending two weeks coding to save a few milliseconds, but still there is a lot …

Continue reading »

Apr 21

‘Piping’ Hot Docker Containers

One of the possibly lesser used flags for docker run is -a which allows you to attach the container’s STDIN, STDOUT or STDERR and pipe it back to the shell which invoked the container. This allows you to construct pipelines of commands, just as you can with UNIX processes. For instance, using UNIX commands to …

Continue reading »

Apr 18

Naive Substructure Substance Matching on the Raspberry Pi

Chemists can search databases using parts of structures, parts of their IUPAC names as well as based on constraints on properties. Chemical databases are particularly different from other general purpose databases in their support for sub-structure search. This kind of search is achieved by looking for subgraph isomorphism (sometimes also called a monomorphism) and is …

Continue reading »

Apr 12

Docker Workers Scale Nicely with Multiple Cores

Disclaimer: The title might be a bit misleading. For this workload, it’s scaling pretty much linearly. Other workloads might scale differently. I was running a quick-ish test on a Pi to see how long it would take to churn through 50GB compressed data. This processing consists of: Determining the files to be processed — this …

Continue reading »

Apr 12

Docker Commandline Arguments are Context Sensitive

TL;DR: Position of the commandline arguments matter. `-v` before `run` means something totally different than `-v` *after* `run`. More details below the link.