How would you add saccharide residue information to PDB files?

I have multiple PDB files containing a single molecules of polysaccharides, with a single chain and a long list of all the atoms -they are not divided by residue. 
The PDB files were created from [ChemDraw files](http://lipidbank.jp/cgi-bin/detail.cgi?id=CLS5224) using OpenBabel and Corina applet form molecular-networks. The workflow was: .cdx <-> OpenBabel <-> smiles/sdf <-> Corina <-> pdb.
What i end up with is this:
![difference between my PDB and 1CAP](https://i.stack.imgur.com/ov8Hk.png)


How do i easily break up the list into individual residues(individual monosaccharides)? I trying to something similar to [1CAP](http://www.rcsb.org/pdb/explore.do?structureId=1cap)


This is what the PDB file looks like after CORINA:



```
HEADER    UNK                                     15-05-08    1UNK
REMARK   1 corina 3.48 0000  08.02.2010                               
HETATM    1  C1  UNK     1       6.576  -2.524   4.463  1.00 20.00
HETATM    2  H2  UNK     1       6.573  -2.048   5.444  1.00 20.00
HETATM    3  C3  UNK     1       5.876  -1.614   3.449  1.00 20.00
HETATM    4  C4  UNK     1       4.411  -1.438   3.863  1.00 20.00
HETATM    5  C5  UNK     1       3.748  -2.815   3.964  1.00 20.00
HETATM    6  H6  UNK     1       3.760  -3.296   2.986  1.00 20.00
HETATM    7  O7  UNK     1       4.467  -3.621   4.900  1.00 20.00
HETATM    8  C8  UNK     1       5.829  -3.859   4.541  1.00 20.00
HETATM    9  C9  UNK     1       6.487  -4.751   5.595  1.00 20.00
HETATM   10  O10 UNK     1       5.864  -6.037   5.587  1.00 20.00
HETATM   11  O11 UNK     1       2.398  -2.662   4.404  1.00 20.00
HETATM   12  C12 UNK     1       1.655  -3.882   4.435  1.00 20.00
HETATM   13  C13 UNK     1       0.198  -3.584   4.795  1.00 20.00
HETATM   14  C14 UNK     1      -0.566  -4.899   4.964  1.00 20.00
HETATM   15  H15 UNK     1      -0.496  -5.481   4.045  1.00 20.00
HETATM   16  C16 UNK     1      -2.036  -4.592   5.265  1.00 20.00
HETATM   17  C17 UNK     1      -2.607  -3.729   4.136  1.00 20.00
HETATM   18  C18 UNK     1      -1.764  -2.458   4.000  1.00 20.00
...
...
HETATM  286  H   UNK     1      14.974  11.280   1.314  1.00 20.00
HETATM  287  H   UNK     1      15.417  11.215  -0.409  1.00 20.00
HETATM  288  H   UNK     1      15.300  13.559   0.392  1.00 20.00
HETATM  289  H   UNK     1      14.052  13.241  -0.836  1.00 20.00
HETATM  290  H   UNK     1      13.609  13.306   0.886  1.00 20.00
HETATM  291  H   UNK     1       9.253  -4.179   6.144  1.00 20.00
HETATM  292  H   UNK     1      11.359  -2.412   4.593  1.00 20.00
CONECT    1    2    8    3  115
CONECT    2    1
CONECT    3    1    4   86  120
CONECT    4    3    5   69  121
CONECT    5    4    6    7   11
CONECT    6    5
CONECT    7    5    8
CONECT    8    7    1    9  122
...
CONECT  289  114
CONECT  290  114
CONECT  291  118
CONECT  292  119
END

```



**Short answer: your workflow doesn't include residue perception, so you would need to do this manually.**


I don't use CORINA, but I suspect the answer is the same as if you generated coordinates using Open Babel.


You're using ChemDraw, which as far as I know, doesn't include any sort of residue information in the file, then creating SMILES and/or SD files, which *definitely* don't include residue information.


Then you create 3D coordinates with CORINA.


But nowhere along that chain is there a step to create / perceive / retain residue information. So I'm not surprised that you get one large unknown residue.


Open Babel does have code that does amino acid and nucleic acid residue perception when translating to PDB or Mol2 or other format that allows storing residue information. *It does not have support for perceiving saccharides.* Indeed, I'm not even sure what algorithms exist for automatically perceiving sugars.


My suggestion would be to either:


* Number / label the saccharides by hand (yuck)
* Write some sort of script in Python to label the residues - since presumably the atoms come in a particular order
* Use a software builder that creates the residue information *with* the 3D coordinates.


For the latter case, a quick search suggested a few possibilities, although I haven't tried any of them:


* [Glycam](http://glycam.org/tools/molecular-dynamics/oligosaccharide-builder/build-glycan?id=1)
* [Yasara](http://www.yasara.org/sugarbuilder.htm)


 2

Make sure you have different residue numbers for each residue. Here's an example:



```
HETATM    1  C1  NAG A 600      19.340   9.045  41.827  1.00 23.83           C  
HETATM    2  C2  NAG A 600      20.265  10.267  41.992  1.00 25.36           C  
HETATM    3  N2  NAG A 600      20.722  10.713  40.685  1.00 21.83           N  
HETATM    4  C3  NAG A 600      21.468   9.913  42.881  1.00 23.92           C  
HETATM    5  O3  NAG A 600      22.240  11.098  43.157  1.00 31.96           O  
HETATM    6  C4  NAG A 600      20.974   9.305  44.194  1.00 29.02           C  
HETATM    7  O4  NAG A 600      22.087   8.931  45.028  1.00 32.10           O  
HETATM    8  C5  NAG A 600      20.112   8.085  43.874  1.00 25.92           C  
HETATM    9  O5  NAG A 600      18.973   8.502  43.103  1.00 26.24           O  
HETATM   10  C6  NAG A 600      19.585   7.353  45.095  1.00 29.15           C  
HETATM   11  O6  NAG A 600      18.639   8.141  45.801  1.00 30.55           O  
HETATM   12  C7  NAG A 600      20.897  12.007  40.404  1.00 19.02           C  
HETATM   13  O7  NAG A 600      21.415  12.386  39.350  1.00 26.03           O  
HETATM   14  C8  NAG A 600      20.437  13.046  41.410  1.00 12.16           C  
HETATM   15  C1  FUC A 601      23.465  11.198  42.483  1.00 40.56           C  
HETATM   16  C2  FUC A 601      24.142  12.529  42.836  1.00 45.83           C  
HETATM   17  O2  FUC A 601      23.243  13.605  42.609  1.00 43.55           O  
HETATM   18  C3  FUC A 601      24.578  12.521  44.304  1.00 52.54           C  
HETATM   19  O3  FUC A 601      25.277  13.719  44.606  1.00 54.93           O  
HETATM   20  C4  FUC A 601      25.476  11.312  44.578  1.00 53.83           C  
HETATM   21  O4  FUC A 601      26.684  11.438  43.843  1.00 59.66           O  
HETATM   22  C5  FUC A 601      24.755  10.026  44.164  1.00 52.07           C  
HETATM   23  O5  FUC A 601      24.344  10.110  42.778  1.00 46.32           O  
HETATM   24  C6  FUC A 601      25.630   8.795  44.302  1.00 50.48           C  
HETATM   25  C1  NAG A 602      22.004   9.334  46.354  1.00 36.94           C  
HETATM   26  C2  NAG A 602      23.011   8.547  47.198  1.00 40.27           C  
HETATM   27  N2  NAG A 602      22.674   7.137  47.173  1.00 35.92           N  
HETATM   28  C3  NAG A 602      23.018   9.060  48.643  1.00 41.77           C  
HETATM   29  O3  NAG A 602      24.056   8.420  49.372  1.00 41.95           O  
HETATM   30  C4  NAG A 602      23.233  10.575  48.670  1.00 44.23           C  
HETATM   31  O4  NAG A 602      23.108  11.054  50.004  1.00 45.34           O  
HETATM   32  C5  NAG A 602      22.198  11.260  47.766  1.00 44.11           C  
HETATM   33  O5  NAG A 602      22.295  10.741  46.420  1.00 38.50           O  
HETATM   34  C6  NAG A 602      22.376  12.768  47.690  1.00 43.86           C  
HETATM   35  O6  NAG A 602      23.507  13.121  46.907  1.00 44.99           O  
HETATM   36  C7  NAG A 602      23.592   6.247  46.811  1.00 37.09           C  
HETATM   37  O7  NAG A 602      24.596   6.552  46.167  1.00 36.50           O  
HETATM   38  C8  NAG A 602      23.367   4.802  47.226  1.00 36.20           C

```

The column contains the values 600/601/602 refers residue number.


 0