Opened 13 hours ago

Last modified 8 hours ago

#19480 accepted defect

Hydrogen naming inconsistent

Reported by: rvwilliams@… Owned by: Eric Pettersen
Priority: normal Milestone:
Component: Structure Editing Version:
Keywords: Cc:
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        macOS-15.1.1-arm64-arm-64bit
ChimeraX Version: 1.9 (2024-12-11 19:11:19 UTC)
Description
For this dimer structure, adding hydrogen atoms with the "addh" command results in inconsistent atom names for some methylene hydrogens between chains. For example Glu4 HB2 is swapped with HB3 between chains A and B, but the coordinates are otherwise identical.

Log:
Startup Messages  
---  
note | available bundle cache has not been initialized yet  
  
You can double click a model's Name or ID in the model panel to edit those
fields  
UCSF ChimeraX version: 1.9 (2024-12-11)  
© 2016-2024 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open
> /Users/rwilliams/Dropbox/Science/UMass_postdoc/Data/AlphaFold/AlphaFold3/fold_2025_09_08_13_18_crd_dimer/fold_2025_09_08_13_18_crd_dimer_model_0.cif

Chain information for fold_2025_09_08_13_18_crd_dimer_model_0.cif #1  
---  
Chain | Description  
A B | .  
  
Computing secondary structure  

> open
> /Users/rwilliams/Dropbox/Science/UMass_postdoc/Data/AlphaFold/AlphaFold3/fold_2025_09_08_13_18_crd_dimer/fold_2025_09_08_13_18_crd_dimer_model_0.cif

Chain information for fold_2025_09_08_13_18_crd_dimer_model_0.cif #2  
---  
Chain | Description  
A B | .  
  
Computing secondary structure  

> hide #1 models

> show #1 models

> matchmaker #1/A #2/B

Missing required "to" argument  

> matchmaker #1/A to #2/B

Computing secondary structure  
[Repeated 1 time(s)]  Parameters  
---  
Chain pairing | bb  
Alignment algorithm | Needleman-Wunsch  
Similarity matrix | BLOSUM-62  
SS fraction | 0.3  
Gap open (HH/SS/other) | 18/18/6  
Gap extend | 1  
SS matrix |  |  | H | S | O  
---|---|---|---  
H | 6 | -9 | -6  
S |  | 6 | -6  
O |  |  | 4  
Iteration cutoff | 2  
  
Matchmaker fold_2025_09_08_13_18_crd_dimer_model_0.cif, chain B (#2) with
fold_2025_09_08_13_18_crd_dimer_model_0.cif, chain A (#1), sequence alignment
score = 276.7  
RMSD between 52 pruned atom pairs is 0.057 angstroms; (across all 52 pairs:
0.057)  
  

> hide #1/B #2/A ribbons

> show #1/A #2/B

> select :4

36 atoms, 32 bonds, 4 residues, 2 models selected  

> close #2

> addh

Summary of feedback from adding hydrogens to
fold_2025_09_08_13_18_crd_dimer_model_0.cif #1  
---  
notes | Termini for fold_2025_09_08_13_18_crd_dimer_model_0.cif (#1) chain A determined from SEQRES records  
Termini for fold_2025_09_08_13_18_crd_dimer_model_0.cif (#1) chain B
determined from SEQRES records  
Chain-initial residues that are actual N termini: /A PHE 1, /B PHE 1  
Chain-initial residues that are not actual N termini:  
Chain-final residues that are actual C termini: /A LYS 52, /B LYS 52  
Chain-final residues that are not actual C termini:  
68 hydrogen bonds  
734 hydrogens added  
  

> hide

> show ribbons

> show :4@H,HB2

> distance /A:4@H,HB2

Distance between /A GLU 4 H and HB2: 3.605Å  

> distance /B:4@H,HB2

Distance between /B GLU 4 H and HB2: 2.354Å  

> open
> /Users/rwilliams/Dropbox/Science/UMass_postdoc/Data/AlphaFold/AlphaFold3/fold_2025_09_08_13_18_crd_dimer/fold_2025_09_08_13_18_crd_dimer_model_0.cif

Chain information for fold_2025_09_08_13_18_crd_dimer_model_0.cif #3  
---  
Chain | Description  
A B | .  
  
Computing secondary structure  

> matchmaker #2/B to #1/A

No molecules/chains to match specified  

> matchmaker #3/B to #1/A

Computing secondary structure  
[Repeated 1 time(s)]  Parameters  
---  
Chain pairing | bb  
Alignment algorithm | Needleman-Wunsch  
Similarity matrix | BLOSUM-62  
SS fraction | 0.3  
Gap open (HH/SS/other) | 18/18/6  
Gap extend | 1  
SS matrix |  |  | H | S | O  
---|---|---|---  
H | 6 | -9 | -6  
S |  | 6 | -6  
O |  |  | 4  
Iteration cutoff | 2  
  
Matchmaker fold_2025_09_08_13_18_crd_dimer_model_0.cif, chain A (#1) with
fold_2025_09_08_13_18_crd_dimer_model_0.cif, chain B (#3), sequence alignment
score = 276.7  
RMSD between 52 pruned atom pairs is 0.057 angstroms; (across all 52 pairs:
0.057)  
  

> show :4

> hide ribbons

> hide #3 models

> show #3 models

> hide #1 models

> show #1 models

> hide #1 models

> show #1 models

> hide #1 models

> show #1 models

> addh #3

Summary of feedback from adding hydrogens to
fold_2025_09_08_13_18_crd_dimer_model_0.cif #3  
---  
notes | Termini for fold_2025_09_08_13_18_crd_dimer_model_0.cif (#3) chain A determined from SEQRES records  
Termini for fold_2025_09_08_13_18_crd_dimer_model_0.cif (#3) chain B
determined from SEQRES records  
Chain-initial residues that are actual N termini:
fold_2025_09_08_13_18_crd_dimer_model_0.cif #3/A PHE 1,
fold_2025_09_08_13_18_crd_dimer_model_0.cif #3/B PHE 1  
Chain-initial residues that are not actual N termini:  
Chain-final residues that are actual C termini:
fold_2025_09_08_13_18_crd_dimer_model_0.cif #3/A LYS 52,
fold_2025_09_08_13_18_crd_dimer_model_0.cif #3/B LYS 52  
Chain-final residues that are not actual C termini:  
68 hydrogen bonds  
734 hydrogens added  
  

> hide #1 models

> show #1 models

> hide #3 models

> show ribbons

> hide :4 ribbons

> show #3 models

> hide #1 models

> show #1 models

> hide

> show #1/A:4

> show #1/B:4

> show #3/B:4

> hide #1 models

> show #1 models

> distance /B:4@H,HB2

Expected exactly two atoms and/or measurable objects (e.g. axes, planes), or
one or more measurable objects and one or more atoms, got 4 atoms and 0
measurable objects  

> distance #3/B:4@H,HB2

Distance between fold_2025_09_08_13_18_crd_dimer_model_0.cif #3/B GLU 4 H and
HB2: 2.354Å  

> hide #3 models

> show #3 models

> hide #1 models

> show #1 models

> hide #3 models

> show #3 models

> hide #1 models

> show #1 models

> hide #3 models

> show #3 models

> hide #1 models

> help addh

> show :44

> show #1 models

> hide #!2 models

> show #!2 models

> hide #3 models

> show #3 models

> hide #1 models

> show #1 models

> hide #3 models

> show #3 models

> hide #1 models

> show #1 models

> show :5

> hide #3 models

> select :6@HB2

4 atoms, 4 residues, 2 models selected  

> show :6

> help addh




OpenGL version: 4.1 Metal - 89.3
OpenGL renderer: Apple M1 Pro
OpenGL vendor: Apple

Python: 3.11.4
Locale: UTF-8
Qt version: PyQt6 6.7.1, Qt 6.7.1
Qt runtime version: 6.7.3
Qt platform: cocoa
Hardware:

    Hardware Overview:

      Model Name: MacBook Pro
      Model Identifier: MacBookPro18,3
      Model Number: Z15G001VRLL/A
      Chip: Apple M1 Pro
      Total Number of Cores: 8 (6 performance and 2 efficiency)
      Memory: 16 GB
      System Firmware Version: 11881.41.5
      OS Loader Version: 11881.41.5

Software:

    System Software Overview:

      System Version: macOS 15.1.1 (24B91)
      Kernel Version: Darwin 24.1.0
      Time since boot: 19 days, 21 hours, 48 minutes

Graphics/Displays:

    Apple M1 Pro:

      Chipset Model: Apple M1 Pro
      Type: GPU
      Bus: Built-In
      Total Number of Cores: 14
      Vendor: Apple (0x106b)
      Metal Support: Metal 3
      Displays:
        Color LCD:
          Display Type: Built-in Liquid Retina XDR Display
          Resolution: 3024 x 1964 Retina
          Main Display: Yes
          Mirror: Off
          Online: Yes
          Automatically Adjust Brightness: Yes
          Connection Type: Internal


Installed Packages:
    alabaster: 1.0.0
    anyio: 4.7.0
    appdirs: 1.4.4
    appnope: 0.1.4
    asttokens: 3.0.0
    auditwheel: 6.1.0
    babel: 2.16.0
    beautifulsoup4: 4.12.3
    blockdiag: 3.0.0
    blosc2: 3.0.0
    build: 1.2.1
    certifi: 2023.11.17
    cftime: 1.6.4.post1
    charset-normalizer: 3.4.0
    ChimeraX-AddCharge: 1.5.18
    ChimeraX-AddH: 2.2.6
    ChimeraX-AlignmentAlgorithms: 2.0.2
    ChimeraX-AlignmentHdrs: 3.5
    ChimeraX-AlignmentMatrices: 2.1
    ChimeraX-Alignments: 2.16.1
    ChimeraX-AlphaFold: 1.0.1
    ChimeraX-AltlocExplorer: 1.1.2
    ChimeraX-AmberInfo: 1.0
    ChimeraX-Arrays: 1.1
    ChimeraX-Atomic: 1.58.8
    ChimeraX-AtomicLibrary: 14.1.11
    ChimeraX-AtomSearch: 2.0.1
    ChimeraX-AxesPlanes: 2.4
    ChimeraX-BasicActions: 1.1.2
    ChimeraX-BILD: 1.0
    ChimeraX-BlastProtein: 3.0.0
    ChimeraX-BondRot: 2.0.4
    ChimeraX-BugReporter: 1.0.1
    ChimeraX-BuildStructure: 2.13.1
    ChimeraX-Bumps: 1.0
    ChimeraX-BundleBuilder: 1.4.0
    ChimeraX-ButtonPanel: 1.0.1
    ChimeraX-CageBuilder: 1.0.1
    ChimeraX-CellPack: 1.0
    ChimeraX-Centroids: 1.4
    ChimeraX-ChangeChains: 1.1
    ChimeraX-CheckWaters: 1.4
    ChimeraX-ChemGroup: 2.0.1
    ChimeraX-Clashes: 2.3
    ChimeraX-ColorActions: 1.0.5
    ChimeraX-ColorGlobe: 1.0
    ChimeraX-ColorKey: 1.5.6
    ChimeraX-CommandLine: 1.2.5
    ChimeraX-ConnectStructure: 2.0.1
    ChimeraX-Contacts: 1.0.1
    ChimeraX-Core: 1.9
    ChimeraX-CoreFormats: 1.2
    ChimeraX-coulombic: 1.4.4
    ChimeraX-Crosslinks: 1.0
    ChimeraX-Crystal: 1.0
    ChimeraX-CrystalContacts: 1.0.1
    ChimeraX-DataFormats: 1.2.3
    ChimeraX-Dicom: 1.2.6
    ChimeraX-DistMonitor: 1.4.2
    ChimeraX-DockPrep: 1.1.3
    ChimeraX-Dssp: 2.0
    ChimeraX-EMDB-SFF: 1.0
    ChimeraX-ESMFold: 1.0
    ChimeraX-FileHistory: 1.0.1
    ChimeraX-FunctionKey: 1.0.1
    ChimeraX-Geometry: 1.3
    ChimeraX-gltf: 1.0
    ChimeraX-Graphics: 1.4.1
    ChimeraX-Hbonds: 2.5
    ChimeraX-Help: 1.3
    ChimeraX-HKCage: 1.3
    ChimeraX-IHM: 1.1
    ChimeraX-ImageFormats: 1.2
    ChimeraX-IMOD: 1.0
    ChimeraX-IO: 1.0.3
    ChimeraX-ItemsInspection: 1.0.1
    ChimeraX-IUPAC: 1.0
    ChimeraX-KVFinder: 1.2.1
    ChimeraX-Label: 1.1.14
    ChimeraX-ListInfo: 1.2.2
    ChimeraX-Log: 1.2
    ChimeraX-LookingGlass: 1.1
    ChimeraX-Maestro: 1.9.1
    ChimeraX-Map: 1.3
    ChimeraX-MapData: 2.0
    ChimeraX-MapEraser: 1.0.1
    ChimeraX-MapFilter: 2.0.1
    ChimeraX-MapFit: 2.0
    ChimeraX-MapSeries: 2.1.1
    ChimeraX-Markers: 1.0.1
    ChimeraX-Mask: 1.0.2
    ChimeraX-MatchMaker: 2.1.6
    ChimeraX-MCopy: 1.0
    ChimeraX-MDcrds: 2.7.2
    ChimeraX-MedicalToolbar: 1.1
    ChimeraX-Meeting: 1.0.1
    ChimeraX-MLP: 1.1.1
    ChimeraX-mmCIF: 2.14.2
    ChimeraX-MMTF: 2.2
    ChimeraX-ModelArchive: 1.0
    ChimeraX-Modeller: 1.5.18
    ChimeraX-ModelPanel: 1.5
    ChimeraX-ModelSeries: 1.0.1
    ChimeraX-Mol2: 2.0.3
    ChimeraX-Mole: 1.0
    ChimeraX-Morph: 1.0.2
    ChimeraX-MouseModes: 1.2
    ChimeraX-Movie: 1.0
    ChimeraX-MutationScores: 1.0
    ChimeraX-Neuron: 1.0
    ChimeraX-Nifti: 1.2
    ChimeraX-NMRSTAR: 1.0.2
    ChimeraX-NRRD: 1.2
    ChimeraX-Nucleotides: 2.0.3
    ChimeraX-OpenCommand: 1.14
    ChimeraX-OrthoPick: 1.0.1
    ChimeraX-PDB: 2.7.6
    ChimeraX-PDBBio: 1.0.1
    ChimeraX-PDBLibrary: 1.0.4
    ChimeraX-PDBMatrices: 1.0
    ChimeraX-PickBlobs: 1.0.1
    ChimeraX-Positions: 1.0
    ChimeraX-PresetMgr: 1.1.2
    ChimeraX-PubChem: 2.2
    ChimeraX-ReadPbonds: 1.0.1
    ChimeraX-Registration: 1.1.2
    ChimeraX-RemoteControl: 1.0
    ChimeraX-RenderByAttr: 1.6.2
    ChimeraX-RenumberResidues: 1.1
    ChimeraX-ResidueFit: 1.0.1
    ChimeraX-RestServer: 1.3.1
    ChimeraX-RNALayout: 1.0
    ChimeraX-RotamerLibMgr: 4.0
    ChimeraX-RotamerLibsDunbrack: 2.0
    ChimeraX-RotamerLibsDynameomics: 2.0
    ChimeraX-RotamerLibsRichardson: 2.0
    ChimeraX-SaveCommand: 1.5.1
    ChimeraX-SchemeMgr: 1.0
    ChimeraX-SDF: 2.0.2
    ChimeraX-Segger: 1.0
    ChimeraX-Segment: 1.0.1
    ChimeraX-Segmentations: 3.5.6
    ChimeraX-SelInspector: 1.0
    ChimeraX-SeqView: 2.14
    ChimeraX-Shape: 1.0.1
    ChimeraX-Shell: 1.0.1
    ChimeraX-Shortcuts: 1.2.0
    ChimeraX-ShowSequences: 1.0.3
    ChimeraX-SideView: 1.0.1
    ChimeraX-SimilarStructures: 1.0.1
    ChimeraX-Smiles: 2.1.2
    ChimeraX-SmoothLines: 1.0
    ChimeraX-SpaceNavigator: 1.0
    ChimeraX-StdCommands: 1.18.1
    ChimeraX-STL: 1.0.1
    ChimeraX-Storm: 1.0
    ChimeraX-StructMeasure: 1.2.1
    ChimeraX-Struts: 1.0.1
    ChimeraX-Surface: 1.0.1
    ChimeraX-SwapAA: 2.0.1
    ChimeraX-SwapRes: 2.5
    ChimeraX-TapeMeasure: 1.0
    ChimeraX-TaskManager: 1.0
    ChimeraX-Test: 1.0
    ChimeraX-Toolbar: 1.2.3
    ChimeraX-ToolshedUtils: 1.2.4
    ChimeraX-Topography: 1.0
    ChimeraX-ToQuest: 1.0
    ChimeraX-Tug: 1.0.1
    ChimeraX-UI: 1.41
    ChimeraX-Umap: 1.0
    ChimeraX-uniprot: 2.3.1
    ChimeraX-UnitCell: 1.0.1
    ChimeraX-ViewDockX: 1.4.4
    ChimeraX-VIPERdb: 1.0
    ChimeraX-Vive: 1.1
    ChimeraX-VolumeMenu: 1.0.1
    ChimeraX-vrml: 1.0
    ChimeraX-VTK: 1.0
    ChimeraX-WavefrontOBJ: 1.0
    ChimeraX-WebCam: 1.0.2
    ChimeraX-WebServices: 1.1.4
    ChimeraX-Zone: 1.0.1
    colorama: 0.4.6
    comm: 0.2.2
    contourpy: 1.3.1
    cxservices: 1.2.3
    cycler: 0.12.1
    Cython: 3.0.10
    debugpy: 1.8.9
    decorator: 5.1.1
    docutils: 0.21.2
    executing: 2.1.0
    filelock: 3.15.4
    fonttools: 4.55.3
    funcparserlib: 2.0.0a0
    glfw: 2.8.0
    grako: 3.16.5
    h11: 0.14.0
    h5py: 3.12.1
    html2text: 2024.2.26
    httpcore: 1.0.7
    httpx: 0.28.1
    idna: 3.10
    ihm: 1.3
    imagecodecs: 2024.6.1
    imagesize: 1.4.1
    ipykernel: 6.29.5
    ipython: 8.26.0
    ipywidgets: 8.1.5
    jedi: 0.19.1
    Jinja2: 3.1.4
    jupyter_client: 8.6.2
    jupyter_core: 5.7.2
    jupyterlab_widgets: 3.0.13
    kiwisolver: 1.4.7
    line_profiler: 4.1.3
    lxml: 5.2.2
    lz4: 4.3.3
    MarkupSafe: 3.0.2
    matplotlib: 3.9.2
    matplotlib-inline: 0.1.7
    msgpack: 1.0.8
    ndindex: 1.9.2
    nest-asyncio: 1.6.0
    netCDF4: 1.6.5
    networkx: 3.3
    nibabel: 5.2.0
    nptyping: 2.5.0
    numexpr: 2.10.2
    numpy: 1.26.4
    openvr: 1.26.701
    packaging: 23.2
    ParmEd: 4.2.2
    parso: 0.8.4
    pep517: 0.13.1
    pexpect: 4.9.0
    pillow: 10.4.0
    pip: 24.2
    pkginfo: 1.11.1
    platformdirs: 4.3.6
    prompt_toolkit: 3.0.48
    psutil: 6.0.0
    ptyprocess: 0.7.0
    pure_eval: 0.2.3
    py-cpuinfo: 9.0.0
    pycollada: 0.8
    pydicom: 2.4.4
    pyelftools: 0.31
    Pygments: 2.18.0
    pynmrstar: 3.3.4
    pynrrd: 1.0.0
    PyOpenGL: 3.1.7
    PyOpenGL-accelerate: 3.1.7
    pyopenxr: 1.0.3401
    pyparsing: 3.2.0
    pyproject_hooks: 1.2.0
    PyQt6-commercial: 6.7.1
    PyQt6-Qt6: 6.7.3
    PyQt6-WebEngine-commercial: 6.7.0
    PyQt6-WebEngine-Qt6: 6.7.3
    PyQt6-WebEngineSubwheel-Qt6: 6.7.3
    PyQt6_sip: 13.8.0
    python-dateutil: 2.9.0.post0
    pytz: 2024.2
    pyzmq: 26.2.0
    qtconsole: 5.5.2
    QtPy: 2.4.2
    qtshim: 1.0
    RandomWords: 0.4.0
    requests: 2.32.3
    scipy: 1.14.0
    setuptools: 72.1.0
    sfftk-rw: 0.8.1
    six: 1.16.0
    sniffio: 1.3.1
    snowballstemmer: 2.2.0
    sortedcontainers: 2.4.0
    soupsieve: 2.6
    Sphinx: 8.0.2
    sphinx-autodoc-typehints: 2.2.3
    sphinxcontrib-applehelp: 2.0.0
    sphinxcontrib-blockdiag: 3.0.0
    sphinxcontrib-devhelp: 2.0.0
    sphinxcontrib-htmlhelp: 2.1.0
    sphinxcontrib-jsmath: 1.0.1
    sphinxcontrib-qthelp: 2.0.0
    sphinxcontrib-serializinghtml: 2.0.0
    stack-data: 0.6.3
    superqt: 0.6.3
    tables: 3.10.1
    tcia_utils: 1.5.1
    tifffile: 2024.7.24
    tinyarray: 1.2.4
    tornado: 6.4.2
    traitlets: 5.14.3
    typing_extensions: 4.12.2
    tzdata: 2024.2
    urllib3: 2.2.3
    wcwidth: 0.2.13
    webcolors: 24.6.0
    wheel: 0.43.0
    wheel-filename: 1.4.1
    widgetsnbextension: 4.0.13
File attachment: AF3_crd-dimer_rank0_addH.pdb

AF3_crd-dimer_rank0_addH.pdb

Attachments (1)

AF3_crd-dimer_rank0_addH.pdb (119.2 KB ) - added by rvwilliams@… 13 hours ago.
Added by email2trac

Download all attachments as: .zip

Change History (3)

by rvwilliams@…, 13 hours ago

Added by email2trac

comment:1 by Eric Pettersen, 8 hours ago

Owner: set to Eric Pettersen
Platform: all
Project: ChimeraX
Status: newaccepted
Summary: ChimeraX bug report submissionHydrogen naming inconsistent

Hi Robert,

Thanks for reporting this problem. ChimeraX doesn't currently make any effort to ensure that hydrogen names are in consistent stereo positions. Looking at various PDB files, I see that it seems that hydrogens are consistently named based on their stereo position. I was unaware of any PDB documentation for the stereo naming of hydrogens in a PDB file, but after your report I did a deeper dive and found: https://www.wwpdb.org/documentation/file-format-content/format30/sect12.html, which refers to a 1998 Pure & Applied Chem paper. Figure 1 in that paper details the stereo assignments for amino acids. So, pretty easy to miss!
It may take me awhile to actually address this issue, but I will eventually get to it.

--Eric

Eric Pettersen
UCSF Computer Graphics Lab

comment:2 by Eric Pettersen, 8 hours ago

Component: UnassignedStructure Editing
Note: See TracTickets for help on using tickets.