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

Reply via email to