question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[biopolymer] iCodes not being handled properly

See original GitHub issue

Describe the bug

Passing a PDB with residues with insertion codes such as what is demonstrated below leads to a squashed residue rather than two individual ones:

ATOM   2601  N   ASN A 162      40.670  10.730  37.730  1.00  0.00           N
ATOM   2602  H   ASN A 162      39.900  11.120  37.210  1.00  0.00           H
ATOM   2603  CA  ASN A 162      41.770  10.100  37.120  1.00  0.00           C
ATOM   2604  HA  ASN A 162      42.370   9.560  37.850  1.00  0.00           H
ATOM   2605  CB  ASN A 162      41.320   9.150  36.020  1.00  0.00           C
ATOM   2606  HB2 ASN A 162      40.530   9.640  35.460  1.00  0.00           H
ATOM   2607  HB3 ASN A 162      42.210   8.900  35.450  1.00  0.00           H
ATOM   2608  CG  ASN A 162      40.690   7.870  36.740  1.00  0.00           C
ATOM   2609  OD1 ASN A 162      39.540   7.890  37.200  1.00  0.00           O
ATOM   2610  ND2 ASN A 162      41.480   6.830  37.000  1.00  0.00           N
ATOM   2611 HD21 ASN A 162      41.080   6.200  37.690  1.00  0.00           H
ATOM   2612 HD22 ASN A 162      42.470   6.870  36.820  1.00  0.00           H
ATOM   2613  C   ASN A 162      42.670  11.260  36.640  1.00  0.00           C
ATOM   2614  O   ASN A 162      42.910  11.420  35.410  1.00  0.00           O
ATOM   2615  N   ASN A 162B     41.670  10.730  37.730  1.00  0.00           N
ATOM   2616  H   ASN A 162B     40.900  11.120  37.210  1.00  0.00           H
ATOM   2617  CA  ASN A 162B     42.770  10.100  37.120  1.00  0.00           C
ATOM   2618  HA  ASN A 162B     43.370   9.560  37.850  1.00  0.00           H
ATOM   2619  CB  ASN A 162B     42.320   9.150  36.020  1.00  0.00           C
ATOM   2620  HB2 ASN A 162B     41.530   9.640  35.460  1.00  0.00           H
ATOM   2621  HB3 ASN A 162B     43.210   8.900  35.450  1.00  0.00           H
ATOM   2622  CG  ASN A 162B     41.690   7.870  36.740  1.00  0.00           C
ATOM   2623  OD1 ASN A 162B     40.540   7.890  37.200  1.00  0.00           O
ATOM   2624  ND2 ASN A 162B     42.480   6.830  37.000  1.00  0.00           N
ATOM   2625 HD21 ASN A 162B     42.080   6.200  37.690  1.00  0.00           H
ATOM   2626 HD22 ASN A 162B     43.470   6.870  36.820  1.00  0.00           H
ATOM   2627  C   ASN A 162B     43.670  11.260  36.640  1.00  0.00           C
ATOM   2628  O   ASN A 162B     43.910  11.420  35.410  1.00  0.00           O

What hasn’t been tested:

  • Insertion codes but with different residues (i.e. if you had ASN 162 and ALA 162B)

To Reproduce

Loading the following PDB file on the biopolymer branch (tested on a clone made on the 21st June 2022) and looking at residue 162. T4-protein-icode.pdb.zip

from openff.toolkit import Molecule, Topology
protein = Molecule.from_polymer_pdb('T4-protein-icode.pdb')
protein.residues[-2].to_dict()

Output

We get twice the number of ASN atoms (i.e. the two ASN residues squashed together):

{'identifier': ('A', '162', 'ASN'),
 'atom_indices': [2600,
  2601,
  2602,
  2603,
  2604,
  2605,
  2606,
  2607,
  2608,
  2609,
  2610,
  2611,
  2612,
  2613,
  2614,
  2615,
  2616,
  2617,
  2618,
  2619,
  2620,
  2621,
  2622,
  2623,
  2624,
  2625,
  2626,
  2627]}

Computing environment (please complete the following information):

  • Operating system: ubuntu 20.04 LTS
  • Output of running conda list
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       2_gnu    conda-forge
amberlite                 22.0                     pypi_0    pypi
ambertools                22.0             py38h6177452_1    conda-forge
amberutils                21.0                     pypi_0    pypi
arpack                    3.7.0                hdefa2d7_2    conda-forge
asttokens                 2.0.5              pyhd8ed1ab_0    conda-forge
astunparse                1.6.3              pyhd8ed1ab_0    conda-forge
backcall                  0.2.0              pyh9f0ad1d_0    conda-forge
backports                 1.0                        py_2    conda-forge
backports.functools_lru_cache 1.6.4              pyhd8ed1ab_0    conda-forge
blosc                     1.21.1               h83bc5f7_3    conda-forge
boost                     1.74.0           py38h2b96118_5    conda-forge
boost-cpp                 1.74.0               h75c5d50_8    conda-forge
brotli                    1.0.9                h166bdaf_7    conda-forge
brotli-bin                1.0.9                h166bdaf_7    conda-forge
bzip2                     1.0.8                h7f98852_4    conda-forge
c-ares                    1.18.1               h7f98852_0    conda-forge
ca-certificates           2022.6.15            ha878542_0    conda-forge
cachetools                5.2.0                    pypi_0    pypi
cairo                     1.16.0            ha61ee94_1011    conda-forge
certifi                   2022.6.15        py38h578d9bd_0    conda-forge
cudatoolkit               11.7.0              hd8887f6_10    conda-forge
curl                      7.83.1               h7bff187_0    conda-forge
cycler                    0.11.0             pyhd8ed1ab_0    conda-forge
cython                    0.29.30          py38hfa26641_0    conda-forge
decorator                 5.1.1              pyhd8ed1ab_0    conda-forge
executing                 0.8.3              pyhd8ed1ab_0    conda-forge
expat                     2.4.8                h27087fc_0    conda-forge
fftw                      3.3.10          nompi_h77c792f_102    conda-forge
font-ttf-dejavu-sans-mono 2.37                 hab24e00_0    conda-forge
font-ttf-inconsolata      3.000                h77eed37_0    conda-forge
font-ttf-source-code-pro  2.038                h77eed37_0    conda-forge
font-ttf-ubuntu           0.83                 hab24e00_0    conda-forge
fontconfig                2.14.0               h8e229c2_0    conda-forge
fonts-conda-ecosystem     1                             0    conda-forge
fonts-conda-forge         1                             0    conda-forge
fonttools                 4.33.3           py38h0a891b7_0    conda-forge
freetype                  2.10.4               h0708190_1    conda-forge
gettext                   0.19.8.1          h73d1719_1008    conda-forge
giflib                    5.2.1                h36c2ea0_2    conda-forge
greenlet                  1.1.2            py38hfa26641_2    conda-forge
hdf4                      4.2.15               h10796ff_3    conda-forge
hdf5                      1.12.1          nompi_h2386368_104    conda-forge
icu                       70.1                 h27087fc_0    conda-forge
importlib-metadata        4.11.4           py38h578d9bd_0    conda-forge
importlib_resources       5.8.0              pyhd8ed1ab_0    conda-forge
ipython                   8.4.0            py38h578d9bd_0    conda-forge
jedi                      0.18.1           py38h578d9bd_1    conda-forge
jpeg                      9e                   h166bdaf_1    conda-forge
keyutils                  1.6.1                h166bdaf_0    conda-forge
kiwisolver                1.4.3            py38h43d8883_0    conda-forge
krb5                      1.19.3               h3790be6_0    conda-forge
lcms2                     2.12                 hddcbb42_0    conda-forge
ld_impl_linux-64          2.36.1               hea4e1c9_2    conda-forge
lerc                      3.0                  h9c3ff4c_0    conda-forge
libblas                   3.9.0           15_linux64_openblas    conda-forge
libbrotlicommon           1.0.9                h166bdaf_7    conda-forge
libbrotlidec              1.0.9                h166bdaf_7    conda-forge
libbrotlienc              1.0.9                h166bdaf_7    conda-forge
libcblas                  3.9.0           15_linux64_openblas    conda-forge
libcurl                   7.83.1               h7bff187_0    conda-forge
libdeflate                1.12                 h166bdaf_0    conda-forge
libedit                   3.1.20191231         he28a2e2_2    conda-forge
libev                     4.33                 h516909a_1    conda-forge
libffi                    3.4.2                h7f98852_5    conda-forge
libgcc-ng                 12.1.0              h8d9b700_16    conda-forge
libgfortran-ng            12.1.0              h69a702a_16    conda-forge
libgfortran5              12.1.0              hdcd56e2_16    conda-forge
libglib                   2.70.2               h174f98d_4    conda-forge
libgomp                   12.1.0              h8d9b700_16    conda-forge
libiconv                  1.16                 h516909a_0    conda-forge
liblapack                 3.9.0           15_linux64_openblas    conda-forge
libnetcdf                 4.8.1           nompi_h329d8a1_102    conda-forge
libnghttp2                1.47.0               h727a467_0    conda-forge
libnsl                    2.0.0                h7f98852_0    conda-forge
libopenblas               0.3.20          pthreads_h78a6416_0    conda-forge
libpng                    1.6.37               h21135ba_2    conda-forge
libssh2                   1.10.0               ha56f1ee_2    conda-forge
libstdcxx-ng              12.1.0              ha89aaad_16    conda-forge
libtiff                   4.4.0                hc85c160_1    conda-forge
libuuid                   2.32.1            h7f98852_1000    conda-forge
libwebp                   1.2.2                h3452ae3_0    conda-forge
libwebp-base              1.2.2                h7f98852_1    conda-forge
libxcb                    1.13              h7f98852_1004    conda-forge
libzip                    1.8.0                h4de3113_1    conda-forge
libzlib                   1.2.12               h166bdaf_1    conda-forge
lz4-c                     1.9.3                h9c3ff4c_1    conda-forge
lzo                       2.10              h516909a_1000    conda-forge
matplotlib-base           3.5.2            py38h826bfd8_0    conda-forge
matplotlib-inline         0.1.3              pyhd8ed1ab_0    conda-forge
mdtraj                    1.9.7            py38h0f83e44_1    conda-forge
mmpbsa-py                 16.0                     pypi_0    pypi
munkres                   1.1.4              pyh9f0ad1d_0    conda-forge
ncurses                   6.3                  h27087fc_1    conda-forge
netcdf-fortran            4.5.4           nompi_h2b6e579_100    conda-forge
networkx                  2.8.4              pyhd8ed1ab_0    conda-forge
nomkl                     1.0                  h5ca1d4c_0    conda-forge
numexpr                   2.8.0           py38h97b1c41_102    conda-forge
numpy                     1.22.4           py38h99721a1_0    conda-forge
ocl-icd                   2.3.1                h7f98852_0    conda-forge
ocl-icd-system            1.0.0                         1    conda-forge
openff-forcefields        2.0.0              pyh6c4a22f_0    conda-forge
openff-interchange        0.1.4              pyhd8ed1ab_0    conda-forge
openff-interchange-base   0.1.4              pyh6c4a22f_0    conda-forge
openff-toolkit            0.10.1+112.g349d3fa4           dev_0    <develop>
openff-units              0.1.6              pyh6c4a22f_0    conda-forge
openff-utilities          0.1.5              pyh6c4a22f_0    conda-forge
openjpeg                  2.4.0                hb52868f_1    conda-forge
openmm                    7.7.0            py38h4b4c9af_1    conda-forge
openssl                   1.1.1o               h166bdaf_0    conda-forge
packaging                 21.3               pyhd8ed1ab_0    conda-forge
packmol                   20.010               h86c2bf4_0    conda-forge
packmol-memgen            1.2.3rc0                 pypi_0    pypi
pandas                    1.4.2            py38h47df419_2    conda-forge
panedr                    0.5.2                      py_0    conda-forge
parmed                    3.4.3            py38hfa26641_2    conda-forge
parso                     0.8.3              pyhd8ed1ab_0    conda-forge
pbr                       5.9.0              pyhd8ed1ab_0    conda-forge
pcre                      8.45                 h9c3ff4c_0    conda-forge
pdb4amber                 22.0                     pypi_0    pypi
perl                      5.32.1          2_h7f98852_perl5    conda-forge
pexpect                   4.8.0              pyh9f0ad1d_2    conda-forge
pickleshare               0.7.5                   py_1003    conda-forge
pillow                    9.1.1            py38h0ee0e06_1    conda-forge
pint                      0.19.2             pyhd8ed1ab_0    conda-forge
pip                       22.1.2             pyhd8ed1ab_0    conda-forge
pixman                    0.40.0               h36c2ea0_0    conda-forge
prompt-toolkit            3.0.29             pyha770c72_0    conda-forge
pthread-stubs             0.4               h36c2ea0_1001    conda-forge
ptyprocess                0.7.0              pyhd3deb0d_0    conda-forge
pure_eval                 0.2.2              pyhd8ed1ab_0    conda-forge
pycairo                   1.21.0           py38h9c00e7a_1    conda-forge
pydantic                  1.9.1            py38h0a891b7_0    conda-forge
pygments                  2.12.0             pyhd8ed1ab_0    conda-forge
pyparsing                 3.0.9              pyhd8ed1ab_0    conda-forge
pytables                  3.7.0            py38hdb04529_0    conda-forge
python                    3.8.13          h582c2e5_0_cpython    conda-forge
python-constraint         1.4.0                      py_0    conda-forge
python-dateutil           2.8.2              pyhd8ed1ab_0    conda-forge
python_abi                3.8                      2_cp38    conda-forge
pytraj                    2.0.6                    pypi_0    pypi
pytz                      2022.1             pyhd8ed1ab_0    conda-forge
rdkit                     2022.03.3        py38ha829ea6_0    conda-forge
readline                  8.1.2                h0f457ee_0    conda-forge
reportlab                 3.5.68           py38hadf75a6_1    conda-forge
sander                    22.0                     pypi_0    pypi
scipy                     1.8.1            py38h1ee437e_0    conda-forge
setuptools                62.6.0           py38h578d9bd_0    conda-forge
six                       1.16.0             pyh6c4a22f_0    conda-forge
smirnoff99frosst          1.1.0              pyh44b312d_0    conda-forge
snappy                    1.1.9                hbd366e4_1    conda-forge
sqlalchemy                1.4.37           py38h0a891b7_0    conda-forge
sqlite                    3.38.5               h4ff8645_0    conda-forge
stack_data                0.3.0              pyhd8ed1ab_0    conda-forge
tk                        8.6.12               h27826a3_0    conda-forge
traitlets                 5.3.0              pyhd8ed1ab_0    conda-forge
typing-extensions         4.2.0                hd8ed1ab_1    conda-forge
typing_extensions         4.2.0              pyha770c72_1    conda-forge
unicodedata2              14.0.0           py38h0a891b7_1    conda-forge
wcwidth                   0.2.5              pyh9f0ad1d_2    conda-forge
wheel                     0.37.1             pyhd8ed1ab_0    conda-forge
xmltodict                 0.13.0             pyhd8ed1ab_0    conda-forge
xorg-kbproto              1.0.7             h7f98852_1002    conda-forge
xorg-libice               1.0.10               h7f98852_0    conda-forge
xorg-libsm                1.2.3             hd9c2040_1000    conda-forge
xorg-libx11               1.7.2                h7f98852_0    conda-forge
xorg-libxau               1.0.9                h7f98852_0    conda-forge
xorg-libxdmcp             1.1.3                h7f98852_0    conda-forge
xorg-libxext              1.3.4                h7f98852_1    conda-forge
xorg-libxrender           0.9.10            h7f98852_1003    conda-forge
xorg-libxt                1.2.1                h7f98852_2    conda-forge
xorg-renderproto          0.11.1            h7f98852_1002    conda-forge
xorg-xextproto            7.3.0             h7f98852_1002    conda-forge
xorg-xproto               7.0.31            h7f98852_1007    conda-forge
xz                        5.2.5                h516909a_1    conda-forge
zipp                      3.8.0              pyhd8ed1ab_0    conda-forge
zlib                      1.2.12               h166bdaf_1    conda-forge
zstd                      1.5.2                h8a70e8d_1    conda-forge

Additional context

Issue Analytics

  • State:closed
  • Created a year ago
  • Comments:10 (8 by maintainers)

github_iconTop GitHub Comments

1reaction
mikemhenrycommented, Aug 19, 2022

Just some background for people who don’t know what insertion codes are/their function: https://bioinformatics.stackexchange.com/questions/11587/what-is-the-aim-of-insertion-codes-in-the-pdb-file-format

0reactions
j-wagscommented, Sep 30, 2022

I think this is completed after #1372

Read more comments on GitHub >

github_iconTop Results From Across the Web

ICODES FAQ - All Items - SDDC
A. Users can submit symbol drawing add/change requests to the ICODES org email box. Requests should include a top down view (image) of...
Read more >
Recent advances in biodegradable matrices for active ... - NCBI
Climate changes, emerging species of plant pests, and deficits of clean water and arable land have made availability of food to the ever-increasing...
Read more >
DigitalCommons@UMaine - The University of Maine
Plastics appear to be vestibules for additive release, as the breakdown of the ... rubber that have not been properly dispersed throughout the...
Read more >
THE NEW PLASTICS ECONOMY RETHINKING THE FUTURE ...
Concrete and game-changing steps have to be taken for us to achieve the future ... Not only does plastic waste pollute our land...
Read more >
OpenFF Toolkit Documentation - Open Force Field Software
not being applied correctly in versions 0.10.1 and 0.10.2 of the OpenFF Toolkit ... PR #1368: Updates the Toolkit showcase with the new...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found