New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add some features for Organometallic molecules #2616
base: master
Are you sure you want to change the base?
Conversation
Thanks for opening this pull request! Please check out our contributing guidelines and please examine any build issues. |
Regarding integration into OB (or any other open source project) t's usual to discuss planned large changes before the work is started so as to receive feedback and address concerns or consider alternatives. In particular, modifications to core classes are considered carefully. Creating a new canonical nomenclature is a very interesting project though, and impressive as an end of degree project. However it probably merits quite a bit of discussion both within OB and the wider cheminf community we are part of before it is integrated. Having a reference implementation provides a basis for that discussion |
I'll echo @baoilleach - these look very interesting, and I'd be happy to see improved handling of organometallic / haptic structures. But let's talk about the approach and alternatives on the list. You mentioned end-of-degree project. Are you willing to work a bit more on this? |
Referring to both comments, being a final degree project there were some time limits I had to stick to in order to finish it and make the changes (in about 3 to 5 months, including learning chemistry and understanding the base code from scratch). The project had specific goals, and in that time frame I came up with these solutions. I am by no means an expert in chemistry and my knowledge is quite scarce. I'm not quite available right now and I am planning on doing other things in the near future. But I could dedicate some of my free time to it, and slowly modify the code until its acceptable. So I am at your disposal, I will need some guidance for this. |
Hi I might be interested in taking up this PR. I have experience with software dev and organometallic chemistry. Where does discussion take place for contributing to Open Babel? I see a development mailing list, but I'm not sure it's active. Is there a Slack/Discord somewhere? |
Hi, it's the first time I work on an open-source project, and on top of that this is quite big, so I will probably need some help. I don't quite know the dynamics of change management in this kind of projects or who I have to contact to review these changes I propose.
These modifications have been made for my end-of-degree project with the objective of:
Mention that molecules which do not contain transition metals are not affected by these changes.
So that it does not fall on deaf ears or go unnoticed, I propose the changes here so that they can eventually be merged if they are of enough interest.
Some results for the depictions can be seen in this folder, and this folder for the canonical SMILES. In the latter, you can see the difference between the canonicals that openbabel generated up to now, versus the canonicals that are generated now for organometallic compounds.
For further details consult my personal repository for my end-of-degree project and in particular the pdf document for the project.
Bear in mind that the pdf document as well as most of the explanatory comments that I make in the code are in Spanish, so if not familiar with the language it may be difficult to understand it directly. Most relevant sections of the pdf are chapter 4.2 and chapter 5.
Looking at the sizes of the other pull requests, I understand that the changes I propose are quite large and many features need to be revised or even rejected entirely.
These are the classes to which I added new variables or methods:
In case its relevant, I've been working in Visual Studio C++ 2022 for Windows.
Let me know any concerns regarding the code.
Right now I don't have a lot of time to dedicate to this project, so I may not be able to quickly address any changes requested.