Problems, bugs

No software in protein structure bioinformatics is bug-free. Not even the simplest little script. This is mainly caused by the fact that macromolecules have too many exceptions, like non-canonical residues, residues that have their side chain connected twice to the backbone, dynamic equilibria that even can exist between covalently bound and non-bound situations, etcetera. Add to this the facts that often many complicated, weird things must be done to get a protein crystallized, and the fact that crystallography is an experimental science and thus prone to experimental (and human) errors, and you realize why we might one day place here a picture of Pandora′s box.

If you want a small sample of the problems one encounters when trying to study all PDB files rather than just a few, then look here.

Sugars

One of the known problems lies with sugars. We certainly do not recognize all sugars properly, and several of them are called a ligand or drug. An additional problem with sugars is that most often they are bound to the convex outer surface of a protein for imune protection or something like that, but sometimes they are actually a substrate analog. We certainly haven′t solved how to deal with this.

Nucleic acids

Similarly to sugars, nucleic acids cannot always be recognized easily. At present we recognize only the standard A, C, G, T bases in oxy and deoxy form, and we recognize just a few of the non-canonical bases. All others are called ligand or drug. Obviously, nucleic acids can occur as independent macromolecules or as co-factors/ligands. This separation and the detection of non-canonicals seem easier to fix for nucleic acids than for sugars. But we haven′t done it yet...

rsync

Over the years we have realized that the rsync command tends to occasionally work different from one day to the next. So, be prepared to experiment with the rsync syntax.
For example, the folowing commands all can get you a local copy of the BDB:

rsync -avz 'rsync://rsync.cmbi.umcn.nl/bdb/??/????/????.bdb' bdb/
rsync -avz 'rsync://rsync.cmbi.umcn.nl/bdb/*/*/*.bdb' bdb/
rsync -avz --include '*/' --include '*.bdb' --exclude '*' rsync://rsync.cmbi.umcn.nl/bdb/ bdb/

albeit that the first two examples put all files in one directory, while the third one constructs a whole directory structure.