19
$\begingroup$

I want to make a pet project in cheminformatics and I need to hear from the community about the actual challenges in chemistry that might be resolved with a digital solution.

I've been working in this field a long time ago and want to get fresh opinions about the most current issues in chemistry.

I understand that the most obvious issues are already covered by some solutions, which is why I need your advice. Mostly interested in organic chemistry but will gladly review all the ideas.

It will be a solo project so it's nothing monumental but still, I would like to do something that will have real value for chemists.

I will appreciate any ideas.

$\endgroup$
10
  • 3
    $\begingroup$ what kind of answers are you interested in solving in organic chemistry? Reaction mechanisms, QSAR? $\endgroup$ – Cody Aldaz May 6 '20 at 19:13
  • $\begingroup$ There's plenty of software projects to do, but they depend on a number of factors. Are you expecting to get paid for this? Are you expecting to generate any revenue out of this, or is it just for contributing to science? For roughly how many hours would you want to be working on this? What technical background do you have? $\endgroup$ – Nike Dattani May 6 '20 at 19:19
  • $\begingroup$ @NikeDattani my goal is not to make money but use my experience in chemistry and software development. Although, I would appreciate donations if the project would be worth it. I plan on spending a few hours per day on the project. $\endgroup$ – triclosan May 6 '20 at 20:04
  • 1
    $\begingroup$ @CodyAldaz I'm rather inclined for making an SDK or some other tools for chemists. It's not about solving the problems of chemistry per se but rather about facilitating the chemists' work. $\endgroup$ – triclosan May 6 '20 at 20:16
  • 2
    $\begingroup$ Maybe Geoff Hutchinson, who is a user on this site could answer. He is the developer of OpenBabel and Avogadro. OpenBabel is open source and well suited for cheminformatics work. There is also RDKit, and a variety of other open-source software which could use devs $\endgroup$ – Cody Aldaz May 6 '20 at 20:29
19
$\begingroup$

Disclaimer: I'm the lead developer of Open Babel and Avogadro - and currently mentoring Google Summer of Code projects.

The biggest question is more "what kind of topics" interest you and/or what kind of skills you want to learn. Data Science? Informatics? Visualization? Reaction Prediction? QSAR? etc. That would help you refine the possible projects to pursue. Maybe it's a particular programming language or skill? (I usually have my students learn Python through some mini projects relevant to their research.) Maybe it's ways to automate computational or experimental tasks.

Generally open source projects have open lists of bugs, feature requests, etc., often some marked "help wanted" or "good first issue."

More involved projects are posted in various places. For example, the "Open Chemistry" mentoring organization for Google Summer of code has this year's project ideas for a wide range of topics.

So welcome - there's lots to do. My suggestion as someone who's helped get many people up to speed with contributing to open source chemistry:

  • Think about topics or skills that matter to you. There are a huge number of projects and you're most likely to make useful contributions if you're enthusiastic about it.
  • Find a project or two that seems like a good fit. Check out their code, webpages, project pages, etc. Are there good starting points? If not, submit an issue or contact the e-mail list, discussion forum, etc. Chances are good that they'll welcome new contributors.

If you're not sure, you can always reach out to projects like RDKit, Open Babel, MDTraj, and other larger projects. There's also an excellent review article on "Open Source Molecular Modeling" - originally Journal of Molecular Graphics and Modelling (2016) that lists tons of projects across multiple topics.

$\endgroup$
14
$\begingroup$

OpenBabel

And the related Pybel are excellent platforms for starting a project because they have well written C++ and python APIs, and are specifically designed for cheminformatics 101. For example, cheminformatics involves

  1. Storing a Molecule in various formats (e.g. smiles, twirlymol, 2d, xyz, etc)
  2. Finding exact molecule
  3. Substructure search
  4. Similarity search

A typical workflow could involve creating a 3D molecule from a smiles string, performing a conformation search, and searching a database for matches/machine learning.

Perhaps Geoff Hutchinson, who is a user on this site, or the other developers on GitHub can provide more specific details about how you can contribute. Also, the Noel O'Blog has a lot of information on smaller things you can do to help. For example, not all the work needs to be in the "back end". Simpler scripts which could be written by a single user could be quite useful.

AND GEOFF HAS ANSWERED! See that answer for a more complete description of ways to contribute the field of cheminformatics.

Finally, to add to the list of ways to contribute. I found this list of curated cheminformatics software you can peruse.

$\endgroup$
9
$\begingroup$

When writing some simple Python script in Spyder code editor, I always feel envious of computer science people every time its linting tool points some silly mistake I do, for example, forgetting a ":" in the end of a function definition, or using a "=" instead of "==" in a logic expression. I think myself, why can't we have such nice things in computational chemistry too. Why so much pain?

It's very unpleasant when you're starting your career as a aspiring computational chemist, and you find yourself losing a lot of time, in anger and frustration, just because your input file doesn't run, and you're left only with some cryptic error message to figure out the problem. Sometimes a silly mistake, a single missing blank line, or a typo somewhere can make you lose hours. If you search the web, you will find countless people asking for help with problems like these, see for example Gaussian Error: Zero Point Energy Calculation on Fluoroform fails or Gaussian syntax error on the input line.

Every time you have to figure out how to use a new tool, is the same history, the same pain, and there are dozens to learn. Sometimes you find some kind soul to help you in questions like these, but sometimes you just receive some nasty answers that amount to RTFM, probably because somebody heard the same question 1000 times before and got tired.

I think a simple text editor with syntax highlighting and something akin to linting for quantum chemistry input files would go a long way into alleviating this problem.

I wonder why have we no such tools already. It's like the if the wheel have not been invented yet. Perhaps the default in the field is stick to the von Neumann approach and just withstand it until you became a paid professor, then you can lose your students time instead of yours. Why worry about ergonomics, with so much cheap labor? Just let them bang their heads in the keyboard until it works, while we enjoy reading our papers.

enter image description here

$\endgroup$
3
  • 1
    $\begingroup$ Yes, and why not? $\endgroup$ – Peter Morgan May 7 '20 at 0:40
  • 7
    $\begingroup$ There are several tools that provide syntax highlighting for input files, GUIs to help build out options, etc. (Avogadro among them.) $\endgroup$ – Geoff Hutchison May 7 '20 at 3:29
  • 5
    $\begingroup$ I think that the project Atomic Simulation Environment have this issue in mind: one interface, with its own "language" that can submit calculations (doing the conversion of the input file at the fly) for many different tools. But a graphical editor (GUI) would be very useful. $\endgroup$ – Camps May 7 '20 at 13:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.