#18158 closed defect (fixed)
Incorrect ring pyridine protonation
Reported by: | Owned by: | pett | |
---|---|---|---|
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.5-arm64-arm-64bit ChimeraX Version: 1.10rc202505300032 (2025-05-30 00:32:35 UTC) Description The addh command is incorrectly adding a proton to certain small molecules. In my case it is reproducibly protonating the N in pyridine rings. This is only happening when I use this 1.10 version. When going back to 1.7.1, addh is behaving correctly. Thanks for all your work! OpenGL version: 4.1 Metal - 89.4 OpenGL renderer: Apple M3 Max OpenGL vendor: Apple Python: 3.11.4 Locale: en_US.UTF-8 Qt version: PyQt6 6.8.1, Qt 6.8.2 Qt runtime version: 6.8.2 Qt platform: cocoa Hardware: Hardware Overview: Model Name: MacBook Pro Model Identifier: Mac15,11 Model Number: MRW33LL/A Chip: Apple M3 Max Total Number of Cores: 14 (10 performance and 4 efficiency) Memory: 36 GB System Firmware Version: 11881.121.1 OS Loader Version: 11881.121.1 Software: System Software Overview: System Version: macOS 15.5 (24F74) Kernel Version: Darwin 24.5.0 Time since boot: 28 days, 3 hours, 26 minutes Graphics/Displays: Apple M3 Max: Chipset Model: Apple M3 Max Type: GPU Bus: Built-In Total Number of Cores: 30 Vendor: Apple (0x106b) Metal Support: Metal 3 Displays: Color LCD: Display Type: Built-in Liquid Retina XDR Display Resolution: 3456 x 2234 Retina Main Display: Yes Mirror: Off Online: Yes Automatically Adjust Brightness: No Connection Type: Internal DELL P2422HE: Resolution: 1920 x 1080 (1080p FHD - Full High Definition) UI Looks like: 1920 x 1080 @ 60.00Hz Mirror: Off Online: Yes Rotation: Supported Installed Packages: alabaster: 1.0.0 appdirs: 1.4.4 appnope: 0.1.4 asttokens: 3.0.0 auditwheel: 6.4.0 babel: 2.17.0 beautifulsoup4: 4.13.3 blockdiag: 3.0.0 blosc2: 3.3.4 build: 1.2.2.post1 certifi: 2023.11.17 cftime: 1.6.4.post1 charset-normalizer: 3.4.2 ChimeraX-AddCharge: 1.5.18 ChimeraX-AddH: 2.2.7 ChimeraX-AlignmentAlgorithms: 2.0.2 ChimeraX-AlignmentHdrs: 3.6.1 ChimeraX-AlignmentMatrices: 2.1 ChimeraX-Alignments: 2.20.1 ChimeraX-AlphaFold: 1.0.1 ChimeraX-AltlocExplorer: 1.1.2 ChimeraX-AmberInfo: 1.0 ChimeraX-Aniso: 1.1.4 ChimeraX-Arrays: 1.1 ChimeraX-Atomic: 1.60.7 ChimeraX-AtomicLibrary: 14.1.18 ChimeraX-AtomSearch: 2.0.1 ChimeraX-AxesPlanes: 2.4 ChimeraX-BasicActions: 1.1.3 ChimeraX-BILD: 1.0 ChimeraX-BlastProtein: 3.0.0 ChimeraX-Boltz: 1.0 ChimeraX-BondRot: 2.0.4 ChimeraX-BugReporter: 1.0.2 ChimeraX-BuildStructure: 2.13.1 ChimeraX-Bumps: 1.0 ChimeraX-BundleBuilder: 1.5.1 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.5 ChimeraX-ChemGroup: 2.0.2 ChimeraX-Clashes: 2.3 ChimeraX-ColorActions: 1.0.5 ChimeraX-ColorGlobe: 1.0 ChimeraX-ColorKey: 1.5.8 ChimeraX-CommandLine: 1.3 ChimeraX-ConnectStructure: 2.0.1 ChimeraX-Contacts: 1.0.1 ChimeraX-Core: 1.10rc202505300032 ChimeraX-CoreFormats: 1.2 ChimeraX-coulombic: 1.4.5 ChimeraX-Crosslinks: 1.0 ChimeraX-Crystal: 1.0 ChimeraX-CrystalContacts: 1.0.1 ChimeraX-DataFormats: 1.2.4 ChimeraX-Dicom: 1.2.7 ChimeraX-DistMonitor: 1.4.2 ChimeraX-DockPrep: 1.1.4 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.1 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.6.2 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.2.1 ChimeraX-MCopy: 1.0 ChimeraX-MDcrds: 2.10.1 ChimeraX-MedicalToolbar: 1.1 ChimeraX-Meeting: 1.0.1 ChimeraX-MLP: 1.1.1 ChimeraX-mmCIF: 2.16 ChimeraX-MMTF: 2.2 ChimeraX-ModelArchive: 1.0 ChimeraX-Modeller: 1.5.19 ChimeraX-ModelPanel: 1.5.1 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.1 ChimeraX-OrthoPick: 1.0.1 ChimeraX-PDB: 2.7.10 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.3 ChimeraX-ProfileGrids: 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.3 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.3 ChimeraX-Segger: 1.0 ChimeraX-Segment: 1.0.1 ChimeraX-Segmentations: 3.5.7 ChimeraX-SelInspector: 1.0 ChimeraX-SeqView: 2.17.1 ChimeraX-Shape: 1.1 ChimeraX-Shell: 1.0.1 ChimeraX-Shortcuts: 1.2.1 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.19.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.2 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.45.1 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.5 ChimeraX-Zone: 1.0.1 colorama: 0.4.6 comm: 0.2.2 contourpy: 1.3.2 coverage: 7.8.2 cxservices: 1.2.3 cycler: 0.12.1 Cython: 3.0.12 debugpy: 1.8.14 decorator: 5.2.1 docutils: 0.21.2 executing: 2.2.0 filelock: 3.18.0 fonttools: 4.58.1 funcparserlib: 2.0.0a0 glfw: 2.9.0 grako: 3.16.5 h5py: 3.13.0 html2text: 2024.2.26 idna: 3.10 ihm: 2.2 imagecodecs: 2024.6.1 imagesize: 1.4.1 iniconfig: 2.1.0 ipykernel: 6.29.5 ipython: 8.26.0 ipywidgets: 8.1.7 jedi: 0.19.1 Jinja2: 3.1.6 jupyter_client: 8.6.3 jupyter_core: 5.8.1 jupyterlab_widgets: 3.0.15 kiwisolver: 1.4.8 line_profiler: 4.2.0 lxml: 5.3.1 lz4: 4.4.4 MarkupSafe: 3.0.2 matplotlib: 3.10.1 matplotlib-inline: 0.1.7 msgpack: 1.1.0 ndindex: 1.10.0 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 OpenMM: 8.2.0 openvr: 1.26.701 packaging: 24.2 ParmEd: 4.2.2 parso: 0.8.4 pep517: 0.13.1 pexpect: 4.9.0 pickleshare: 0.7.5 pillow: 10.4.0 pip: 25.0.1 pkginfo: 1.11.1 platformdirs: 4.3.8 pluggy: 1.6.0 prompt_toolkit: 3.0.51 psutil: 7.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.32 Pygments: 2.18.0 pynmrstar: 3.3.5 pynrrd: 1.0.0 PyOpenGL: 3.1.9 PyOpenGL-accelerate: 3.1.9 pyopenxr: 1.1.4501 pyparsing: 3.2.3 pyproject_hooks: 1.2.0 PyQt6-commercial: 6.8.1 PyQt6-Qt6: 6.8.2 PyQt6-WebEngine-commercial: 6.8.0 PyQt6-WebEngine-Qt6: 6.8.2 PyQt6_sip: 13.10.0 pytest: 8.3.5 pytest-cov: 6.1.1 python-dateutil: 2.9.0.post0 pytz: 2025.2 pyzmq: 26.4.0 qtconsole: 5.5.2 QtPy: 2.4.3 qtshim: 1.1 RandomWords: 0.4.0 requests: 2.32.3 roman-numerals-py: 3.1.0 scipy: 1.14.0 setuptools: 78.1.0 sfftk-rw: 0.8.1 six: 1.16.0 snowballstemmer: 3.0.1 sortedcontainers: 2.4.0 soupsieve: 2.7 Sphinx: 8.2.3 sphinx-autodoc-typehints: 3.1.0 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.7.1 tables: 3.10.2 tcia_utils: 1.5.1 tifffile: 2025.3.13 tinyarray: 1.2.4 tornado: 6.5.1 traitlets: 5.14.3 typing_extensions: 4.13.2 tzdata: 2025.2 urllib3: 2.4.0 wcwidth: 0.2.13 webcolors: 24.11.1 wheel: 0.45.1 wheel-filename: 1.4.2 widgetsnbextension: 4.0.14
Attachments (3)
Change History (12)
comment:1 by , 3 months ago
Component: | Unassigned → Structure Editing |
---|---|
Owner: | set to |
Platform: | → all |
Project: | → ChimeraX |
Status: | new → accepted |
Summary: | ChimeraX bug report submission → Incorrect ring pyridine protonation |
comment:2 by , 3 months ago
Status: | accepted → feedback |
---|
comment:3 by , 3 months ago
Hi Eric, Thanks for the quick response! Attached you'll find: 1. A pdb file that has a clipping of a compound (rings2.pdb). 2. A screenshot from v.1.7 3. A screenshot from v.1.10 For both versions, I just opened the pdb file and issued the addh command. Maybe I'm overlooking something? Keep me posted and thanks again, Jon On 7/9/25, 8:04 PM, "ChimeraX" <ChimeraX-bugs-admin@cgl.ucsf.edu <mailto:ChimeraX-bugs-admin@cgl.ucsf.edu>> wrote: #18158: Incorrect ring pyridine protonation ----------------------------------------+---------------------- Reporter: jonipsaro@… | Owner: pett Type: defect | Status: feedback Priority: normal | Milestone: Component: Structure Editing | Version: Resolution: | Keywords: Blocked By: | Blocking: Notify when closed: | Platform: all Project: ChimeraX | ----------------------------------------+---------------------- Changes (by pett): * status: accepted => feedback Comment: Hi Jon, I cannot reproduce this with the structures I've tried. For instance, niacin (open pubchem:938) does not get a proton on the ring nitrogen when hydrogens are added. Perhaps you could share a PubChem code, CCD identifier, or SMILES string that reproduces the problem? --Eric Eric Pettersen UCSF Computer Graphics Lab -- Ticket URL: <https://www.rbvi.ucsf.edu/trac/ChimeraX/ticket/18158#comment:2> <https://www.rbvi.ucsf.edu/trac/ChimeraX/ticket/18158#comment:2>> ChimeraX <https://www.rbvi.ucsf.edu/chimerax/> <https://www.rbvi.ucsf.edu/chimerax/>> ChimeraX Issue Tracker ________________________________ CONFIDENTIALITY NOTICE: This communication may contain privileged, confidential and/or sensitive information and is intended only for the party to whom it is addressed and for the stated purpose. If you are not its intended recipient, you are hereby notified that any disclosure, copying, distribution or taking action in relation to the contents of this communication is strictly prohibited and may be unlawful. If you have received this message in error, please notify the sender and then immediately delete it without reading its contents.
comment:4 by , 3 months ago
Status: | feedback → accepted |
---|
I find that with your structure, ChimeraX 1.10 sometimes adds a proton to the N and sometimes it doesn't (i.e. sometimes assigns it atom type N2 and sometimes Npl). Obviously that's a bug, but might explain why I had trouble reproducing the problem.
comment:5 by , 3 months ago
Thanks, Eric. Any recommendation for me? I can just use 1.7 unless you think there is something I can specify (either in the PDB file or in ChimeraX). Jon \ufeffOn 7/10/25, 2:37 PM, "ChimeraX" <ChimeraX-bugs-admin@cgl.ucsf.edu <mailto:ChimeraX-bugs-admin@cgl.ucsf.edu>> wrote: #18158: Incorrect ring pyridine protonation ----------------------------------------+---------------------- Reporter: jonipsaro@\u2026 | Owner: pett Type: defect | Status: accepted Priority: normal | Milestone: Component: Structure Editing | Version: Resolution: | Keywords: Blocked By: | Blocking: Notify when closed: | Platform: all Project: ChimeraX | ----------------------------------------+---------------------- Changes (by pett): * status: feedback => accepted Comment: I find that with your structure, ChimeraX 1.10 sometimes adds a proton to the N and sometimes it doesn't (i.e. sometimes assigns it atom type N2 and sometimes Npl). Obviously that's a bug, but might explain why I had trouble reproducing the problem. -- Ticket URL: <https://www.rbvi.ucsf.edu/trac/ChimeraX/ticket/18158#comment:4> <https://www.rbvi.ucsf.edu/trac/ChimeraX/ticket/18158#comment:4>> ChimeraX <https://www.rbvi.ucsf.edu/chimerax/> <https://www.rbvi.ucsf.edu/chimerax/>> ChimeraX Issue Tracker ________________________________ CONFIDENTIALITY NOTICE: This communication may contain privileged, confidential and/or sensitive information and is intended only for the party to whom it is addressed and for the stated purpose. If you are not its intended recipient, you are hereby notified that any disclosure, copying, distribution or taking action in relation to the contents of this communication is strictly prohibited and may be unlawful. If you have received this message in error, please notify the sender and then immediately delete it without reading its contents.
comment:6 by , 3 months ago
I'm investigating it right now, but you can force the correct protonation by selecting the ring nitrogen and then issuing the command "setattr sel a idatm_type N2" before adding hydrogens.
comment:7 by , 3 months ago
Awesome. Thanks for the tip! \ufeffOn 7/10/25, 3:52 PM, "ChimeraX" <ChimeraX-bugs-admin@cgl.ucsf.edu <mailto:ChimeraX-bugs-admin@cgl.ucsf.edu>> wrote: #18158: Incorrect ring pyridine protonation ----------------------------------------+---------------------- Reporter: jonipsaro@\u2026 | Owner: pett Type: defect | Status: accepted Priority: normal | Milestone: Component: Structure Editing | Version: Resolution: | Keywords: Blocked By: | Blocking: Notify when closed: | Platform: all Project: ChimeraX | ----------------------------------------+---------------------- Comment (by pett): I'm investigating it right now, but you can force the correct protonation by selecting the ring nitrogen and then issuing the command "setattr sel a idatm_type N2" before adding hydrogens. -- Ticket URL: <https://www.rbvi.ucsf.edu/trac/ChimeraX/ticket/18158#comment:6> <https://www.rbvi.ucsf.edu/trac/ChimeraX/ticket/18158#comment:6>> ChimeraX <https://www.rbvi.ucsf.edu/chimerax/> <https://www.rbvi.ucsf.edu/chimerax/>> ChimeraX Issue Tracker ________________________________ CONFIDENTIALITY NOTICE: This communication may contain privileged, confidential and/or sensitive information and is intended only for the party to whom it is addressed and for the stated purpose. If you are not its intended recipient, you are hereby notified that any disclosure, copying, distribution or taking action in relation to the contents of this communication is strictly prohibited and may be unlawful. If you have received this message in error, please notify the sender and then immediately delete it without reading its contents.
comment:8 by , 3 months ago
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
Fixed. Fix will be in tomorrow's daily build and in the upcoming 1.10.1 release (which might be a week or two).
Fix: https://github.com/RBVI/ChimeraX/commit/e52e03672a827a868342ca8326d128705094ebdf
comment:9 by , 3 months ago
Awesome. Speedy work! Appreciate it. Jon \ufeffOn 7/10/25, 4:48 PM, "ChimeraX" <ChimeraX-bugs-admin@cgl.ucsf.edu <mailto:ChimeraX-bugs-admin@cgl.ucsf.edu>> wrote: #18158: Incorrect ring pyridine protonation ----------------------------------------+-------------------- Reporter: jonipsaro@\u2026 | Owner: pett Type: defect | Status: closed Priority: normal | Milestone: Component: Structure Editing | Version: Resolution: fixed | Keywords: Blocked By: | Blocking: Notify when closed: | Platform: all Project: ChimeraX | ----------------------------------------+-------------------- Changes (by pett): * resolution: => fixed * status: accepted => closed Comment: Fixed. Fix will be in tomorrow's daily build and in the upcoming 1.10.1 release (which might be a week or two). Fix: https://github.com/RBVI/ChimeraX/commit/e52e03672a827a868342ca8326d128705094ebdf <https://github.com/RBVI/ChimeraX/commit/e52e03672a827a868342ca8326d128705094ebdf> -- Ticket URL: <https://www.rbvi.ucsf.edu/trac/ChimeraX/ticket/18158#comment:8> <https://www.rbvi.ucsf.edu/trac/ChimeraX/ticket/18158#comment:8>> ChimeraX <https://www.rbvi.ucsf.edu/chimerax/> <https://www.rbvi.ucsf.edu/chimerax/>> ChimeraX Issue Tracker ________________________________ CONFIDENTIALITY NOTICE: This communication may contain privileged, confidential and/or sensitive information and is intended only for the party to whom it is addressed and for the stated purpose. If you are not its intended recipient, you are hereby notified that any disclosure, copying, distribution or taking action in relation to the contents of this communication is strictly prohibited and may be unlawful. If you have received this message in error, please notify the sender and then immediately delete it without reading its contents.
Hi Jon,
--Eric