[Biojava-l] Different chain lengths using struc.getChainByPDB and iterating over a structure and it's chain
Raphael André Bauer
raphael.andre.bauer at gmail.com
Tue Feb 3 09:28:52 UTC 2009
Hey everybody,
suppose the following PDB file:
....
ATOM 2847 OD1 ASP A 370 14.470 9.116 16.553 1.00 57.47 O
ATOM 2848 OD2 ASP A 370 12.601 9.313 15.410 1.00 57.77 O
ATOM 2849 N ASN A 371 17.114 9.968 15.979 1.00 46.04 N
ATOM 2850 CA ASN A 371 18.177 9.691 16.946 1.00 46.67 C
ATOM 2851 C ASN A 371 19.555 10.072 16.403 1.00 46.52 C
ATOM 2852 O ASN A 371 19.848 11.250 16.177 1.00 43.37 O
ATOM 2853 CB ASN A 371 18.174 8.209 17.345 1.00 49.12 C
ATOM 2854 CG ASN A 371 16.969 7.829 18.189 1.00 52.62 C
ATOM 2855 OD1 ASN A 371 16.762 6.652 18.502 1.00 55.93 O
ATOM 2856 ND2 ASN A 371 16.168 8.824 18.568 1.00 52.06 N
TER 2857 ASN A 371
HETATM 2858 ZN ZN A 400 43.465 12.734 15.463 1.00 24.94 ZN
HETATM 2859 ZN ZN A 401 46.414 14.165 16.934 1.00 30.14 ZN
HETATM 2860 N9 ADE A1114 50.418 9.820 20.124 1.00 80.38 N
HETATM 2861 C8 ADE A1114 50.489 11.169 20.334 1.00 80.76 C
HETATM 2862 N7 ADE A1114 49.492 11.773 19.748 1.00 80.58 N
HETATM 2863 C5 ADE A1114 48.715 10.855 19.124 1.00 79.77 C
....
1) If I use
//struc being the parsed pdb file
returnChain = struc.getChainByPDB("A", 1);
I get chain A EXCEPT everything after the TER (ZN and ADE is excluded
in this example).
2) If I iterate over the complete file using something like
//struc being the parsed pdb file
int nrModels = struc.nrModels();
for (int modelNr = 0; modelNr < nrModels; modelNr++) {
List<Chain> chains = struc.getModel(modelNr);
int nrChains = chains.size();
for (int chainNr = 0; chainNr < nrChains; chainNr++) {
//this chain contains also the ZN and the ADE
So maybe I am getting something wrong here. Is this effect wanted by
the PDB parser?
Thanks!
Raphael
More information about the Biojava-l
mailing list