Opened 19 months ago

Closed 18 months ago

Last modified 18 months ago

#14836 closed defect (fixed)

Residue addition problem

Reported by: Tristan Croll 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:        Windows-10-10.0.22631
ChimeraX Version: 1.8.dev202403220040 (2024-03-22 00:40:30 UTC)
Description
Looks like something has changed in the way residue addition is handled, breaking ISOLDE's "isolde add aa" command (aliased as simply "aa {residue ID}" here). The new residues are going in with garbled (and contradictory) order...

The residue that triggered the traceback was added to the model, but in a somewhat bizarre location well away from the others. After deleting that, if I select the two new residues and the two preceding, then do in the log:

m = session.isolde.selected_model
from chimerax.atomic import selected_residues
m.residues.indices(selected_residues(session))
    array([55, 56, 59, 58])
m.atoms.selecteds=False
m.residues[57].atoms.selected=True
m.residues.indices(selected_residues(session))
    array([58])
... so the last added residue is somehow both index 57 and 58 in `m.residues`

For what it's worth, the code I'm using to add the residues is at https://github.com/tristanic/isolde/blob/ead1b3f7d64869b42efe9b6f2720675656d720e1/isolde/src/atomic/building/build_utils.py#L131 (which calls https://github.com/tristanic/isolde/blob/ead1b3f7d64869b42efe9b6f2720675656d720e1/isolde/src/atomic/building/place_ligand.py#L159 to add the new residue).

As far as I can tell, this seems to work correctly in ChimeraX 1.7.

Log:
> isolde shorthand
    
    
    Initialising ISOLDE-specific command aliases:
    Alias	Equivalent full command
    -------------------------------------------------
    st	isolde step {arguments}
    aw	isolde add water {arguments}
    awsf	isolde add water {arguments} sim false
    al	isolde add ligand {arguments}
    aa	isolde add aa $1 sel {arguments}
    ht	isolde mod his sel {arguments}
    so	setattr sel atoms occupancy {arguments}
    ab	isolde adjust bfactors {arguments}
    ss	isolde sim start sel
    rt	isolde release torsions sel {arguments}
    rd	isolde release distances sel {arguments}
    ra	rd; rt
    pf	isolde pepflip sel
    cf	isolde cisflip sel
    cbb	color bfactor {arguments}
    cbo	color byattr occupancy {arguments}
    cbc	color {arguments} bychain; color {arguments} byhet
    cs	clipper set contourSensitivity {arguments}
    

  
UCSF ChimeraX version: 1.8.dev202403220040 (2024-03-22)  
© 2016-2024 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open 6zp4

Summary of feedback from opening 6zp4 fetched from pdb  
---  
note | Fetching compressed mmCIF 6zp4 from http://files.rcsb.org/download/6zp4.cif  
  
6zp4 title:  
SARS-CoV-2 Nsp1 bound to a human 43S preinitiation ribosome complex - state 2
[more info...]  
  
Chain information for 6zp4 #1  
---  
Chain | Description | UniProt  
1 | tRNA |   
2 | 18S ribosomal RNA |   
4 | Eukaryotic translation initiation factor 2 subunit 2 | IF2B_HUMAN 1-333  
A | Eukaryotic translation initiation factor 3 subunit A | EIF3A_HUMAN 1-1406  
B | Eukaryotic translation initiation factor 3 subunit B | EIF3B_HUMAN 1-814  
C | Eukaryotic translation initiation factor 3 subunit C | EIF3C_HUMAN 1-913  
D | 40S ribosomal protein S15a | RS15A_HUMAN 1-130  
E | Eukaryotic translation initiation factor 3 subunit E | EIF3E_HUMAN 1-445  
F | Eukaryotic translation initiation factor 3 subunit F | EIF3F_HUMAN 1-357  
G | Eukaryotic translation initiation factor 1A, X-chromosomal | IF1AX_HUMAN 1-144  
H | Eukaryotic translation initiation factor 3 subunit H | EIF3H_HUMAN 1-352  
I | Eukaryotic translation initiation factor 3 subunit I | EIF3I_HUMAN 1-325  
J | Non-structural protein 1 | R1AB_SARS2 1-180  
K | Eukaryotic translation initiation factor 3 subunit K | EIF3K_HUMAN 1-218  
L | Eukaryotic translation initiation factor 3 subunit L | EIF3L_HUMAN 1-564  
M | Eukaryotic translation initiation factor 3 subunit M | EIF3M_HUMAN 1-374  
N | Eukaryotic translation initiation factor 3 subunit D | EIF3D_HUMAN 1-548  
O | Eukaryotic translation initiation factor 2 subunit 1 | IF2A_HUMAN 0-314  
P | 40S ribosomal protein S25 | RS25_HUMAN 1-125  
Q | 40S ribosomal protein S26 | RS26_HUMAN 1-115  
R | 40S ribosomal protein S27 | RS27_HUMAN 1-84  
S | 40S ribosomal protein S28 | RS28_HUMAN 1-69  
T | 40S ribosomal protein S30 | RS30_HUMAN 1-59  
U | Ubiquitin-40S ribosomal protein S27a | RS27A_HUMAN 1-156  
V | Receptor of activated protein C kinase 1 | RACK1_HUMAN 1-317  
W | 60S ribosomal protein L41 | RL41_HUMAN 1-25  
X | Unknown factor |   
Y | Eukaryotic translation initiation factor 2 subunit 3 | IF2G_HUMAN 1-472  
Z | Eukaryotic translation initiation factor 1 | EIF1_HUMAN 1-113  
a | 40S ribosomal protein SA | RSSA_HUMAN 1-295  
b | 40S ribosomal protein S3 | RS3_HUMAN 1-243  
c | 40S ribosomal protein S9 | RS9_HUMAN 1-194  
d | 40S ribosomal protein S2 | RS2_HUMAN 1-293  
e | 40S ribosomal protein S5 | RS5_HUMAN 1-204  
g | 40S ribosomal protein S16 | RS16_HUMAN 1-146  
h | 40S ribosomal protein S20 | RS20_HUMAN 1-119  
i | 40S ribosomal protein S14 | RS14_HUMAN 1-151  
j | 40S ribosomal protein S23 | RS23_HUMAN 1-143  
k | 40S ribosomal protein S18 | RS18_HUMAN 1-152  
l | 40S ribosomal protein S29 | RS29_HUMAN 1-56  
m | 40S ribosomal protein S13 | RS13_HUMAN 1-151  
n | 40S ribosomal protein S11 | RS11_HUMAN 1-158  
o | 40S ribosomal protein S15 | RS15_HUMAN 1-145  
p | 40S ribosomal protein S3a | RS3A_HUMAN 1-264  
q | 40S ribosomal protein S4, X isoform | RS4X_HUMAN 1-263  
r | 40S ribosomal protein S6 | RS6_HUMAN 1-249  
s | 40S ribosomal protein S7 | RS7_HUMAN 1-194  
t | 40S ribosomal protein S8 | RS8_HUMAN 1-208  
u | 40S ribosomal protein S10 | RS10_HUMAN 1-165  
v | 40S ribosomal protein S12 | RS12_HUMAN 1-132  
w | 40S ribosomal protein S17 | RS17_HUMAN 1-135  
x | 40S ribosomal protein S19 | RS19_HUMAN 1-145  
y | 40S ribosomal protein S21 | RS21_HUMAN 1-83  
z | 40S ribosomal protein S24 | RS24_HUMAN 1-133  
  
Non-standard residues in 6zp4 #1  
---  
GTP — guanosine-5'-triphosphate  
MG — magnesium ion  
ZN — zinc ion  
  

> view :GTP

> clipper init

> cofr centerOfView showPivot true

> camera ortho

> lighting simple

> cartoon

> style stick

Changed 117784 atom styles  

> color byhetero

> log metadata #1

Metadata for 6zp4 #1  
---  
Title | SARS-CoV-2 Nsp1 bound to a human 43S preinitiation ribosome complex - state 2  
Citation | Thoms, M., Buschauer, R., Ameismeier, M., Koepke, L., Denk, T., Hirschenberger, M., Kratzat, H., Hayn, M., Mackens-Kiani, T., Cheng, J., Straub, J.H., Sturzel, C.M., Frohlich, T., Berninghausen, O., Becker, T., Kirchhoff, F., Sparrer, K.M.J., Beckmann, R. (2020). Structural basis for translational shutdown and immune evasion by the Nsp1 protein of SARS-CoV-2. Science, 369, 1249-1255. PMID: 32680882. DOI: 10.1126/science.abc8665  
Non-standard residues | GTP — guanosine-5'-triphosphate  
MG — magnesium ion  
ZN — zinc ion  
Sources (natural) | Severe acute respiratory syndrome coronavirus 2 (2019-ncov)  
Homo sapiens (human)  
CryoEM Map | EMDB 11335 — open map  
Experimental method | Electron microscopy  
Resolution | 2.9Å  
  
> open 11335 fromDatabase emdb

Summary of feedback from opening 11335 fetched from emdb  
---  
notes | Fetching compressed map 11335 from ftp://ftp.ebi.ac.uk/pub/databases/emdb/structures/EMD-11335/map/emd_11335.map.gz  
Fetching map header 11335 from
ftp://ftp.ebi.ac.uk/pub/databases/emdb/structures/EMD-11335/header/emd-11335.xml  
  
Opened emdb 11335 as #2, grid size 360,360,360, pixel 1.06, shown at level
0.03, step 2, values float32, fit PDB 6zp4  

> volume #2 step 1

> volume #2 level 0.0434

> close

> cd "C:/Users/Tristan Croll/Documents/Structures/anti-
> isrib/8qzz_eif2_gamma_gtp"

Current working directory is: C:\Users\Tristan
Croll\Documents\Structures\anti-isrib\8qzz_eif2_gamma_gtp  

> open "C:/Users/Tristan Croll/Documents/Structures/anti-
> isrib/8qzz_eif2_gamma_gtp/8qzz_partial_rebuild.pdb"

Chain information for 8qzz_partial_rebuild.pdb #1  
---  
Chain | Description  
A | No description available  
B | No description available  
C | No description available  
  

> open "C:/Users/Tristan Croll/Downloads/ChimeraX/PDB-SF/8qzz-sf.cif"

Summary of feedback from opening C:/Users/Tristan
Croll/Downloads/ChimeraX/PDB-SF/8qzz-sf.cif  
---  
warning | No mmCIF models found.  
  

> clipper open "C:/Users/Tristan Croll/Downloads/ChimeraX/PDB-SF/8qzz-sf.cif"
> structureModel #1 overSampling 2.5

Resolution: 3.350277671680785  

WARNING: multiple experimental reflection datasets found:  
F_meas_au, F_meas_sigma_au,  
pdbx_F_plus, pdbx_F_plus_sigma, pdbx_F_minus, pdbx_F_minus_sigma,  
pdbx_anom_difference, pdbx_anom_difference_sigma,  
intensity_meas, intensity_sigma,  
pdbx_I_plus, pdbx_I_plus_sigma, pdbx_I_minus, pdbx_I_minus_sigma  
Automatically choosing "F_meas_au, F_meas_sigma_au".  

Launching live xmap mgr took 1.2190792560577393 seconds.  
Opened (LIVE) 2mFo-DFc as #1.1.1.2, grid size 38,38,38, pixel 0.67,0.67,0.659,
shown at level 0.0823, step 1, values float32  
Opened (LIVE) mFo-DFc as #1.1.1.3, grid size 38,38,38, pixel 0.67,0.67,0.659,
shown at level -0.0658,0.0658, step 1, values float32  
Opened (LIVE) 2mFo-DFc_sharp_39 as #1.1.1.4, grid size 38,38,38, pixel
0.67,0.67,0.659, shown at level 0.267, step 1, values float32  
Chain information for 8qzz_partial_rebuild.pdb  
---  
Chain | Description  
1.2/A | No description available  
1.2/B | No description available  
1.2/C | No description available  
  

> isolde start

> set selectionWidth 4

ISOLDE: Checking and correcting nomenclature for (pseudo)symmetric side
chains...  
Opened (LIVE) MDFF potential as #1.1.1.5, grid size 38,38,38, pixel
0.67,0.67,0.659, shown at level 0.237, step 1, values float32  
Done loading forcefield  

> isolde set simFidelityMode Highest/Slowest

ISOLDE: setting sim fidelity mode to Highest/Slowest  
nonbonded_cutoff_distance = 1.700000  
use_gbsa = True  
gbsa_cutoff = 2.000000  

> save working.cxs

> st

> select #1

8498 atoms, 8564 bonds, 3 pseudobonds, 556 residues, 28 models selected  

> isolde sim start /A-C

Loading residue template for GNP from internal database  
ISOLDE: started sim  

> select clear

> isolde pepflip /A:11

> st

[Repeated 1 time(s)]

> isolde sim pause

> st

[Repeated 17 time(s)]

> isolde sim resume

> isolde sim pause

> st

[Repeated 8 time(s)]

> isolde sim resume

> isolde sim pause

> isolde sim resume

> isolde pepflip /A:334

> isolde sim pause

> isolde sim resume

> isolde sim pause

> isolde sim resume

> isolde pepflip /A:151

> isolde sim pause

> isolde sim resume

> isolde pepflip /A:334

> isolde sim pause

> isolde sim resume

> isolde sim pause

> isolde sim resume

> isolde sim pause

> st

[Repeated 2 time(s)]

> select clear

> isolde sim resume

> isolde sim pause

> isolde sim resume

> isolde sim pause

> isolde sim resume

> isolde sim pause

> isolde sim resume

> isolde sim pause

> st

[Repeated 3 time(s)]

> isolde sim stop

Sim termination reason: None  
Updating bulk solvent parameters...  
ISOLDE: Checking and correcting nomenclature for (pseudo)symmetric side
chains...  
ISOLDE: Corrected atom nomenclature of 8 residues in model #1.2 to IUPAC-IUB
standards.  
ISOLDE: stopped sim  

> al MG

> select #1

8499 atoms, 8564 bonds, 3 pseudobonds, 557 residues, 34 models selected  

> isolde sim start /A-C

ISOLDE: started sim  

> select clear

> isolde sim stop discardTo start

Sim termination reason: None  
reverting to start  
Updating bulk solvent parameters...  
ISOLDE: Checking and correcting nomenclature for (pseudo)symmetric side
chains...  
ISOLDE: stopped sim  

> delete sel

> aw

> isolde sim start /A:502

ISOLDE: started sim  

> isolde sim stop discardTo start

Sim termination reason: None  
reverting to start  
Updating bulk solvent parameters...  
ISOLDE: Checking and correcting nomenclature for (pseudo)symmetric side
chains...  
ISOLDE: stopped sim  

> delete sel

> st

> select #1

8498 atoms, 8564 bonds, 3 pseudobonds, 556 residues, 34 models selected  

> isolde sim start /A-C

ISOLDE: started sim  

> select clear

> isolde sim pause

> isolde sim resume

> isolde sim pause

> st

[Repeated 16 time(s)]

> isolde sim resume

> isolde pepflip /A:65

> isolde sim stop

Sim termination reason: None  
Updating bulk solvent parameters...  
ISOLDE: Checking and correcting nomenclature for (pseudo)symmetric side
chains...  
ISOLDE: Corrected atom nomenclature of 2 residues in model #1.2 to IUPAC-IUB
standards.  
ISOLDE: stopped sim  

> sequence chain #1/A

Alignment identifier is 1.2/A  

> alphafold match #1 trim false

Fetching compressed AlphaFold A0A6I9J801 from
https://alphafold.ebi.ac.uk/files/AF-A0A6I9J801-F1-model_v4.cif  
Fetching compressed AlphaFold G3QTZ7 from
https://alphafold.ebi.ac.uk/files/AF-G3QTZ7-F1-model_v4.cif  
3 AlphaFold models found using sequence similarity searches: A0A6I9J801 (chain
A), A0A096NVP0 (chain B), G3QTZ7 (chain C)  
AlphaFold prediction matching 8qzz_partial_rebuild.pdb  
---  
Chain| UniProt Id| UniProt Name| RMSD| Length| Seen| % Id  
B | A0A096NVP0 | A0A096NVP0_PAPAN | 0.99 | 315 | 113 | 100   
A | A0A6I9J801 | A0A6I9J801_CHRAS | 1.86 | 472 | 433 | 100   
C | G3QTZ7 | G3QTZ7_GORGO | 2.21 | 682 | 9 | 100   
  
Opened 3 AlphaFold models  

> hide #!2 models

> aa VAL

> isolde sim start #1.2/A:67

ISOLDE: started sim  

> isolde pepflip #1.2/A:67

[Repeated 1 time(s)]

> isolde pepflip #1.2/A:66

[Repeated 2 time(s)]

> isolde sim stop

Sim termination reason: None  
Updating bulk solvent parameters...  
ISOLDE: Checking and correcting nomenclature for (pseudo)symmetric side
chains...  
ISOLDE: stopped sim  

> select clear

> aa ARG

> isolde sim start #1.2/A:65,68,134

ISOLDE: started sim  

> isolde sim stop

Sim termination reason: None  
Updating bulk solvent parameters...  
ISOLDE: Checking and correcting nomenclature for (pseudo)symmetric side
chains...  
ISOLDE: stopped sim  

> aa PHE

Traceback (most recent call last):  
File "C:\Program Files\ChimeraX-daily\bin\Lib\site-
packages\chimerax\cmd_line\tool.py", line 319, in execute  
cmd.run(cmd_text)  
File "C:\Program Files\ChimeraX-daily\bin\Lib\site-
packages\chimerax\core\commands\cli.py", line 2925, in run  
result = ci.function(session, *args, optional=optional,  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX-daily\bin\Lib\site-
packages\chimerax\core\commands\cli.py", line 3464, in __call__  
return self.cmd.run(text, _used_aliases=_used_aliases, log=log)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX-daily\bin\Lib\site-
packages\chimerax\core\commands\cli.py", line 2904, in run  
result = ci.function(session, **kw_args)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Users\Tristan Croll\AppData\Local\UCSF\ChimeraX\1.8\Python311\site-
packages\chimerax\isolde\atomic\building\cmd.py", line 132, in add_aa_cmd  
add_amino_acid_residue(structure, resname.upper(), prev_res=prev_res,
next_res=next_res,  
File "C:\Users\Tristan Croll\AppData\Local\UCSF\ChimeraX\1.8\Python311\site-
packages\chimerax\isolde\atomic\building\build_utils.py", line 210, in
add_amino_acid_residue  
add_bond(r.find_atom('N'), prev_res.find_atom('C'))  
File "C:\Program Files\ChimeraX-daily\bin\Lib\site-
packages\chimerax\atomic\struct_edit.py", line 242, in add_bond  
a1.structure.reorder_residues(new_residues)  
File "C:\Program Files\ChimeraX-daily\bin\Lib\site-
packages\chimerax\atomic\molobject.py", line 1940, in reorder_residues  
f(self._c_pointer, [r._c_pointer.value for r in new_order])  
TypeError: Duplicate residue in new residue order  
  
TypeError: Duplicate residue in new residue order  
  
File "C:\Program Files\ChimeraX-daily\bin\Lib\site-
packages\chimerax\atomic\molobject.py", line 1940, in reorder_residues  
f(self._c_pointer, [r._c_pointer.value for r in new_order])  
  
See log for complete Python traceback.  
  

> select up

20 atoms, 20 bonds, 1 residue, 1 model selected  

> delete sel

> sequence chain #1/A

Alignment identifier is 1.2/A  

> st

> sequence chain #1/A

Destroying pre-existing alignment with identifier 1.2/A  
Alignment identifier is 1.2/A  

> sequence chain #2/A

Alignment identifier is 2.1/A  

> cartoon #1

> ui tool show Shell

0.00s - Debugger warning: It seems that frozen modules are being used, which
may  
0.00s - make the debugger miss breakpoints. Please pass -Xfrozen_modules=off  
0.00s - to python to disable frozen modules.  
0.00s - Note: Debugging will proceed. Set PYDEVD_DISABLE_FILE_VALIDATION=1 to
disable this validation.  

> select clear




OpenGL version: 3.3.0 NVIDIA 529.19
OpenGL renderer: NVIDIA GeForce RTX 3070 Laptop GPU/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation

Python: 3.11.4
Locale: en_GB.cp1252
Qt version: PyQt6 6.6.1, Qt 6.6.1
Qt runtime version: 6.6.2
Qt platform: windows

Manufacturer: HP
Model: HP ZBook Studio 15.6 inch G8 Mobile Workstation PC
OS: Microsoft Windows 11 Pro (Build 22631)
Memory: 34,007,068,672
MaxProcessMemory: 137,438,953,344
CPU: 16 11th Gen Intel(R) Core(TM) i7-11800H @ 2.30GHz
OSLanguage: en-GB

Installed Packages:
    alabaster: 0.7.16
    appdirs: 1.4.4
    asttokens: 2.4.1
    Babel: 2.14.0
    beautifulsoup4: 4.12.3
    blockdiag: 3.0.0
    blosc2: 2.5.1
    build: 1.1.1
    certifi: 2024.2.2
    cftime: 1.6.3
    charset-normalizer: 3.3.2
    ChimeraX-AddCharge: 1.5.16
    ChimeraX-AddH: 2.2.5
    ChimeraX-AlignmentAlgorithms: 2.0.1
    ChimeraX-AlignmentHdrs: 3.4.3
    ChimeraX-AlignmentMatrices: 2.1
    ChimeraX-Alignments: 2.12.5
    ChimeraX-AlphaFold: 1.0
    ChimeraX-AltlocExplorer: 1.1.1
    ChimeraX-AmberInfo: 1.0
    ChimeraX-Arrays: 1.1
    ChimeraX-Atomic: 1.56
    ChimeraX-AtomicLibrary: 14.0.2
    ChimeraX-AtomSearch: 2.0.1
    ChimeraX-AxesPlanes: 2.4
    ChimeraX-BasicActions: 1.1.2
    ChimeraX-BILD: 1.0
    ChimeraX-BlastProtein: 2.1.2
    ChimeraX-BondRot: 2.0.4
    ChimeraX-BugReporter: 1.0.1
    ChimeraX-BuildStructure: 2.12.1
    ChimeraX-Bumps: 1.0
    ChimeraX-BundleBuilder: 1.2.2
    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.2.4
    ChimeraX-Clipper: 0.23.0
    ChimeraX-ColorActions: 1.0.3
    ChimeraX-ColorGlobe: 1.0
    ChimeraX-ColorKey: 1.5.5
    ChimeraX-CommandLine: 1.2.5
    ChimeraX-ConnectStructure: 2.0.1
    ChimeraX-Contacts: 1.0.1
    ChimeraX-Core: 1.8.dev202403220040
    ChimeraX-CoreFormats: 1.2
    ChimeraX-coulombic: 1.4.3
    ChimeraX-Crosslinks: 1.0
    ChimeraX-Crystal: 1.0
    ChimeraX-CrystalContacts: 1.0.1
    ChimeraX-DataFormats: 1.2.3
    ChimeraX-Dicom: 1.2
    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.1.1
    ChimeraX-Hbonds: 2.4
    ChimeraX-Help: 1.2.2
    ChimeraX-HKCage: 1.3
    ChimeraX-IHM: 1.1
    ChimeraX-ImageFormats: 1.2
    ChimeraX-IMOD: 1.0
    ChimeraX-IO: 1.0.1
    ChimeraX-ISOLDE: 1.8.dev0
    ChimeraX-ItemsInspection: 1.0.1
    ChimeraX-IUPAC: 1.0
    ChimeraX-Label: 1.1.9
    ChimeraX-ListInfo: 1.2.2
    ChimeraX-Log: 1.1.6
    ChimeraX-LookingGlass: 1.1
    ChimeraX-Maestro: 1.9.1
    ChimeraX-Map: 1.1.4
    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.3
    ChimeraX-MCopy: 1.0
    ChimeraX-MDcrds: 2.7
    ChimeraX-MedicalToolbar: 1.0.2
    ChimeraX-Meeting: 1.0.1
    ChimeraX-MLP: 1.1.1
    ChimeraX-mmCIF: 2.14
    ChimeraX-MMTF: 2.2
    ChimeraX-Modeller: 1.5.15
    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-Neuron: 1.0
    ChimeraX-Nifti: 1.1
    ChimeraX-NMRSTAR: 1.0.2
    ChimeraX-NRRD: 1.1
    ChimeraX-Nucleotides: 2.0.3
    ChimeraX-OpenCommand: 1.13.3
    ChimeraX-PDB: 2.7.5
    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.1
    ChimeraX-PubChem: 2.1
    ChimeraX-ReadPbonds: 1.0.1
    ChimeraX-Registration: 1.1.2
    ChimeraX-RemoteControl: 1.0
    ChimeraX-RenderByAttr: 1.3
    ChimeraX-RenumberResidues: 1.1
    ChimeraX-ResidueFit: 1.0.1
    ChimeraX-RestServer: 1.2
    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: 1.0
    ChimeraX-SelInspector: 1.0
    ChimeraX-SeqView: 2.11.2
    ChimeraX-Shape: 1.0.1
    ChimeraX-Shell: 1.0.1
    ChimeraX-Shortcuts: 1.1.1
    ChimeraX-ShowSequences: 1.0.3
    ChimeraX-SideView: 1.0.1
    ChimeraX-Smiles: 2.1.2
    ChimeraX-SmoothLines: 1.0
    ChimeraX-SpaceNavigator: 1.0
    ChimeraX-StdCommands: 1.16.3
    ChimeraX-STL: 1.0.1
    ChimeraX-Storm: 1.0
    ChimeraX-StructMeasure: 1.2
    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.1.2
    ChimeraX-ToolshedUtils: 1.2.4
    ChimeraX-Topography: 1.0
    ChimeraX-ToQuest: 1.0
    ChimeraX-Tug: 1.0.1
    ChimeraX-UI: 1.37.1
    ChimeraX-uniprot: 2.3
    ChimeraX-UnitCell: 1.0.1
    ChimeraX-ViewDockX: 1.3.2
    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.3
    ChimeraX-Zone: 1.0.1
    colorama: 0.4.6
    comm: 0.2.2
    comtypes: 1.3.1
    contourpy: 1.2.0
    cxservices: 1.2.2
    cycler: 0.12.1
    Cython: 3.0.9
    debugpy: 1.8.1
    decorator: 5.1.1
    docutils: 0.20.1
    executing: 2.0.1
    filelock: 3.13.1
    fonttools: 4.50.0
    funcparserlib: 2.0.0a0
    glfw: 2.7.0
    grako: 3.16.5
    h5py: 3.10.0
    html2text: 2024.2.26
    idna: 3.6
    ihm: 0.43
    imagecodecs: 2024.1.1
    imagesize: 1.4.1
    ipykernel: 6.29.2
    ipython: 8.21.0
    ipywidgets: 8.1.2
    jedi: 0.19.1
    Jinja2: 3.1.3
    jupyter-client: 8.6.0
    jupyter-core: 5.7.2
    jupyterlab-widgets: 3.0.10
    kiwisolver: 1.4.5
    line-profiler: 4.1.2
    lxml: 5.1.0
    lz4: 4.3.3
    MarkupSafe: 2.1.5
    matplotlib: 3.8.3
    matplotlib-inline: 0.1.6
    msgpack: 1.0.8
    ndindex: 1.8
    nest-asyncio: 1.6.0
    netCDF4: 1.6.5
    networkx: 3.2.1
    nibabel: 5.0.1
    nptyping: 2.5.0
    numexpr: 2.9.0
    numpy: 1.26.4
    openvr: 1.26.701
    packaging: 24.0
    ParmEd: 4.2.2
    parso: 0.8.3
    pep517: 0.13.1
    pillow: 10.2.0
    pip: 24.0
    pkginfo: 1.10.0
    platformdirs: 4.2.0
    prompt-toolkit: 3.0.43
    psutil: 5.9.8
    pure-eval: 0.2.2
    py-cpuinfo: 9.0.0
    pycollada: 0.8
    pydicom: 2.3.0
    pygments: 2.17.2
    pynmrstar: 3.3.4
    pynrrd: 1.0.0
    PyOpenGL: 3.1.7
    PyOpenGL-accelerate: 3.1.7
    pyopenxr: 1.0.3302
    pyparsing: 3.1.2
    pyproject-hooks: 1.0.0
    PyQt6-commercial: 6.6.1
    PyQt6-Qt6: 6.6.2
    PyQt6-sip: 13.6.0
    PyQt6-WebEngine-commercial: 6.6.0
    PyQt6-WebEngine-Qt6: 6.6.2
    python-dateutil: 2.9.0.post0
    pytz: 2024.1
    pywin32: 306
    pyzmq: 25.1.2
    qtconsole: 5.5.1
    QtPy: 2.4.1
    RandomWords: 0.4.0
    requests: 2.31.0
    scipy: 1.12.0
    setuptools: 69.2.0
    sfftk-rw: 0.8.1
    six: 1.16.0
    snowballstemmer: 2.2.0
    sortedcontainers: 2.4.0
    soupsieve: 2.5
    sphinx: 7.2.6
    sphinx-autodoc-typehints: 2.0.0
    sphinxcontrib-applehelp: 1.0.8
    sphinxcontrib-blockdiag: 3.0.0
    sphinxcontrib-devhelp: 1.0.6
    sphinxcontrib-htmlhelp: 2.0.5
    sphinxcontrib-jsmath: 1.0.1
    sphinxcontrib-qthelp: 1.0.7
    sphinxcontrib-serializinghtml: 1.1.10
    stack-data: 0.6.3
    superqt: 0.6.1
    tables: 3.9.2
    tcia-utils: 1.5.1
    tifffile: 2024.1.30
    tinyarray: 1.2.4
    tornado: 6.4
    traitlets: 5.14.1
    typing-extensions: 4.10.0
    tzdata: 2024.1
    urllib3: 2.2.1
    wcwidth: 0.2.13
    webcolors: 1.13
    wheel: 0.43.0
    wheel-filename: 1.4.1
    widgetsnbextension: 4.0.10
    WMI: 1.5.1

Change History (12)

comment:1 by Tristan Croll, 19 months ago

... and (not particularly surprisingly) deleting the double-counted residue
kills ChimeraX with a segmentation fault.

On Wed, Mar 27, 2024 at 1:20 PM ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
wrote:

>

comment:2 by Eric Pettersen, 19 months ago

Component: UnassignedStructure Editing
Owner: set to Eric Pettersen
Platform: all
Project: ChimeraX
Status: newaccepted
Summary: ChimeraX bug report submissionResidue addition problem

There definitely have been some intricate additions to residue addition that could be to blame.

comment:3 by Eric Pettersen, 18 months ago

Status: acceptedfeedback

Hi Tristan,

Though I have no doubt this is a real problem, I think I'm going to need a straightforward recipe to reproduce it. If I open 1gcn and select residue 29 and then "isolde add aa VAL sel" and then select the new valine and "isolde add aa PHE sel", there are no errors. If I then examine structure.residues and chain.residues, they both look fine.
Maybe some kind of recipe where you open a structure and issue a series of commands that result in the error or in the bad residue order...?

--Eric

comment:4 by Tristan Croll, 18 months ago

Sorry for the slow response - things got a bit piled up and I missed this.
This seems reproducible to me:

open 8qzz
sel /A:66
isolde add aa VAL sel
sel /A:80;#other end of the gap
isolde add aa ILE sel;#Things seem to start going off the rails here -
cartoon doesn't go through the first VAL any more, gap pseudobond connects
to 66 rather than 66
sel /A:67
isolde add aa ARG sel;#Things get *really* messy here - residues 67-68
appear to be starting their own chain with a different cartoon colour;
multiple missing-structure pseudobonds pointing off to other gaps.

On Wed, Apr 24, 2024 at 10:28 PM ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
wrote:

>
>
>
>
>

comment:5 by Eric Pettersen, 18 months ago

Using today's 1.8 release candidate I cannot reproduce this. Everything looks fine. What version are you using?

comment:6 by Eric Pettersen, 18 months ago

Also, what version of ISOLDE? I was using 1.8.dev0 for Mac.

comment:7 by Tristan Croll, 18 months ago

This was Windows. Either the rc or a few weeks old… will check tomorrow.

On Tue, 14 May 2024 at 01:03, ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
wrote:

>
>

comment:8 by Tristan Croll, 18 months ago

Hmm... definitely using the release candidate. After a bunch of attempts to
figure out what triggers it, I'm forced to conclude that it's
non-deterministic. In a fresh session, repeatedly using the one-liner
(closing the model in between):

open 8qzz;sel #1/A:66;wait 1;isolde add aa VAL sel; sel #1/A:80;wait 1;
isolde add aa ILE sel


... then sometimes it comes out fine, sometimes it's broken (with VAL67 not
included in the cartoon). Under these circumstances I'm seeing it broken
about one time in 5.



On Tue, May 14, 2024 at 3:10 AM ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
wrote:

>
>
>
>

comment:9 by Eric Pettersen, 18 months ago

I can reproduce erratic behavior, investigating...

comment:10 by Eric Pettersen, 18 months ago

Resolution: fixed
Status: feedbackclosed

Fixed in daily build and 1.8 release branch. I had the backbone-atom-order comparison backward when updating missing-structure pseudobonds as backbone atoms got added to residues.

Fix: https://github.com/RBVI/ChimeraX/commit/08ff82dbfd83417ce0fd142b3c0a3c30813967cd

comment:11 by Tristan Croll, 18 months ago

Thank goodness. Trying to figure out how to reproduce that one had me
feeling like I was going mad. :)

On Tue, May 14, 2024 at 9:29 PM ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
wrote:

>
>
>
>
>
>

comment:12 by Eric Pettersen, 18 months ago

Previous fix was wrong; actual bug was I was using residue name instead of atom name for indexing into backbone atom-name list.

fix: https://github.com/RBVI/ChimeraX/commit/47c81a86c2740840b598d80c1e2a3c66179756fa

Note: See TracTickets for help on using tickets.