On Wed, Aug 7, 2013 at 2:36 PM, James Stroud <xtald...@gmail.com> wrote:
> Although it is likely the "best" library for working with structural data, > CCTBX requires a loop just to change a specific chain ID (to the best of my > knowledge): > > ... > > I don't intend to pick on CCTBX specifically (because the CCTBX developers > have specific needs to which they program), but loop/test mechanisms are > awkward for selecting and modifying structural data, and get much more > awkward as selections get more complex (e.g. selecting the C-alpha of every > alanine of chain A, etc.). > True - it's really an issue of what purpose the libraries were designed for. CCTBX wasn't intended to be a general-purpose tool for users to perform quick manipulations of a model; the goal was to build large, complex, and more-or-less automated crystallography applications on top of it. (The same applies to the CCP4 libraries, mmdb, clipper, etc.; BioPython I guess is designed for bioinformatics.) The design of CNS (for example) reflects an era where it was much more likely that the average crystallographer knew some programming, worked exclusively on the command line, built new models manually, and didn't have access to a large number of convenient tools for purposes like this. (Or so I've heard; I was in still in high school.) Personally, if I need to change a chain ID, I can use Coot or pdbset or many other tools. Writing code for this should only be necessary if you're processing large numbers of models, or have a spectacularly misformatted PDB file. Again, I'll repeat what I said before: if it's truly necessary to view or edit a model by hand or with custom shell scripts, this often means that the available software is deficient. PLEASE tell the developers what you need to get your job done; we can't read minds. -Nat