Looking for advice on chemistry libraries & python interop

I’m trying to build a website for chemistry utilities. I use RDKit in Python. I have not found anything similar in Elixir. Does anything like that exist?

My usage is to have data tables containing SMILES strings. I need to be able to parse these strings into a data structure and then transform it in various ways.

I know there are multiple solutions for Python/Elixir interop. I’m fairly junior as a programmer, and extremely new to Elixir. What advice would you give to someone to figure out which interop is best for their use case?

1 Like

There has been a fairly recent effort that integrates Python with Elixir, but it’s in a fairly early stage:

In its current form, it appears to be part of Livebook, so perhaps you could find a way to set it up as a part of Livebook, the go from there?

If that doesn’t work, you could just stay in Python-land and work with Django (or Flask if you just need a barebones web framework, but it’s easier to just start with Django, because you’ll eventually need auth/DB/whatever and Django has it all built in).

Based on your experience, I would recommend keeping everything in Python just to avoid the unnecessary complexity of having to learn too much at once. Django is good enough to get you started if you want Python + web, and it is easy to integrate other Python libraries when generating your views/templates.

Elixir/Phoenix is cool, but it’s a whole other can of worms compared to just Python/Django alone (which is already a lot to learn), plus there’s a lot more reference material out there on how to do x/y/z with Python/Django compared to Elixir/Phoenix.

As RDKit from what I see is mostly C++ you could write bindings for it in Elixir. It isn’t that hard (API design will be harder IMHO).