Wednesday, January 1, 2020

Looking back at 2019

I haven't done a "year in review" post before, let's see if it's interesting. My primary focus here is on the health/activity of the community.

Some high-level things that happened in 2019:

  • The usual two feature releases, along with six patch releases.
  • The RDKit UGM was in Hamburg this year. It was the largest we've had so far, with more than 110 attendees and a sizable waiting list.
  • The RDKit participated in the Google Summer of Code for the third time as part of the OpenChemistry organization. This year's project was an integration of the RDKit into the open-source graph database Neo4J.
  • We added two new committers to the project this year: Dan Nealschneider and Paolo Tosco joined Brian Kelley and myself  as committers to the main RDKit repo in GitHub.

Here are some stats for 2019:

  • 795 Google Scholar hits for "rdkit" (this isn't a perfect metric, but since there's still no RDKit paper it's the best we've got).
  • 933 rdkit-discuss posts
  • 322 pull requests from 46 unique users
  • 755 issues from 237 unique users (this includes questions, PRs, etc)
  • 345 commits (the command I used for this was git log --before={2019-12-31} --after={2019-01-01} --oneline | wc -l)
  • I did 15 RDKit blog posts. This is less than I'd like... I'm going to try and do more next year.

Here are the top committers (in terms of number of commits) to the github repo in 2019:

General community metrics. These are not specific to 2019 and some are of questionable value:

  • The rdkit-discuss mailing list has 365 subscribers
  • The RDKit LinkedIn group has 416 members
  • A search for "from rdkit import Chem" across github returns 10741 code results. It's non-trivial to convert this into something more useful, but a preliminary analysis of these results shows that they are spread across >450 repos with different names
  •  @RDKit_org, the RDKit twitter account, has 1215 followers

There are certainly things I've forgotten/overlooked. If you think of anything let me know... I can always come back and update the post.



Friday, December 13, 2019

Using the R-Group Decomposition Code

The RDKit's code for doing R-group decomposition (RGD) is quite flexible but also rather "undocumented". Thanks to that fact, you may not be aware of some of the cool stuff that's there. This post is an attempt to at least begin to remedy that.
We'll look at a number of difficult/interesting problems that arise all the time when doing RGD on real-world datasets:
  • Handling symmetric cores
  • Handling stereochemistry
  • Handling sidechains that attach to the core at more than one point
  • Handling multiple scaffolds or variable scaffolds
Unfortunately, this is one of those posts that completely choke blogger. Rather than doing a bunch of editing to find the magic "just right" amount of content that I can include and still post, I will just include the nbviewer version as an iframe and point you to the original notebook for this post in github: https://github.com/greglandrum/rdkit_blog/blob/master/notebooks/RGroupEdgeCases.ipynb or here's the nbviewer link

Here's the nbviewer iframe: