Skip to content
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

Support atom bonds #80

Open
douweschulte opened this issue Jan 25, 2022 · 1 comment · May be fixed by #94
Open

Support atom bonds #80

douweschulte opened this issue Jan 25, 2022 · 1 comment · May be fixed by #94
Labels
enhancement New feature or request

Comments

@douweschulte
Copy link
Owner

Bonds are currently partly supported, only disulfide bonds are read from PDBs. The main issue is in the implementation design. Currently the bonds are saved as a list of bond type and the serial numbers of the atoms involved on the PDB struct. This removes any possibility to trace the bound state from an individual atom. The implementation is open for discussion.

Best case from a user perspective

  • From an atom find its bound state (amount of bonds + type of covalent bonds (single, double, triple))
  • From an atom find the bounding partners maybe something like: Atom::bonds() -> impl Iterator<Item=(Bond, &Atom)>
  • Read all bond types from PDB and mmCIF
  • Fill in missing bonds for common structures, like all amino acids

Implementation idea: the bonds function on atoms could use a reference to the PDB to get the reference to the other atoms.

@douweschulte douweschulte added enhancement New feature or request help wanted Extra attention is needed labels Jan 25, 2022
@douweschulte
Copy link
Owner Author

If a bonds method on an atom takes a PDB by reference it has to go through all bonds listed in the PDB and for the ones matching the current atom find the atom reference using binary_find_atom. This would leave a n * a log a runtime (n = number of bonds matching the atom, a = total number of atoms) which should be reasonable for the current goals.

@douweschulte douweschulte linked a pull request Jul 21, 2022 that will close this issue
4 tasks
@douweschulte douweschulte removed the help wanted Extra attention is needed label Apr 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant