<p>Generally alternate location are used in structures with partial occupancy.</p>
<p>In <a href="https://www.wwpdb.org/documentation/file-format-content/format33/sect9.html" rel="nofollow noreferrer">https://www.wwpdb.org/documentation/file-format-content/format33/sect9.html</a> you will see that the fourth numerical column is occupancy. So you could take the higher occupancy version.
The tool PDBfixer can do it for you: github.com/openmm/pdbfixer</p>
<ul>
<li>Do not assume the sum of occupancy is 1 —it should but errors do creep up especially for close alternate location that overlap.</li>
<li>The anisotropic and isotropic B-factors will be lower than were the structure refined with a single conformation (like normal atoms).</li>
<li>Same letters in different residues should not be assumed to be paired up. Models as seen for NMR structures are a solution for that.</li>
</ul>
<p>Lastly... Your structure has protons, which is unusual (exceptions exist). It is fine if it is a neutron diffraction structure or NMR. If you are not expecting protons (X-ray structure), skip it out of safety.</p>

CC BY-SA 4.0
2022-06-28T16:08:35.473Z
not sure your answer is the best one, maybe the question was not precise enough, lets says it was: " Is there any PDB parser out there that could differentiate between alternate conformation ? " What would be your answer ?
pippo1980
CC BY-SA 4.0
2022-06-28T16:08:40.020Z
On a similar note is there any PDB viewer that can easily be told to show one of the possible altLoc conformation ? Easy enough to duplicate by hands structure where you have alternate loop conformation, but what about single aa in differnet places, so that you could have protein AAA, BBB, ABB, AAB and so on ... I tried to google pymol command related to this  but seem overly complicate to me a like you can select either A or B conformation for the full sequence , but maybe I am wrong and YOu can point to nice examples
pippo1980
CC BY-SA 4.0
2022-06-28T16:12:04.273Z
3nir.pdb Crambin     Method: X-RAY DIFFRACTION
    Resolution: 0.48 Å
    R-Value Work: 0.127 
    R-Value Observed: 0.127
pippo1980
CC BY-SA 4.0
2022-06-28T18:44:49.930Z
PDBfixer can do it: https://github.com/openmm/pdbfixer
Matteo Ferla
CC BY-SA 4.0
2022-06-29T05:25:51.543Z
Cool, spent hours on google .... guess biomformatics SE is a better expert source, keep it up
pippo1980
CC BY-SA 4.0
2022-06-28T13:42:44.787Z
2022-07-17T08:24:47.010Z
2022-07-17T08:24:47.010Z
Matteo Ferla
<p>I am trying to parse PDB files.</p>
<p>Say, a PDB file has the following data:</p>
<pre><code>ATOM     33  N  ATHR A   2       4.935 -11.632  15.046  0.74  2.95           N
ATOM     34  N  BTHR A   2       5.078 -11.406  15.180  0.31  2.78           N  
ATOM     35  CA ATHR A   2       5.757 -11.521  13.850  0.81  3.02           C  
ATOM     36  CA BTHR A   2       5.773 -11.153  13.921  0.20  2.67           C  
ATOM     37  C  ATHR A   2       7.070 -10.839  14.210  0.74  2.82           C  
ATOM     38  C  BTHR A   2       7.155 -10.559  14.193  0.29  1.80           C  
ATOM     39  O  ATHR A   2       7.152  -9.941  15.050  0.80  3.31           O  
ATOM     40  O  BTHR A   2       7.214  -9.641  15.012  0.25  2.41           O  
ATOM     41  CB ATHR A   2       4.976 -10.693  12.813  0.87  5.53           C  
ATOM     42  CB BTHR A   2       4.896 -10.354  12.941  0.25 12.07           C  
ATOM     43  OG1ATHR A   2       4.611  -9.432  13.388  1.00  6.88           O  
ATOM     44  OG1BTHR A   2       3.743 -11.083  12.501  0.25  9.57           O  
ATOM     45  CG2ATHR A   2       3.858 -11.584  12.293  0.75 10.03           C  
ATOM     46  CG2BTHR A   2       5.683  -9.885  11.726  0.27  5.90           C  
ATOM     47  H  ATHR A   2       4.547 -10.814  15.527  0.75  3.44           H  
ATOM     48  H  BTHR A   2       5.510 -10.211  15.754  0.25  2.90           H  
ATOM     49  HA ATHR A   2       5.962 -12.339  13.548  0.75  3.32           H  
ATOM     50  HA BTHR A   2       4.036  -9.929  13.477  0.25  2.86           H  
ATOM     51  HB ATHR A   2       5.648 -10.589  11.938  0.75  5.43           H  
ATOM     52  HB BTHR A   2       4.644  -9.326  13.574  0.25  5.67           H  
ATOM     53  HG1ATHR A   2       5.030  -9.344  14.216  0.75  8.74           H  
ATOM     54  HG1BTHR A   2       3.236 -11.198  13.399  0.25 10.21           H  
ATOM     55 HG21ATHR A   2       4.096 -12.441  11.924  0.75 10.92           H  
ATOM     56 HG21BTHR A   2       6.542  -9.278  12.024  0.25  9.66           H  
ATOM     57 HG22ATHR A   2       3.222 -10.974  11.650  0.75 10.92           H  
ATOM     58 HG22BTHR A   2       5.039  -9.142  11.179  0.25  9.66           H  
ATOM     59 HG23ATHR A   2       3.163 -11.738  13.200  0.75 10.92           H  
ATOM     60 HG23BTHR A   2       5.904 -10.639  11.169  0.25  9.66           H  
</code></pre>
<p>We see that there are many alternative atoms in the 2nd residue.</p>
<p>How should I choose the atoms?</p>
<p>Should I just randomly choose one atom from the alternatives? How can my parser learn to differentiate between those two atoms (say, 33 and 34)? Coz, from the parsing point of view, there is no indication that they are related.</p>
<p>How can I parse alternative atom information in a PDB file?</p>

<proteins><pdb>
How can I parse alternative atom information?
# How can I parse alternative atom information?

(Asked by: username_0 on 2022-06-27)

I am trying to parse PDB files.
Say, a PDB file has the following data:
ATOM     33  N  ATHR A   2       4.935 -11.632  15.046  0.74  2.95           N
ATOM     34  N  BTHR A   2       5.078 -11.406  15.180  0.31  2.78           N  
ATOM     35  CA ATHR A   2       5.757 -11.521  13.850  0.81  3.02           C  
ATOM     36  CA BTHR A   2       5.773 -11.153  13.921  0.20  2.67           C  
ATOM     37  C  ATHR A   2       7.070 -10.839  14.210  0.74  2.82           C  
ATOM     38  C  BTHR A   2       7.155 -10.559  14.193  0.29  1.80           C  
ATOM     39  O  ATHR A   2       7.152  -9.941  15.050  0.80  3.31           O  
ATOM     40  O  BTHR A   2       7.214  -9.641  15.012  0.25  2.41           O  
ATOM     41  CB ATHR A   2       4.976 -10.693  12.813  0.87  5.53           C  
ATOM     42  CB BTHR A   2       4.896 -10.354  12.941  0.25 12.07           C  
ATOM     43  OG1ATHR A   2       4.611  -9.432  13.388  1.00  6.88           O  
ATOM     44  OG1BTHR A   2       3.743 -11.083  12.501  0.25  9.57           O  
ATOM     45  CG2ATHR A   2       3.858 -11.584  12.293  0.75 10.03           C  
ATOM     46  CG2BTHR A   2       5.683  -9.885  11.726  0.27  5.90           C  
ATOM     47  H  ATHR A   2       4.547 -10.814  15.527  0.75  3.44           H  
ATOM     48  H  BTHR A   2       5.510 -10.211  15.754  0.25  2.90           H  
ATOM     49  HA ATHR A   2       5.962 -12.339  13.548  0.75  3.32           H  
ATOM     50  HA BTHR A   2       4.036  -9.929  13.477  0.25  2.86           H  
ATOM     51  HB ATHR A   2       5.648 -10.589  11.938  0.75  5.43           H  
ATOM     52  HB BTHR A   2       4.644  -9.326  13.574  0.25  5.67           H  
ATOM     53  HG1ATHR A   2       5.030  -9.344  14.216  0.75  8.74           H  
ATOM     54  HG1BTHR A   2       3.236 -11.198  13.399  0.25 10.21           H  
ATOM     55 HG21ATHR A   2       4.096 -12.441  11.924  0.75 10.92           H  
ATOM     56 HG21BTHR A   2       6.542  -9.278  12.024  0.25  9.66           H  
ATOM     57 HG22ATHR A   2       3.222 -10.974  11.650  0.75 10.92           H  
ATOM     58 HG22BTHR A   2       5.039  -9.142  11.179  0.25  9.66           H  
ATOM     59 HG23ATHR A   2       3.163 -11.738  13.200  0.75 10.92           H  
ATOM     60 HG23BTHR A   2       5.904 -10.639  11.169  0.25  9.66           H  

We see that there are many alternative atoms in the 2nd residue.
How should I choose the atoms?
Should I just randomly choose one atom from the alternatives? How can my parser learn to differentiate between those two atoms (say, 33 and 34)? Coz, from the parsing point of view, there is no indication that they are related.
How can I parse alternative atom information in a PDB file?

**Tags:** proteins, pdb

---

## 1 answers

### Answer by username_1 on 2022-06-28. Score: 4 | Accepted answer

Generally alternate location are used in structures with partial occupancy.

In <https://www.wwpdb.org/documentation/file-format-content/format33/sect9.html> you will see that the fourth numerical column is occupancy. So you could take the higher occupancy version.
The tool PDBfixer can do it for you: github.com/openmm/pdbfixer

* Do not assume the sum of occupancy is 1 —it should but errors do creep up especially for close alternate location that overlap.
* The anisotropic and isotropic B-factors will be lower than were the structure refined with a single conformation (like normal atoms).
* Same letters in different residues should not be assumed to be paired up. Models as seen for NMR structures are a solution for that.

Lastly... Your structure has protons, which is unusual (exceptions exist). It is fine if it is a neutron diffraction structure or NMR. If you are not expecting protons (X-ray structure), skip it out of safety.

> **Comments:**
> **username_2**: not sure your answer is the best one, maybe the question was not precise enough, lets says it was: " Is there any PDB parser out there that could differentiate between alternate conformation ? " What would be your answer ?  
> **username_2**: On a similar note is there any PDB viewer that can easily be told to show one of the possible altLoc conformation ? Easy enough to duplicate by hands structure where you have alternate loop conformation, but what about single aa in differnet places, so that you could have protein AAA, BBB, ABB, AAB and so on ... I tried to google pymol command related to this  but seem overly complicate to me a like you can select either A or B conformation for the full sequence , but maybe I am wrong and YOu can point to nice examples  
> **username_2**: 3nir.pdb Crambin     Method: X-RAY DIFFRACTION     Resolution: 0.48 Å     R-Value Work: 0.127      R-Value Observed: 0.127  
> **username_1**: PDBfixer can do it: https://github.com/openmm/pdbfixer  
> **username_2**: Cool, spent hours on google .... guess biomformatics SE is a better expert source, keep it up  

---

