Bradley T. Calhoun, Michael R. Browning, Brian R. Chen, Joshua A. Bittker, and S. Joshua Swamidass
Public databases that store the data from small-molecule screens are a rich and untapped resource of chemical and biological information. However, screening databases are unorganized, which makes interpreting their data difficult. We propose a method of inferring workflow graphs—which encode the relationships between assays in screening projects—directly from screening data, and using these workflows to organize each project’s data. Based on four heuristics regarding the organization of screening projects, we designed an algorithm that extracts a project’s workflow graph from screening data. Where possible, the algorithm is evaluated by comparing each project’s inferred workflow to its documentation. In the majority of cases, there are no discrepancies between the two. Most errors can be traced to points in the project where screeners chose additional molecules to test based on structural similarity to promising molecules, a case our algorithm is not yet capable of handling. Nonetheless, these workflows accurately organize most of the data and also provide a method of visualizing a screening project. This method is robust enough to build a workflow-oriented front-end to PubChem, and is currently being used regularly by both our lab and our collaborators. A Python implementation of the algorithm is available online, and a searchable database of all PubChem workflows is available at http://swami.wustl.edu/flow.