Skip to content

Interpretation of negatively charged boron atoms #36

@vaitkus

Description

@vaitkus

Let me preface this with a disclaimer that I am using a quite unconventional model for molecule representation in which all bonds to metals are replaced with metal-ligand bonds and therefore organic atoms can end up with highly unconventional charges. Therefore I fully understand if you will be unwilling to invest time to investigate this. Now to the issue.

Noticed with DataWarrior v06.03.01.

DataWarrior seems to place extra H atoms on strongly negatively charged (charge < -1) boron atoms. Interestingly enough, such extra H atoms are not placed on strongly negatively charged C and N atoms, although, they are just as unconventional.

I tried setting explicit valences, however, is did not fully help (although the H count was decreased somewhat). For example, B[3-] atom with 0 covalent bonds and an explicit valence of 0 changed from BH6[3-] to BH3[3-]. Similarly, B[-2] with 1 covalent bond and an explicit valence of 1 is changed from BH4[2-] to BH2[2-].

A related issue also occurs when I try to set the valence of 4 on B[-] in the BH4[-] ion in which all of the H atoms are provided as attached hydrogen atoms, i.e. explicit coordinates for the H atoms are not provided, but it is known, that it is explicitly specified that they are attached to a certain atom. When loaded from the SDF such structures are displayed correctly, however, when loaded from the idcode in a DWAR file, the number of displayed H atoms gets bumped up to 5. If I set the valence to 3 (which also matches the SDF default valence of B), the SDF file is visualised with 3 H atoms while the idcode properly displays 4 H atoms. Note, that in this case DataWarrior properly interprets the structure even without
specifying the valence explicitly, however, I would like to have explicit valence here so that other programs down the line would be able to interpret the structure as having 4 H atoms (this seems to at least work in the case of OpenBabel).

I attach an SDF file and an equivalent DWAR file with 6 structures. The first 3 are structures with B with various charges, but without explicit valences while the last 3 describe the same structures, but with valences specified.

The idcodes were generated using OpenChemLib version 2022.11.1.

Do you have any suggestions on how I could resolve this?

Files (the extra txt extension was added due to appease GitHub):
boron-test.dwar.txt
boron-test.sdf.txt

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions