Rowan is a software platform that makes it possible to run high-level quantum chemical calculations through a web interface. In general, running quantum chemical calculations (like DFT or Hartree–Fock) is difficult for a few reasons: the calculations are very computationally expensive and take hours or days to run, so you need to run them on an external compute cluster, and there’s no GUI so a good amount of wrangling on the command line is needed to submit, monitor, and analyze jobs. As a result, most researchers who aren’t hardcore computational chemists tend to avoid submitting quantum chemical calculations, even though the results for e.g. property prediction or molecular geometries are often much more accurate than the alternatives. 

Rowan aims to fix these issues and lower the barrier to entry by providing an integrated web platform for computational chemistry. You can upload data in a variety of formats to Rowan (sdf, mol2, xyz, mae, SMILES), select the calculations that you want to be performed, and then submit the jobs – Rowan automatically allocates cloud computing resources, runs the jobs, and displays the results as the calculations run. There’s no upfront cost to use Rowan, you just get billed for the computer time that your calculations use.

Recently Rowan have been expanding the calculations offered as shown below.

Whilst calculations can be accessed via the web it is sometimes useful to be able to run the calculations programmatically. Rowan’s API can be accessed through the open-source Python package rowan-python, which can be installed on any machine. This library allows users to submit, monitor, analyze, stop, and delete calculations through a single programming interface. Data is returned through the open-source stjames format, which can easily be converted into any number of formats for further processing. With their help I’ve created a Jupyter notebook that illustrates calculation of pKa using the api.  The algorithm used is documented in this preprint.

Rowan-python package can be installed using pip, and you’ll need to generate an API key (guide here).

The Jupyter notebook takes as input a list of SMILES strings, uses RDKit to convert to molecular objects and displays them using the excellent MolsToGridImage, then submits them to the remote compute cluster, runs a conformer search for the neutral molecule and each protomer, and then scores the different microstates using semiempirical methods and neural network potentials.

The results are then displayed as a list.

Whilst the results are stored on an encrypted database, I would be cautious about submitting any confidential structures. For confidential work it’s best to reach out to the Rowan team and organise something specific for your organisation.

Related Posts