> About the PDB atom name, unfortunately I don't fully understand the 
> performance issue implied in my suggestion, but from an interface point of 
> view, it seems more intuitive to access an atom property from OBAtom instead 
> of going back to the OBResidue (and pass the OBAtom).

The OBAtom should already have a pointer to the OBResidue. If it can be done 
with generic data in the OBAtom, that's fine, but I don't think I want to add 
data to each OBAtom. If I translate a nanotube or nanoparticle (or any other 
non-biomolecule) I'd have to store in memory a bunch of residue pointers that 
would never get used.

> In this case, the best approach I can think of is to write a OBHBondTyper 
> class to perceive the hbond character (similarly to what OBAromaticTyper 
> does), then each atom should have a simple IsHBond() method that would return 
> 0, 1 (donor), 2 (acceptor), 3(donor/acceptor), 4(...?).

Yes, this is the way to go to add "convenience functions." Noel's suggestion is 
to keep the core API restrained, but that doesn't mean there can't be 
convenience classes or static methods. I think HBondTyper would be a good 
example, since there can (and should) be multiple models of "what is a hydrogen 
bond."

> At the same time, I support Maciek's idea: useful functions that can 
> streamline the use of scripting languages such as Python should be grouped 
> and conserved.

I'm not sure why these can't be put into wrappers like Pybel. As is, there is 
considerable "helper code" in Pybel, etc.

-Geoff
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
OpenBabel-Devel mailing list
OpenBabel-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbabel-devel

Reply via email to