Opened 4 years ago

Closed 4 years ago

#5667 closed defect (fixed)

ring/atom type "sticky"

Reported by: Tristan Croll 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:        Windows-10-10.0.19041
ChimeraX Version: 1.3rc202111182158 (2021-11-18 21:58:36 UTC)
Description
A bit of explanation needed here...

- tried to parameterise ligand B7O (residue C501 of 6j1u).
- "addh template true" incorrectly assigned the ring containing atoms OAU and OAV as aromatic, adding a single hydrogen each to atoms CAR and CAQ
- `estimate_net_charge()` then guessed the overall charge as +2 (should be zero)
- used the structure editor to make CAR and CAQ tetrahedral
- net charge now estimated as +4 (BUT if I save the coordinates to PDB, reopen and then estimate charge, it comes out correctly as 0)
- appears to be because making the carbons tetrahedral didn't change the ring type - it still reports as aromatic in the original model.

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.3rc202111182158 (2021-11-18)  
© 2016-2021 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open 3psb structureFactors true overSampling 2

Summary of feedback from opening 3psb fetched from pdb  
---  
notes | Fetching compressed mmCIF 3psb from
http://files.rcsb.org/download/3psb.cif  
Fetching CCD SM6 from http://ligand-expo.rcsb.org/reports/S/SM6/SM6.cif  
Fetching compressed 3psb structure factors from
http://files.rcsb.org/download/3psb-sf.cif  
Resolution: 3.4001165801625772  
  
Opened (LIVE) 2mFo-DFc as #1.1.1.2, grid size 32,32,30, pixel
0.842,0.842,0.849, shown at level 0.195, step 1, values float32  
Opened (LIVE) mFo-DFc as #1.1.1.3, grid size 32,32,30, pixel
0.842,0.842,0.849, shown at level -0.107,0.107, step 1, values float32  
Opened (LIVE) 2mFo-DFc_sharp_40 as #1.1.1.4, grid size 32,32,30, pixel
0.842,0.842,0.849, shown at level 0.551, step 1, values float32  
3psb title:  
Furo[2,3-c]pyridine-based Indanone Oximes as Potent and Selective B-Raf
Inhibitors [more info...]  
  
Chain information for 3psb  
---  
Chain | Description | UniProt  
1.2/A 1.2/B | B-raf proto-oncogene serine/threonine-protein kinase |
BRAF1_HUMAN  
  
Non-standard residues in 3psb #1.2  
---  
SM6 — ethyl
3-{[1-(hydroxyamino)-2H-inden-5-yl]amino}thieno[2,3-c]pyridine-2-carboxylate  
  
3psb mmCIF Assemblies  
---  
1| author_and_software_defined_assembly  
2| author_and_software_defined_assembly  
  

> view :SM6

> isolde start

> set selectionWidth 4

ISOLDE: Checking and correcting nomenclature for (pseudo)symmetric side
chains...  
ISOLDE: Corrected atom nomenclature of 63 residues in model #1.2 to IUPAC-IUB
standards.  
Opened (LIVE) MDFF potential as #1.1.1.5, grid size 32,32,30, pixel
0.842,0.842,0.849, shown at level 0.255, step 1, values float32  
Done loading forcefield  

> view /A:SM6

> addh template true

Summary of feedback from adding hydrogens to 3psb #1.2  
---  
warnings | Cannot find consistent set of bond orders for ring system
containing atom C3 in residue SM6 /B:2  
Cannot find consistent set of bond orders for ring system containing atom C5
in residue SM6 /A:1  
notes | Termini for 3psb (#1.2) chain A determined from SEQRES records  
Termini for 3psb (#1.2) chain B determined from SEQRES records  
Chain-initial residues that are actual N termini:  
Chain-initial residues that are not actual N termini: /A ASP 448, /A GLY 615,
/B ASP 448, /B LEU 613  
Chain-final residues that are actual C termini:  
Chain-final residues that are not actual C termini: /A VAL 600, /A LYS 723, /B
VAL 600, /B LYS 723  
440 hydrogen bonds  
Adding 'H' to /A ASP 448  
Adding 'H' to /A GLY 615  
Adding 'H' to /B ASP 448  
Adding 'H' to /B LEU 613  
/A LYS 723 is not terminus, removing H atom from 'C'  
/B LYS 723 is not terminus, removing H atom from 'C'  
4324 hydrogens added  
  
Loading residue template for SM6 from internal database  
ISOLDE: started sim  
Updating bulk solvent parameters...  
ISOLDE: Checking and correcting nomenclature for (pseudo)symmetric side
chains...  
ISOLDE: stopped sim  

> close #1

Deleting Crystallographic maps (3psb-sf.cif)  
Deleting (LIVE) 2mFo-DFc  
Deleting (LIVE) mFo-DFc  
Deleting (LIVE) 2mFo-DFc_sharp_40  
Deleting (LIVE) MDFF potential  

> open 4yve structureFactors true overSampling 2

Summary of feedback from opening 4yve fetched from pdb  
---  
warning | WARNING: multiple experimental reflection datasets found:  
F_meas_au, F_meas_sigma_au,  
pdbx_HL_A_iso, pdbx_HL_B_iso, pdbx_HL_C_iso, pdbx_HL_D_iso,  
phase_calc, fom  
Automatically choosing "F_meas_au, F_meas_sigma_au".  
notes | Fetching compressed mmCIF 4yve from
http://files.rcsb.org/download/4yve.cif  
Fetching CCD 4KK from http://ligand-expo.rcsb.org/reports/4/4KK/4KK.cif  
Fetching compressed 4yve structure factors from
http://files.rcsb.org/download/4yve-sf.cif  
Resolution: 3.4000943475651475  
  
Opened (LIVE) 2mFo-DFc as #1.1.1.2, grid size 48,36,30, pixel
0.842,0.842,0.839, shown at level 0.139, step 1, values float32  
Opened (LIVE) mFo-DFc as #1.1.1.3, grid size 48,36,30, pixel
0.842,0.842,0.839, shown at level -0.0735,0.0735, step 1, values float32  
Opened (LIVE) 2mFo-DFc_sharp_40 as #1.1.1.4, grid size 48,36,30, pixel
0.842,0.842,0.839, shown at level 0.361, step 1, values float32  
Opened (STATIC) F_calc, phase_calc as #1.1.1.5, grid size 48,36,30, pixel
0.842,0.842,0.839, shown at level -0.267,0.267, step 1, values float32  
4yve title:  
ROCK 1 bound to methoxyphenyl thiazole inhibitor [more info...]  
  
Chain information for 4yve  
---  
Chain | Description | UniProt  
1.2/A 1.2/B | Rho-associated protein kinase 1 | ROCK1_HUMAN  
  
Non-standard residues in 4yve #1.2  
---  
4KK — 2-(3-methoxyphenyl)-N-[4-(pyridin-4-yl)-1,3-thiazol-2-yl]acetamide  
  
ISOLDE: Checking and correcting nomenclature for (pseudo)symmetric side
chains...  
ISOLDE: Corrected atom nomenclature of 67 residues in model #1.2 to IUPAC-IUB
standards.  
Opened (LIVE) MDFF potential as #1.1.1.6, grid size 48,36,30, pixel
0.842,0.842,0.839, shown at level 0.169, step 1, values float32  

> view /A:4kk

> addh template true

Summary of feedback from adding hydrogens to 4yve #1.2  
---  
warnings | Not adding hydrogens to /A SER 6 CB because it is missing heavy-
atom bond partners  
Not adding hydrogens to /A LYS 114 CB because it is missing heavy-atom bond
partners  
Not adding hydrogens to /A TYR 287 CB because it is missing heavy-atom bond
partners  
Not adding hydrogens to /A ASP 302 CB because it is missing heavy-atom bond
partners  
Not adding hydrogens to /B MET 5 CB because it is missing heavy-atom bond
partners  
1 messages similar to the above omitted  
notes | Termini for 4yve (#1.2) chain A determined from SEQRES records  
Termini for 4yve (#1.2) chain B determined from SEQRES records  
Chain-initial residues that are actual N termini:  
Chain-initial residues that are not actual N termini: /A SER 6, /A GLY 253, /A
GLU 379, /B MET 5, /B GLU 377  
Chain-final residues that are actual C termini:  
Chain-final residues that are not actual C termini: /A SER 248, /A GLU 372, /A
TYR 405, /B LEU 371, /B ASN 402  
731 hydrogen bonds  
Adding 'H' to /A SER 6  
Adding 'H' to /A GLY 253  
Adding 'H' to /A GLU 379  
Adding 'H' to /B MET 5  
Adding 'H' to /B GLU 377  
/A TYR 405 is not terminus, removing H atom from 'C'  
/B ASN 402 is not terminus, removing H atom from 'C'  
6226 hydrogens added  
  
Loading residue template for 4KK from internal database  

> close #1

Deleting Crystallographic maps (4yve-sf.cif)  
Deleting (LIVE) 2mFo-DFc  
Deleting (LIVE) mFo-DFc  
Deleting (LIVE) 2mFo-DFc_sharp_40  
Deleting (LIVE) MDFF potential  

> open 6nsq structureFactors true

Summary of feedback from opening 6nsq fetched from pdb  
---  
notes | Fetching compressed mmCIF 6nsq from
http://files.rcsb.org/download/6nsq.cif  
Fetching CCD KZP from http://ligand-expo.rcsb.org/reports/K/KZP/KZP.cif  
Fetching compressed 6nsq structure factors from
http://files.rcsb.org/download/6nsq-sf.cif  
Resolution: 3.050063398475202  
Reflection data provided as intensities. Performing French & Wilson scaling to
convert to amplitudes...  
  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\cmd_line\tool.py", line 297, in execute  
cmd.run(cmd_text)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\commands\cli.py", line 2856, in run  
result = ci.function(session, **kw_args)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\open_command\cmd.py", line 118, in cmd_open  
models = Command(session, registry=registry).run(provider_cmd_text,
log=log)[0]  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\commands\cli.py", line 2856, in run  
result = ci.function(session, **kw_args)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\open_command\cmd.py", line 151, in provider_open  
models, status = collated_open(session, database_name, ident,  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\open_command\cmd.py", line 432, in collated_open  
return remember_data_format()  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\open_command\cmd.py", line 403, in remember_data_format  
models, status = func(*func_args, **func_kw)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\mmcif\\__init__.py", line 75, in fetch  
return fetcher(session, ident, ignore_cache=ignore_cache, **kw)  
File "src\mmcif.pyx", line 349, in chimerax.mmcif.mmcif.fetch_mmcif  
File "C:\Users\tristan\AppData\Local\UCSF\ChimeraX\1.3\site-
packages\chimerax\clipper\maps\map_mgr.py", line 306, in add_xmapset_from_file  
return XmapSet(self, mtzdata)  
File "C:\Users\tristan\AppData\Local\UCSF\ChimeraX\1.3\site-
packages\chimerax\clipper\maps\xmapset.py", line 187, in __init__  
self.init_maps(use_static_maps, use_live_maps,  
File "C:\Users\tristan\AppData\Local\UCSF\ChimeraX\1.3\site-
packages\chimerax\clipper\maps\xmapset.py", line 245, in init_maps  
fsigf_data = french_wilson_analytical(fsigf.data)  
File "C:\Users\tristan\AppData\Local\UCSF\ChimeraX\1.3\site-
packages\chimerax\clipper\reflection_tools\french_wilson.py", line 106, in
french_wilson_analytical  
eobs_sq = isigi_data.i / eps / imean  
ZeroDivisionError: float division by zero  
  
ZeroDivisionError: float division by zero  
  
File "C:\Users\tristan\AppData\Local\UCSF\ChimeraX\1.3\site-
packages\chimerax\clipper\reflection_tools\french_wilson.py", line 106, in
french_wilson_analytical  
eobs_sq = isigi_data.i / eps / imean  
  
See log for complete Python traceback.  
  

> open 6yid structureFactors true

Summary of feedback from opening 6yid fetched from pdb  
---  
warning | WARNING: multiple experimental reflection datasets found:  
F_meas_au, F_meas_sigma_au,  
phase_calc, fom  
Automatically choosing "F_meas_au, F_meas_sigma_au".  
notes | Fetching compressed mmCIF 6yid from
http://files.rcsb.org/download/6yid.cif  
Fetching CCD EDJ from http://ligand-expo.rcsb.org/reports/E/EDJ/EDJ.cif  
Fetching compressed 6yid structure factors from
http://files.rcsb.org/download/6yid-sf.cif  
Resolution: 2.7000208928996656  
  
Opened (LIVE) 2mFo-DFc as #1.1.1.2, grid size 34,34,28, pixel
0.844,0.797,0.882, shown at level 0.245, step 1, values float32  
Opened (LIVE) mFo-DFc as #1.1.1.3, grid size 34,34,28, pixel
0.844,0.797,0.882, shown at level -0.0922,0.0922, step 1, values float32  
Opened (LIVE) 2mFo-DFc_sharp_18 as #1.1.1.4, grid size 34,34,28, pixel
0.844,0.797,0.882, shown at level 0.421, step 1, values float32  
Opened (STATIC) F_calc_au, phase_calc as #1.1.1.5, grid size 34,34,28, pixel
0.844,0.797,0.882, shown at level -0.741,0.741, step 1, values float32  
Opened (STATIC) pdbx_DELFWT, pdbx_DELPHWT as #1.1.1.6, grid size 34,34,28,
pixel 0.844,0.797,0.882, shown at level -0.176,0.176, step 1, values float32  
Opened (STATIC) pdbx_FWT, pdbx_PHWT as #1.1.1.7, grid size 34,34,28, pixel
0.844,0.797,0.882, shown at level -0.496,0.496, step 1, values float32  
6yid title:  
Crystal structure of ULK2 in complex with SBI-0206965 [more info...]  
  
Chain information for 6yid  
---  
Chain | Description | UniProt  
1.2/A 1.2/B 1.2/C 1.2/D | Serine/threonine-protein kinase ULK2 | ULK2_HUMAN  
  
Non-standard residues in 6yid #1.2  
---  
EDJ —
2-({5-bromo-2-[(3,4,5-trimethoxyphenyl)amino]pyrimidin-4-yl}oxy)-N-methylbenzene-1-carboximidic
acid  
  
6yid mmCIF Assemblies  
---  
1| author_and_software_defined_assembly  
2| author_and_software_defined_assembly  
  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\triggerset.py", line 134, in invoke  
return self._func(self._name, data)  
File "C:\Users\tristan\AppData\Local\UCSF\ChimeraX\1.3\site-
packages\chimerax\isolde\isolde.py", line 1050, in _update_model_list  
self._change_selected_model(model=current_model)  
File "C:\Users\tristan\AppData\Local\UCSF\ChimeraX\1.3\site-
packages\chimerax\isolde\isolde.py", line 2521, in _change_selected_model  
m.delete_alt_locs()  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\atomic\molobject.py", line 1590, in delete_alt_locs  
f = c_function('structure_delete_alt_locs', args =
(ctypes.c_void_p,))(self._c_pointer)  
OSError: exception: access violation reading 0x0000000000000014  
  
Error processing trigger "add models":  
OSError: exception: access violation reading 0x0000000000000014  
  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\atomic\molobject.py", line 1590, in delete_alt_locs  
f = c_function('structure_delete_alt_locs', args =
(ctypes.c_void_p,))(self._c_pointer)  
  
See log for complete Python traceback.  
  

> view /A:EDJ

> addh template true

Summary of feedback from adding hydrogens to 6yid #1.2  
---  
warnings | Not adding hydrogens to /A SER 0 CB because it is missing heavy-
atom bond partners  
Not adding hydrogens to /A ASN 143 CB because it is missing heavy-atom bond
partners  
Not adding hydrogens to /A SER 150 CB because it is missing heavy-atom bond
partners  
Not adding hydrogens to /A SER 167 CB because it is missing heavy-atom bond
partners  
Not adding hydrogens to /B ASN 143 CB because it is missing heavy-atom bond
partners  
19 messages similar to the above omitted  
notes | Termini for 6yid (#1.2) chain A determined from SEQRES records  
Termini for 6yid (#1.2) chain B determined from SEQRES records  
Termini for 6yid (#1.2) chain C determined from SEQRES records  
Termini for 6yid (#1.2) chain D determined from SEQRES records  
Chain-initial residues that are actual N termini: /B GLY -3  
Chain-initial residues that are not actual N termini: /A SER 0, /A SER 150, /A
PRO 178, /B SER 148, /B SER 177, /C GLY -2, /C GLY 151, /C SER 177, /D SER 0,
/D ILE 152, /D PRO 178  
Chain-final residues that are actual C termini:  
Chain-final residues that are not actual C termini: /A ASN 143, /A SER 167, /A
GLY 274, /B ASN 143, /B SER 167, /B GLN 273, /C ASN 143, /C SER 167, /C GLU
272, /D ASN 143, /D SER 167, /D GLY 274  
1030 hydrogen bonds  
Adding 'H' to /A SER 0  
Adding 'H' to /A SER 150  
Adding 'H' to /B SER 148  
Adding 'H' to /B SER 177  
Adding 'H' to /C GLY -2  
4 messages similar to the above omitted  
/A GLY 274 is not terminus, removing H atom from 'C'  
/B GLN 273 is not terminus, removing H atom from 'C'  
/C GLU 272 is not terminus, removing H atom from 'C'  
/D GLY 274 is not terminus, removing H atom from 'C'  
8472 hydrogens added  
  

> isolde parameterise sel

Loading residue template for EDJ from internal database  
Residue name EDJ already corresponds to template MC_EDJ in the amber14
forcefield. If you wish to replace that template, re-run this command with
override=True  

> isolde parameterise sel override true

Traceback (most recent call last):  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\cmd_line\tool.py", line 297, in execute  
cmd.run(cmd_text)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\commands\cli.py", line 2856, in run  
result = ci.function(session, **kw_args)  
File "C:\Users\tristan\AppData\Local\UCSF\ChimeraX\1.3\site-
packages\chimerax\isolde\openmm\amberff\parameterise.py", line 52, in
parameterise_cmd  
parameterise_ligand(session, residue, net_charge=net_charge)  
File "C:\Users\tristan\AppData\Local\UCSF\ChimeraX\1.3\site-
packages\chimerax\isolde\openmm\amberff\parameterise.py", line 23, in
parameterise_ligand  
net_charge = estimate_net_charge(residue.atoms)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\add_charge\charge.py", line 409, in estimate_net_charge  
for a in ring.atoms:  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\atomic\molc.py", line 163, in get_prop  
vcount = getattr(self, value_count)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\atomic\molc.py", line 95, in get_prop  
cget(self._c_pointer_ref, 1, v_ref)  
AttributeError: 'Ring' object has no attribute '_c_pointer_ref'  
  
AttributeError: 'Ring' object has no attribute '_c_pointer_ref'  
  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\atomic\molc.py", line 95, in get_prop  
cget(self._c_pointer_ref, 1, v_ref)  
  
See log for complete Python traceback.  
  

> isolde parameterise sel override true

Running ANTECHAMBER command: C:/Program
Files/ChimeraX/bin/amber20/bin/antechamber -ek qm_theory='AM1', -i
C:\Users\tristan\AppData\Local\Temp\tmpf9ne543m\ante.in.mol2 -fi mol2 -o
C:\Users\tristan\AppData\Local\Temp\tmpf9ne543m\ante.out.mol2 -fo mol2 -c bcc
-nc 0 -j 5 -s 2 -dr n  
(EDJ) ``  
(EDJ) `Welcome to antechamber 20.0: molecular input file processor.`  
(EDJ) ``  
(EDJ) `Info: Finished reading file
(C:\Users\tristan\AppData\Local\Temp\tmpf9ne543m\ante.in.mol2); atoms read
(52), bonds read (54).`  
(EDJ) `Info: Determining atomic numbers from atomic symbols which are case
sensitive.`  
(EDJ) `Running: "C:/Program Files/ChimeraX/bin/amber20/bin/bondtype" -j part
-i ANTECHAMBER_BOND_TYPE.AC0 -o ANTECHAMBER_BOND_TYPE.AC -f ac`  
(EDJ) `bash.exe: warning: could not find /tmp, please create!`  
(EDJ) ``  
(EDJ) ``  
(EDJ) `Running: "C:/Program Files/ChimeraX/bin/amber20/bin/atomtype" -i
ANTECHAMBER_AC.AC0 -o ANTECHAMBER_AC.AC -p gaff`  
(EDJ) `bash.exe: warning: could not find /tmp, please create!`  
(EDJ) `Info: Total number of electrons: 250; net charge: 0`  
(EDJ) ``  
(EDJ) `Running: "C:/Program Files/ChimeraX/bin/amber20/bin/sqm" -O -i sqm.in
-o sqm.out`  
(EDJ) `bash.exe: warning: could not find /tmp, please create!`  
(EDJ) ``  
(EDJ) `Running: "C:/Program Files/ChimeraX/bin/amber20/bin/am1bcc" -i
ANTECHAMBER_AM1BCC_PRE.AC -o ANTECHAMBER_AM1BCC.AC -f ac -p "C:/Program
Files/ChimeraX/bin/amber20/dat/antechamber/BCCPARM.DAT" -s 2 -j 1`  
(EDJ) `bash.exe: warning: could not find /tmp, please create!`  
(EDJ) ``  
(EDJ) `Running: "C:/Program Files/ChimeraX/bin/amber20/bin/atomtype" -f ac -p
bcc -o ANTECHAMBER_AM1BCC.AC -i ANTECHAMBER_AM1BCC_PRE.AC`  
(EDJ) `bash.exe: warning: could not find /tmp, please create!`  
(EDJ) ``  
Charges for residue EDJ determined  
OpenMM ffXML file EDJ written to the current working directory.  
New template added to forcefield as USER_EDJ. This ligand should now work in
all remaining simulations for this session. To use in future sessions, load
the ffXML file with ISOLDE's Load Residue MD Definition(s) button.  
Traceback (most recent call last):  
File "C:\Users\tristan\AppData\Local\UCSF\ChimeraX\1.3\site-
packages\chimerax\isolde\isolde.py", line 2722, in _start_sim_or_toggle_pause  
mmgr = get_map_mgr(m)  
File "C:\Users\tristan\AppData\Local\UCSF\ChimeraX\1.3\site-
packages\chimerax\clipper\symmetry.py", line 183, in get_map_mgr  
sh = get_symmetry_handler(structure, create=create,
auto_add_to_session=auto_add_to_session)  
File "C:\Users\tristan\AppData\Local\UCSF\ChimeraX\1.3\site-
packages\chimerax\clipper\symmetry.py", line 159, in get_symmetry_handler  
sh = _get_symmetry_handler(structure, create)  
File "C:\Users\tristan\AppData\Local\UCSF\ChimeraX\1.3\site-
packages\chimerax\clipper\symmetry.py", line 166, in _get_symmetry_handler  
p = structure.parent  
AttributeError: 'NoneType' object has no attribute 'parent'  
  
AttributeError: 'NoneType' object has no attribute 'parent'  
  
File "C:\Users\tristan\AppData\Local\UCSF\ChimeraX\1.3\site-
packages\chimerax\clipper\symmetry.py", line 166, in _get_symmetry_handler  
p = structure.parent  
  
See log for complete Python traceback.  
  

> select #1

16938 atoms, 17076 bonds, 8 pseudobonds, 1092 residues, 30 models selected  

> isolde sim start #1

ISOLDE: Checking and correcting nomenclature for (pseudo)symmetric side
chains...  
ISOLDE: Corrected atom nomenclature of 60 residues in model #1.2 to IUPAC-IUB
standards.  
Opened (LIVE) MDFF potential as #1.1.1.8, grid size 34,34,28, pixel
0.844,0.797,0.882, shown at level 0.271, step 1, values float32  
ISOLDE: started sim  

> select clear

[Repeated 1 time(s)]Updating bulk solvent parameters...  
ISOLDE: Checking and correcting nomenclature for (pseudo)symmetric side
chains...  
ISOLDE: Corrected atom nomenclature of 7 residues in model #1.2 to IUPAC-IUB
standards.  
ISOLDE: stopped sim  
ISOLDE: started sim  

> select clear

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

> close #1

Deleting Crystallographic maps (6yid-sf.cif)  
Deleting (LIVE) 2mFo-DFc  
Deleting (LIVE) mFo-DFc  
Deleting (LIVE) 2mFo-DFc_sharp_18  
Deleting (LIVE) MDFF potential  

> open 6ssz structureFactors true overSampling 2

Summary of feedback from opening 6ssz fetched from pdb  
---  
warning | WARNING: multiple experimental reflection datasets found:  
F_meas_au, F_meas_sigma_au,  
pdbx_HL_A_iso, pdbx_HL_B_iso, pdbx_HL_C_iso, pdbx_HL_D_iso,  
phase_calc, fom  
Automatically choosing "F_meas_au, F_meas_sigma_au".  
notes | Fetching compressed mmCIF 6ssz from
http://files.rcsb.org/download/6ssz.cif  
Fetching CCD JV1 from http://ligand-expo.rcsb.org/reports/J/JV1/JV1.cif  
Fetching compressed 6ssz structure factors from
http://files.rcsb.org/download/6ssz-sf.cif  
Resolution: 3.450620774654557  
  
Opened (LIVE) 2mFo-DFc as #1.1.1.2, grid size 48,36,30, pixel
0.855,0.855,0.851, shown at level 0.121, step 1, values float32  
Opened (LIVE) mFo-DFc as #1.1.1.3, grid size 48,36,30, pixel
0.855,0.855,0.851, shown at level -0.0829,0.0829, step 1, values float32  
Opened (LIVE) 2mFo-DFc_sharp_41 as #1.1.1.4, grid size 48,36,30, pixel
0.855,0.855,0.851, shown at level 0.23, step 1, values float32  
Opened (STATIC) F_calc_au, phase_calc as #1.1.1.5, grid size 48,36,30, pixel
0.855,0.855,0.851, shown at level -0.184,0.184, step 1, values float32  
Opened (STATIC) pdbx_DELFWT, pdbx_DELPHWT as #1.1.1.6, grid size 48,36,30,
pixel 0.855,0.855,0.851, shown at level -0.13,0.13, step 1, values float32  
Opened (STATIC) pdbx_FWT, pdbx_PHWT as #1.1.1.7, grid size 48,36,30, pixel
0.855,0.855,0.851, shown at level -0.24,0.24, step 1, values float32  
6ssz title:  
Structure of the Plasmodium falciparum falcipain 2 protease in complex with an
(E)-chalcone inhibitor. [more info...]  
  
Chain information for 6ssz  
---  
Chain | Description | UniProt  
1.2/A 1.2/B | Cysteine proteinase falcipain 2a | Q9N6S8_PLAFA  
  
Non-standard residues in 6ssz #1.2  
---  
JV1 — (~{E})-3-(1,3-benzodioxol-5-yl)-1-(3-nitrophenyl)prop-2-en-1-one  
  
6ssz mmCIF Assemblies  
---  
1| author_defined_assembly  
2| author_defined_assembly  
  
ISOLDE: Checking and correcting nomenclature for (pseudo)symmetric side
chains...  
ISOLDE: Corrected atom nomenclature of 20 residues in model #1.2 to IUPAC-IUB
standards.  
Opened (LIVE) MDFF potential as #1.1.1.8, grid size 48,36,30, pixel
0.855,0.855,0.851, shown at level 0.129, step 1, values float32  

> view :JVI

No objects specified.  

> view :JV1

> view /A:JV1

> view /B:JV1

> view /A:JV1

> open 6ssz

6ssz title:  
Structure of the Plasmodium falciparum falcipain 2 protease in complex with an
(E)-chalcone inhibitor. [more info...]  
  
Chain information for 6ssz #2  
---  
Chain | Description | UniProt  
A B | Cysteine proteinase falcipain 2a | Q9N6S8_PLAFA  
  
Non-standard residues in 6ssz #2  
---  
JV1 — (~{E})-3-(1,3-benzodioxol-5-yl)-1-(3-nitrophenyl)prop-2-en-1-one  
  
6ssz mmCIF Assemblies  
---  
1| author_defined_assembly  
2| author_defined_assembly  
  

> matchmaker #2/B to #1/A

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 6ssz, chain A (#1.2) with 6ssz, chain B (#2), sequence alignment
score = 1266.1  
RMSD between 235 pruned atom pairs is 0.257 angstroms; (across all 239 pairs:
0.452)  
  

> close #2

> alphafold match #1

1 UniProt id does not have an AlphaFold database model: Q9N6S8 (chains A,B)  

Fetching compressed AlphaFold Q8I6U4 from
https://alphafold.ebi.ac.uk/files/AF-Q8I6U4-F1-model_v1.cif  
1 AlphaFold model found using sequence similarity searches: Q8I6U4 (chains
A,B)  
AlphaFold chains matching 6ssz  
---  
Chain| UniProt Name| UniProt Id| RMSD| Length| Seen| % Id  
A | Q8I6U4_PLAF7 | Q8I6U4 | 0.76 | 242 | 241 | 97  
B | Q8I6U4_PLAF7 | Q8I6U4 | 0.85 | 242 | 239 | 97  
  
Opened 2 AlphaFold models  

> addh #1

Summary of feedback from adding hydrogens to 6ssz #1.2  
---  
notes | Termini for 6ssz (#1.2) chain A determined from SEQRES records  
Termini for 6ssz (#1.2) chain B determined from SEQRES records  
Chain-initial residues that are actual N termini:  
Chain-initial residues that are not actual N termini: 6ssz #1.2/A PRO -17,
6ssz #1.2/B GLN -16  
Chain-final residues that are actual C termini: 6ssz #1.2/A ILE 223  
Chain-final residues that are not actual C termini: 6ssz #1.2/B LEU 222  
Missing OXT added to C-terminal residue 6ssz #1.2/A ILE 223  
402 hydrogen bonds  
Adding 'H' to 6ssz #1.2/B GLN -16  
6ssz #1.2/B LEU 222 is not terminus, removing H atom from 'C'  
3656 hydrogens added  
  

> show #2

> isolde restrain distances #1/A templateAtoms #2/A adjustForConfidence true

ISOLDE: Checking and correcting nomenclature for (pseudo)symmetric side
chains...  
[Repeated 1 time(s)]ISOLDE: Corrected atom nomenclature of 34 residues in
model #2.1 to IUPAC-IUB standards.  
Fetching compressed Alphafold Q8I6U4 PAE from
https://alphafold.ebi.ac.uk/files/AF-Q8I6U4-F1-predicted_aligned_error_v1.json  
RMSD between 241 pruned atom pairs is 0.755 angstroms; (across all 241 pairs:
0.755)  

> isolde restrain distances #1/B templateAtoms #2/B adjustForConfidence true

ISOLDE: Checking and correcting nomenclature for (pseudo)symmetric side
chains...  
[Repeated 1 time(s)]ISOLDE: Corrected atom nomenclature of 34 residues in
model #2.2 to IUPAC-IUB standards.  
RMSD between 239 pruned atom pairs is 0.832 angstroms; (across all 239 pairs:
0.832)  

> isolde restrain torsions #1/A templateResidues #2/A adjustForConfidence true

The "isolde restrain torsions" command only applies to protein chains. Other
residues have been ignored.  

ISOLDE: Checking and correcting nomenclature for (pseudo)symmetric side
chains...  
[Repeated 1 time(s)]

> isolde restrain torsions #1/B templateResidues #2/B adjustForConfidence true

The "isolde restrain torsions" command only applies to protein chains. Other
residues have been ignored.  

ISOLDE: Checking and correcting nomenclature for (pseudo)symmetric side
chains...  
[Repeated 1 time(s)]

> hide #!2 models

> set bgColor white

> isolde adjust distances #1 displayThreshold 0.5

> isolde parameterise sel

Running ANTECHAMBER command: C:/Program
Files/ChimeraX/bin/amber20/bin/antechamber -ek qm_theory='AM1', -i
C:\Users\tristan\AppData\Local\Temp\tmph_v_aiuc\ante.in.mol2 -fi mol2 -o
C:\Users\tristan\AppData\Local\Temp\tmph_v_aiuc\ante.out.mol2 -fo mol2 -c bcc
-nc 0 -j 5 -s 2 -dr n  
(JV1) ``  
(JV1) `Welcome to antechamber 20.0: molecular input file processor.`  
(JV1) ``  
(JV1) `Info: Finished reading file
(C:\Users\tristan\AppData\Local\Temp\tmph_v_aiuc\ante.in.mol2); atoms read
(33), bonds read (35).`  
(JV1) `Info: Determining atomic numbers from atomic symbols which are case
sensitive.`  
(JV1) `Running: "C:/Program Files/ChimeraX/bin/amber20/bin/bondtype" -j part
-i ANTECHAMBER_BOND_TYPE.AC0 -o ANTECHAMBER_BOND_TYPE.AC -f ac`  
(JV1) `bash.exe: warning: could not find /tmp, please create!`  
(JV1) ``  
(JV1) ``  
(JV1) `Running: "C:/Program Files/ChimeraX/bin/amber20/bin/atomtype" -i
ANTECHAMBER_AC.AC0 -o ANTECHAMBER_AC.AC -p gaff`  
(JV1) `bash.exe: warning: could not find /tmp, please create!`  
(JV1) `Info: Total number of electrons: 154; net charge: 0`  
(JV1) ``  
(JV1) `Running: "C:/Program Files/ChimeraX/bin/amber20/bin/sqm" -O -i sqm.in
-o sqm.out`  
(JV1) `bash.exe: warning: could not find /tmp, please create!`  
(JV1) ``  
(JV1) `Running: "C:/Program Files/ChimeraX/bin/amber20/bin/am1bcc" -i
ANTECHAMBER_AM1BCC_PRE.AC -o ANTECHAMBER_AM1BCC.AC -f ac -p "C:/Program
Files/ChimeraX/bin/amber20/dat/antechamber/BCCPARM.DAT" -s 2 -j 1`  
(JV1) `bash.exe: warning: could not find /tmp, please create!`  
(JV1) ``  
(JV1) `Running: "C:/Program Files/ChimeraX/bin/amber20/bin/atomtype" -f ac -p
bcc -o ANTECHAMBER_AM1BCC.AC -i ANTECHAMBER_AM1BCC_PRE.AC`  
(JV1) `bash.exe: warning: could not find /tmp, please create!`  
(JV1) ``  
Charges for residue JV1 determined  
OpenMM ffXML file JV1 written to the current working directory.  
New template added to forcefield as USER_JV1. This ligand should now work in
all remaining simulations for this session. To use in future sessions, load
the ffXML file with ISOLDE's Load Residue MD Definition(s) button.  

> select #1

7494 atoms, 7593 bonds, 482 residues, 38 models selected  
ISOLDE: started sim  

> select clear

ISOLDE: paused sim  
ISOLDE: resumed sim  

> rt

> view /A:JV1

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

> close #1-2

Deleting Crystallographic maps (6ssz-sf.cif)  
Deleting (LIVE) 2mFo-DFc  
Deleting (LIVE) mFo-DFc  
Deleting (LIVE) 2mFo-DFc_sharp_41  
Deleting (LIVE) MDFF potential  

> open 6j1u structureFactors true

Summary of feedback from opening 6j1u fetched from pdb  
---  
warning | WARNING: multiple experimental reflection datasets found:  
F_meas_au, F_meas_sigma_au,  
phase_calc, fom  
Automatically choosing "F_meas_au, F_meas_sigma_au".  
notes | Fetching compressed mmCIF 6j1u from
http://files.rcsb.org/download/6j1u.cif  
Fetching CCD B7O from http://ligand-expo.rcsb.org/reports/B/B7O/B7O.cif  
Fetching compressed 6j1u structure factors from
http://files.rcsb.org/download/6j1u-sf.cif  
Resolution: 2.7997137235627245  
  
Opened (LIVE) 2mFo-DFc as #1.1.1.2, grid size 30,30,28, pixel 0.906,0.88,0.9,
shown at level 0.254, step 1, values float32  
Opened (LIVE) mFo-DFc as #1.1.1.3, grid size 30,30,28, pixel 0.906,0.88,0.9,
shown at level -0.111,0.111, step 1, values float32  
Opened (LIVE) 2mFo-DFc_sharp_22 as #1.1.1.4, grid size 30,30,28, pixel
0.906,0.88,0.9, shown at level 0.527, step 1, values float32  
Opened (STATIC) F_calc_au, phase_calc as #1.1.1.5, grid size 30,30,28, pixel
0.906,0.88,0.9, shown at level -0.86,0.86, step 1, values float32  
Opened (STATIC) pdbx_DELFWT, pdbx_DELPHWT as #1.1.1.6, grid size 30,30,28,
pixel 0.906,0.88,0.9, shown at level -0.219,0.219, step 1, values float32  
Opened (STATIC) pdbx_FWT, pdbx_PHWT as #1.1.1.7, grid size 30,30,28, pixel
0.906,0.88,0.9, shown at level -0.634,0.634, step 1, values float32  
6j1u title:  
influenza virus nucleoprotein with a specific inhibitor [more info...]  
  
Chain information for 6j1u  
---  
Chain | Description | UniProt  
1.2/A 1.2/B 1.2/C | Nucleoprotein | Q1K9H2_I33A0  
  
Non-standard residues in 6j1u #1.2  
---  
B7O —
~{N}-[4-[(4-~{tert}-butylphenyl)carbonylamino]phenyl]-2,3-dihydro-1,4-benzodioxine-6-carboxamide  
  
ISOLDE: Checking and correcting nomenclature for (pseudo)symmetric side
chains...  
ISOLDE: Corrected atom nomenclature of 132 residues in model #1.2 to IUPAC-IUB
standards.  
Opened (LIVE) MDFF potential as #1.1.1.8, grid size 30,30,28, pixel
0.906,0.88,0.9, shown at level 0.286, step 1, values float32  

> view /A:B7O

> view /B:B7O

No objects specified.  

> view /C:B7O

> addh template true

Summary of feedback from adding hydrogens to 6j1u #1.2  
---  
warnings | Not adding hydrogens to /A LYS 90 CB because it is missing heavy-
atom bond partners  
Not adding hydrogens to /A LYS 91 CB because it is missing heavy-atom bond
partners  
Not adding hydrogens to /A ARG 175 CB because it is missing heavy-atom bond
partners  
Not adding hydrogens to /A ARG 204 CB because it is missing heavy-atom bond
partners  
Not adding hydrogens to /A MET 481 CB because it is missing heavy-atom bond
partners  
11 messages similar to the above omitted  
notes | Termini for 6j1u (#1.2) chain A determined from SEQRES records  
Termini for 6j1u (#1.2) chain B determined from SEQRES records  
Termini for 6j1u (#1.2) chain C determined from SEQRES records  
Chain-initial residues that are actual N termini:  
Chain-initial residues that are not actual N termini: /A ASN 21, /A LYS 90, /A
SER 403, /A SER 438, /B ALA 22, /B PRO 89, /B SER 403, /B SER 438, /C ASN 21,
/C ASP 88, /C SER 403, /C SER 438, /C GLY 485  
Chain-final residues that are actual C termini:  
Chain-final residues that are not actual C termini: /A ASP 72, /A ASN 395, /A
PHE 429, /A PHE 489, /B ASP 72, /B ASN 395, /B ALA 428, /B GLY 490, /C LYS 77,
/C THR 396, /C PHE 429, /C ASP 480, /C GLY 490  
1286 hydrogen bonds  
Adding 'H' to /A ASN 21  
Adding 'H' to /A LYS 90  
Adding 'H' to /A SER 403  
Adding 'H' to /A SER 438  
Adding 'H' to /B ALA 22  
7 messages similar to the above omitted  
/A PHE 489 is not terminus, removing H atom from 'C'  
/B GLY 490 is not terminus, removing H atom from 'C'  
/C GLY 490 is not terminus, removing H atom from 'C'  
10325 hydrogens added  
  

> select clear

> isolde parameterise sel

Traceback (most recent call last):  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\cmd_line\tool.py", line 297, in execute  
cmd.run(cmd_text)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\commands\cli.py", line 2856, in run  
result = ci.function(session, **kw_args)  
File "C:\Users\tristan\AppData\Local\UCSF\ChimeraX\1.3\site-
packages\chimerax\isolde\openmm\amberff\parameterise.py", line 52, in
parameterise_cmd  
parameterise_ligand(session, residue, net_charge=net_charge)  
File "C:\Users\tristan\AppData\Local\UCSF\ChimeraX\1.3\site-
packages\chimerax\isolde\openmm\amberff\parameterise.py", line 23, in
parameterise_ligand  
net_charge = estimate_net_charge(residue.atoms)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\add_charge\charge.py", line 409, in estimate_net_charge  
for a in ring.atoms:  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\atomic\molc.py", line 163, in get_prop  
vcount = getattr(self, value_count)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\atomic\molc.py", line 95, in get_prop  
cget(self._c_pointer_ref, 1, v_ref)  
AttributeError: 'Ring' object has no attribute '_c_pointer_ref'  
  
AttributeError: 'Ring' object has no attribute '_c_pointer_ref'  
  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\atomic\molc.py", line 95, in get_prop  
cget(self._c_pointer_ref, 1, v_ref)  
  
See log for complete Python traceback.  
  

> isolde parameterise sel

Running ANTECHAMBER command: C:/Program
Files/ChimeraX/bin/amber20/bin/antechamber -ek qm_theory='AM1', -i
C:\Users\tristan\AppData\Local\Temp\tmpqyf3eobx\ante.in.mol2 -fi mol2 -o
C:\Users\tristan\AppData\Local\Temp\tmpqyf3eobx\ante.out.mol2 -fo mol2 -c bcc
-nc 2 -j 5 -s 2 -dr n  
(B7O) ``  
(B7O) `Welcome to antechamber 20.0: molecular input file processor.`  
(B7O) ``  
(B7O) `Info: Finished reading file
(C:\Users\tristan\AppData\Local\Temp\tmpqyf3eobx\ante.in.mol2); atoms read
(56), bonds read (59).`  
(B7O) `Info: Determining atomic numbers from atomic symbols which are case
sensitive.`  
(B7O) `Running: "C:/Program Files/ChimeraX/bin/amber20/bin/bondtype" -j part
-i ANTECHAMBER_BOND_TYPE.AC0 -o ANTECHAMBER_BOND_TYPE.AC -f ac`  
(B7O) `bash.exe: warning: could not find /tmp, please create!`  
(B7O) ``  
(B7O) ``  
(B7O) `Running: "C:/Program Files/ChimeraX/bin/amber20/bin/atomtype" -i
ANTECHAMBER_AC.AC0 -o ANTECHAMBER_AC.AC -p gaff`  
(B7O) `bash.exe: warning: could not find /tmp, please create!`  
(B7O) `Info: Total number of electrons: 224; net charge: 2`  
(B7O) ``  
(B7O) `Running: "C:/Program Files/ChimeraX/bin/amber20/bin/sqm" -O -i sqm.in
-o sqm.out`  
(B7O) `bash.exe: warning: could not find /tmp, please create!`  
(B7O) `/usr/bin/antechamber: Fatal Error!`  
(B7O) `Cannot properly run ""C:/Program Files/ChimeraX/bin/amber20/bin/sqm" -O
-i sqm.in -o sqm.out".`  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\cmd_line\tool.py", line 297, in execute  
cmd.run(cmd_text)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\commands\cli.py", line 2856, in run  
result = ci.function(session, **kw_args)  
File "C:\Users\tristan\AppData\Local\UCSF\ChimeraX\1.3\site-
packages\chimerax\isolde\openmm\amberff\parameterise.py", line 52, in
parameterise_cmd  
parameterise_ligand(session, residue, net_charge=net_charge)  
File "C:\Users\tristan\AppData\Local\UCSF\ChimeraX\1.3\site-
packages\chimerax\isolde\openmm\amberff\parameterise.py", line 27, in
parameterise_ligand  
nonstd_charge(session, Residues([residue]), net_charge, charge_method,
temp_dir=tempdir)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\add_charge\charge.py", line 605, in nonstd_charge  
raise ChargeError(ante_failure_msg)  
chimerax.add_charge.charge.ChargeError: Failure running ANTECHAMBER for
residue B7O  
Check reply log for details  
  
chimerax.add_charge.charge.ChargeError: Failure running ANTECHAMBER for
residue B7O  
Check reply log for details  
  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\add_charge\charge.py", line 605, in nonstd_charge  
raise ChargeError(ante_failure_msg)  
  
See log for complete Python traceback.  
  

> select up

56 atoms, 59 bonds, 1 residue, 1 model selected  

> show sel

> addh template true

Summary of feedback from adding hydrogens to 6j1u #1.2  
---  
warnings | Not adding hydrogens to /A LYS 90 CB because it is missing heavy-
atom bond partners  
Not adding hydrogens to /A LYS 91 CB because it is missing heavy-atom bond
partners  
Not adding hydrogens to /A ARG 175 CB because it is missing heavy-atom bond
partners  
Not adding hydrogens to /A ARG 204 CB because it is missing heavy-atom bond
partners  
Not adding hydrogens to /A MET 481 CB because it is missing heavy-atom bond
partners  
11 messages similar to the above omitted  
notes | Termini for 6j1u (#1.2) chain A determined from SEQRES records  
Termini for 6j1u (#1.2) chain B determined from SEQRES records  
Termini for 6j1u (#1.2) chain C determined from SEQRES records  
Chain-initial residues that are actual N termini:  
Chain-initial residues that are not actual N termini: /A ASN 21, /A LYS 90, /A
SER 403, /A SER 438, /B ALA 22, /B PRO 89, /B SER 403, /B SER 438, /C ASN 21,
/C ASP 88, /C SER 403, /C SER 438, /C GLY 485  
Chain-final residues that are actual C termini:  
Chain-final residues that are not actual C termini: /A ASP 72, /A ASN 395, /A
PHE 429, /A PHE 489, /B ASP 72, /B ASN 395, /B ALA 428, /B GLY 490, /C LYS 77,
/C THR 396, /C PHE 429, /C ASP 480, /C GLY 490  
1237 hydrogen bonds  
/A PHE 489 is not terminus, removing H atom from 'C'  
/B GLY 490 is not terminus, removing H atom from 'C'  
/C GLY 490 is not terminus, removing H atom from 'C'  
0 hydrogens added  
  

> select up

56 atoms, 59 bonds, 1 residue, 1 model selected  

> show sel

Requested number of bonds more than the coordination geometry can support.  

> select up

56 atoms, 59 bonds, 1 residue, 1 model selected  

> show sel

> ui tool show "Build Structure"

> build modify /C:501@CAQ C 4 geometry tetrahedral

> build modify /C:501@CAR C 4 geometry tetrahedral

> select up

58 atoms, 61 bonds, 1 residue, 1 model selected  

> show sel

> isolde parameterise sel

Traceback (most recent call last):  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\cmd_line\tool.py", line 297, in execute  
cmd.run(cmd_text)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\commands\cli.py", line 2856, in run  
result = ci.function(session, **kw_args)  
File "C:\Users\tristan\AppData\Local\UCSF\ChimeraX\1.3\site-
packages\chimerax\isolde\openmm\amberff\parameterise.py", line 52, in
parameterise_cmd  
parameterise_ligand(session, residue, net_charge=net_charge)  
File "C:\Users\tristan\AppData\Local\UCSF\ChimeraX\1.3\site-
packages\chimerax\isolde\openmm\amberff\parameterise.py", line 23, in
parameterise_ligand  
net_charge = estimate_net_charge(residue.atoms)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\add_charge\charge.py", line 409, in estimate_net_charge  
for a in ring.atoms:  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\atomic\molc.py", line 163, in get_prop  
vcount = getattr(self, value_count)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\atomic\molc.py", line 95, in get_prop  
cget(self._c_pointer_ref, 1, v_ref)  
AttributeError: 'Ring' object has no attribute '_c_pointer_ref'  
  
AttributeError: 'Ring' object has no attribute '_c_pointer_ref'  
  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\atomic\molc.py", line 95, in get_prop  
cget(self._c_pointer_ref, 1, v_ref)  
  
See log for complete Python traceback.  
  

> isolde parameterise sel

Running ANTECHAMBER command: C:/Program
Files/ChimeraX/bin/amber20/bin/antechamber -ek qm_theory='AM1', -i
C:\Users\tristan\AppData\Local\Temp\tmpd7_n88a8\ante.in.mol2 -fi mol2 -o
C:\Users\tristan\AppData\Local\Temp\tmpd7_n88a8\ante.out.mol2 -fo mol2 -c bcc
-nc 4 -j 5 -s 2 -dr n  
(B7O) ``  
(B7O) `Welcome to antechamber 20.0: molecular input file processor.`  
(B7O) ``  
(B7O) `Info: Finished reading file
(C:\Users\tristan\AppData\Local\Temp\tmpd7_n88a8\ante.in.mol2); atoms read
(58), bonds read (61).`  
(B7O) `Info: Determining atomic numbers from atomic symbols which are case
sensitive.`  
(B7O) `Running: "C:/Program Files/ChimeraX/bin/amber20/bin/bondtype" -j part
-i ANTECHAMBER_BOND_TYPE.AC0 -o ANTECHAMBER_BOND_TYPE.AC -f ac`  
(B7O) `bash.exe: warning: could not find /tmp, please create!`  
(B7O) ``  
(B7O) ``  
(B7O) `Running: "C:/Program Files/ChimeraX/bin/amber20/bin/atomtype" -i
ANTECHAMBER_AC.AC0 -o ANTECHAMBER_AC.AC -p gaff`  
(B7O) `bash.exe: warning: could not find /tmp, please create!`  
(B7O) `Info: Total number of electrons: 224; net charge: 4`  
(B7O) ``  
(B7O) `Running: "C:/Program Files/ChimeraX/bin/amber20/bin/sqm" -O -i sqm.in
-o sqm.out`  
(B7O) `bash.exe: warning: could not find /tmp, please create!`  
(B7O) `/usr/bin/antechamber: Fatal Error!`  
(B7O) `Cannot properly run ""C:/Program Files/ChimeraX/bin/amber20/bin/sqm" -O
-i sqm.in -o sqm.out".`  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\cmd_line\tool.py", line 297, in execute  
cmd.run(cmd_text)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\commands\cli.py", line 2856, in run  
result = ci.function(session, **kw_args)  
File "C:\Users\tristan\AppData\Local\UCSF\ChimeraX\1.3\site-
packages\chimerax\isolde\openmm\amberff\parameterise.py", line 52, in
parameterise_cmd  
parameterise_ligand(session, residue, net_charge=net_charge)  
File "C:\Users\tristan\AppData\Local\UCSF\ChimeraX\1.3\site-
packages\chimerax\isolde\openmm\amberff\parameterise.py", line 27, in
parameterise_ligand  
nonstd_charge(session, Residues([residue]), net_charge, charge_method,
temp_dir=tempdir)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\add_charge\charge.py", line 605, in nonstd_charge  
raise ChargeError(ante_failure_msg)  
chimerax.add_charge.charge.ChargeError: Failure running ANTECHAMBER for
residue B7O  
Check reply log for details  
  
chimerax.add_charge.charge.ChargeError: Failure running ANTECHAMBER for
residue B7O  
Check reply log for details  
  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\add_charge\charge.py", line 605, in nonstd_charge  
raise ChargeError(ante_failure_msg)  
  
See log for complete Python traceback.  
  

> select up

58 atoms, 61 bonds, 1 residue, 1 model selected  

> select clear

> select up

58 atoms, 61 bonds, 1 residue, 1 model selected  

> ui tool show Shell

> save test.pdb #1 selectedOnly to

Invalid "selectedOnly" argument: Expected true or false (or 1 or 0)  

> save test.pdb #1 selectedOnly true

> select clear




OpenGL version: 3.3.0 NVIDIA 471.11
OpenGL renderer: NVIDIA GeForce RTX 2080/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation
Manufacturer: Notebook                        
Model: P7xxTM1
OS: Microsoft Windows 10 Education (Build 19041)
Memory: 68,654,501,888
MaxProcessMemory: 137,438,953,344
CPU: 16 Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz
OSLanguage: en-GB
Locale: ('en_GB', 'cp1252')
PyQt5 5.15.2, Qt 5.15.2
Installed Packages:
    -himerax-clipper: 0.17.0
    -himerax-isolde: 1.3.dev33
    alabaster: 0.7.12
    appdirs: 1.4.4
    Babel: 2.9.1
    backcall: 0.2.0
    blockdiag: 2.0.1
    certifi: 2021.10.8
    cftime: 1.5.1.1
    charset-normalizer: 2.0.7
    ChimeraX-AddCharge: 1.2
    ChimeraX-AddH: 2.1.10
    ChimeraX-AlignmentAlgorithms: 2.0
    ChimeraX-AlignmentHdrs: 3.2
    ChimeraX-AlignmentMatrices: 2.0
    ChimeraX-Alignments: 2.2.3
    ChimeraX-AlphaFold: 1.0
    ChimeraX-AltlocExplorer: 1.0.1
    ChimeraX-AmberInfo: 1.0
    ChimeraX-Arrays: 1.0
    ChimeraX-Atomic: 1.30.2
    ChimeraX-AtomicLibrary: 4.1.5
    ChimeraX-AtomSearch: 2.0
    ChimeraX-AtomSearchLibrary: 1.0
    ChimeraX-AxesPlanes: 2.0
    ChimeraX-BasicActions: 1.1
    ChimeraX-BILD: 1.0
    ChimeraX-BlastProtein: 2.0
    ChimeraX-BondRot: 2.0
    ChimeraX-BugReporter: 1.0
    ChimeraX-BuildStructure: 2.6
    ChimeraX-Bumps: 1.0
    ChimeraX-BundleBuilder: 1.1
    ChimeraX-ButtonPanel: 1.0
    ChimeraX-CageBuilder: 1.0
    ChimeraX-CellPack: 1.0
    ChimeraX-Centroids: 1.2
    ChimeraX-ChemGroup: 2.0
    ChimeraX-Clashes: 2.2.2
    ChimeraX-Clipper: 0.17.0
    ChimeraX-ColorActions: 1.0
    ChimeraX-ColorGlobe: 1.0
    ChimeraX-ColorKey: 1.5
    ChimeraX-CommandLine: 1.1.5
    ChimeraX-ConnectStructure: 2.0
    ChimeraX-Contacts: 1.0
    ChimeraX-Core: 1.3rc202111182158
    ChimeraX-CoreFormats: 1.1
    ChimeraX-coulombic: 1.3.1
    ChimeraX-Crosslinks: 1.0
    ChimeraX-Crystal: 1.0
    ChimeraX-CrystalContacts: 1.0
    ChimeraX-DataFormats: 1.2.2
    ChimeraX-Dicom: 1.0
    ChimeraX-DistMonitor: 1.1.5
    ChimeraX-DistUI: 1.0
    ChimeraX-Dssp: 2.0
    ChimeraX-EMDB-SFF: 1.0
    ChimeraX-ExperimentalCommands: 1.0
    ChimeraX-FileHistory: 1.0
    ChimeraX-FunctionKey: 1.0
    ChimeraX-Geometry: 1.1
    ChimeraX-gltf: 1.0
    ChimeraX-Graphics: 1.1
    ChimeraX-Hbonds: 2.1.2
    ChimeraX-Help: 1.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.3.dev33
    ChimeraX-ItemsInspection: 1.0
    ChimeraX-Label: 1.1
    ChimeraX-ListInfo: 1.1.1
    ChimeraX-Log: 1.1.4
    ChimeraX-LookingGlass: 1.1
    ChimeraX-Maestro: 1.8.1
    ChimeraX-Map: 1.1
    ChimeraX-MapData: 2.0
    ChimeraX-MapEraser: 1.0
    ChimeraX-MapFilter: 2.0
    ChimeraX-MapFit: 2.0
    ChimeraX-MapSeries: 2.1
    ChimeraX-Markers: 1.0
    ChimeraX-Mask: 1.0
    ChimeraX-MatchMaker: 2.0.4
    ChimeraX-MDcrds: 2.6
    ChimeraX-MedicalToolbar: 1.0.1
    ChimeraX-Meeting: 1.0
    ChimeraX-MLP: 1.1
    ChimeraX-mmCIF: 2.4
    ChimeraX-MMTF: 2.1
    ChimeraX-Modeller: 1.2.6
    ChimeraX-ModelPanel: 1.2.1
    ChimeraX-ModelSeries: 1.0
    ChimeraX-Mol2: 2.0
    ChimeraX-Morph: 1.0
    ChimeraX-MouseModes: 1.1
    ChimeraX-Movie: 1.0
    ChimeraX-Neuron: 1.0
    ChimeraX-Nucleotides: 2.0.2
    ChimeraX-OpenCommand: 1.7
    ChimeraX-PDB: 2.6.5
    ChimeraX-PDBBio: 1.0
    ChimeraX-PDBLibrary: 1.0.2
    ChimeraX-PDBMatrices: 1.0
    ChimeraX-PickBlobs: 1.0
    ChimeraX-Positions: 1.0
    ChimeraX-PresetMgr: 1.0.1
    ChimeraX-PubChem: 2.1
    ChimeraX-ReadPbonds: 1.0.1
    ChimeraX-Registration: 1.1
    ChimeraX-RemoteControl: 1.0
    ChimeraX-ResidueFit: 1.0
    ChimeraX-RestServer: 1.1
    ChimeraX-RNALayout: 1.0
    ChimeraX-RotamerLibMgr: 2.0.1
    ChimeraX-RotamerLibsDunbrack: 2.0
    ChimeraX-RotamerLibsDynameomics: 2.0
    ChimeraX-RotamerLibsRichardson: 2.0
    ChimeraX-SaveCommand: 1.5
    ChimeraX-SchemeMgr: 1.0
    ChimeraX-SDF: 2.0
    ChimeraX-Segger: 1.0
    ChimeraX-Segment: 1.0
    ChimeraX-SelInspector: 1.0
    ChimeraX-SeqView: 2.4.6
    ChimeraX-Shape: 1.0.1
    ChimeraX-Shell: 1.0
    ChimeraX-Shortcuts: 1.1
    ChimeraX-ShowAttr: 1.0
    ChimeraX-ShowSequences: 1.0
    ChimeraX-SideView: 1.0
    ChimeraX-Smiles: 2.1
    ChimeraX-SmoothLines: 1.0
    ChimeraX-SpaceNavigator: 1.0
    ChimeraX-StdCommands: 1.6.1
    ChimeraX-STL: 1.0
    ChimeraX-Storm: 1.0
    ChimeraX-Struts: 1.0
    ChimeraX-Surface: 1.0
    ChimeraX-SwapAA: 2.0
    ChimeraX-SwapRes: 2.1
    ChimeraX-TapeMeasure: 1.0
    ChimeraX-Test: 1.0
    ChimeraX-Toolbar: 1.1
    ChimeraX-ToolshedUtils: 1.2
    ChimeraX-Tug: 1.0
    ChimeraX-UI: 1.13.7
    ChimeraX-uniprot: 2.2
    ChimeraX-UnitCell: 1.0
    ChimeraX-ViewDockX: 1.0.1
    ChimeraX-VIPERdb: 1.0
    ChimeraX-Vive: 1.1
    ChimeraX-VolumeMenu: 1.0
    ChimeraX-VTK: 1.0
    ChimeraX-WavefrontOBJ: 1.0
    ChimeraX-WebCam: 1.0
    ChimeraX-WebServices: 1.0
    ChimeraX-Zone: 1.0
    colorama: 0.4.4
    comtypes: 1.1.10
    cxservices: 1.1
    cycler: 0.11.0
    Cython: 0.29.24
    decorator: 5.1.0
    docutils: 0.17.1
    filelock: 3.0.12
    funcparserlib: 0.3.6
    grako: 3.16.5
    h5py: 3.6.0
    html2text: 2020.1.16
    idna: 3.3
    ihm: 0.21
    imagecodecs: 2021.4.28
    imagesize: 1.3.0
    ipykernel: 5.5.5
    ipython: 7.23.1
    ipython-genutils: 0.2.0
    jedi: 0.18.0
    Jinja2: 3.0.1
    jupyter-client: 6.1.12
    jupyter-core: 4.9.1
    kiwisolver: 1.3.2
    lxml: 4.6.3
    lz4: 3.1.3
    MarkupSafe: 2.0.1
    matplotlib: 3.4.3
    matplotlib-inline: 0.1.3
    msgpack: 1.0.2
    netCDF4: 1.5.7
    networkx: 2.6.3
    numexpr: 2.7.3
    numpy: 1.21.2
    openvr: 1.16.801
    packaging: 21.3
    ParmEd: 3.2.0
    parso: 0.8.2
    pickleshare: 0.7.5
    Pillow: 8.3.2
    pip: 21.2.4
    pkginfo: 1.7.1
    prompt-toolkit: 3.0.22
    psutil: 5.8.0
    pycollada: 0.7.1
    pydicom: 2.1.2
    Pygments: 2.10.0
    PyOpenGL: 3.1.5
    PyOpenGL-accelerate: 3.1.5
    pyparsing: 3.0.6
    PyQt5-commercial: 5.15.2
    PyQt5-sip: 12.8.1
    PyQtWebEngine-commercial: 5.15.2
    python-dateutil: 2.8.2
    pytz: 2021.3
    pywin32: 228
    pyzmq: 22.3.0
    qtconsole: 5.1.1
    QtPy: 1.11.2
    RandomWords: 0.3.0
    requests: 2.26.0
    scipy: 1.7.1
    setuptools: 57.5.0
    sfftk-rw: 0.7.1
    six: 1.16.0
    snowballstemmer: 2.2.0
    sortedcontainers: 2.4.0
    Sphinx: 4.2.0
    sphinx-autodoc-typehints: 1.12.0
    sphinxcontrib-applehelp: 1.0.2
    sphinxcontrib-blockdiag: 2.0.0
    sphinxcontrib-devhelp: 1.0.2
    sphinxcontrib-htmlhelp: 2.0.0
    sphinxcontrib-jsmath: 1.0.1
    sphinxcontrib-qthelp: 1.0.3
    sphinxcontrib-serializinghtml: 1.1.5
    suds-jurko: 0.6
    tables: 3.6.1
    tifffile: 2021.4.8
    tinyarray: 1.2.3
    tornado: 6.1
    traitlets: 5.1.1
    urllib3: 1.26.7
    wcwidth: 0.2.5
    webcolors: 1.11.1
    wheel: 0.37.0
    wheel-filename: 1.3.0
    WMI: 1.5.1

Change History (7)

comment:1 by pett, 4 years ago

Component: UnassignedStructure Editing
Owner: set to pett
Platform: all
Project: ChimeraX
Status: newaccepted
Summary: ChimeraX bug report submissionring/atom type "sticky"

comment:2 by pett, 4 years ago

Status: acceptedfeedback

I do not get this behavior. Using these commands:

open 6j1u format mmcif fromDatabase pdb
delete ~/c:b7o
view
label #1 atoms attribute idatm_type
build modify /C:501@CAQ C 4 geometry tetrahedral resName UNL
(you should see the oxygens change to O3 and appropriate carbons to C3)
addh

Then in the shell:

from chimerax.add_charge import estimate_net_charge
s = session.models[0]
estimate_net_charge(s.atoms)

returns 0

Does the above do the same for you?

Last edited 4 years ago by pett (previous) (diff)

comment:3 by pett, 4 years ago

The "open" command had a spurious "title:" at the end (didn't completely fix up my cut-and-paste from my log).

in reply to:  4 ; comment:4 by Tristan Croll, 4 years ago

Fails (i.e. atom types don't change) if "addh template true" (*NOT* simply "addh") was done first, even if the hydrogens are then deleted before making the modification:

 open 6j1u format mmcif fromDatabase pdb6j1u
 delete ~/c:b7o
 view
 addh templ t
 label #1 atoms attribute idatm_type
 build modify /C:501@CAQ C 4 geometry tetrahedral resName UNL
 (you should see the oxygens change to O3 and appropriate carbons to C3)
________________________________
From: ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
Sent: 23 November 2021 17:41
Cc: pett@cgl.ucsf.edu <pett@cgl.ucsf.edu>; Tristan Croll <tic20@cam.ac.uk>
Subject: Re: [ChimeraX] #5667: ring/atom type "sticky"

#5667: ring/atom type "sticky"
----------------------------------------+----------------------------
          Reporter:  Tristan Croll      |      Owner:  Eric Pettersen
              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 Eric Pettersen):

 * status:  accepted => feedback


Comment:

 I do not get this behavior.  Using these commands:

 open 6j1u format mmcif fromDatabase pdb6j1u title:
 delete ~/c:b7o
 view
 label #1 atoms attribute idatm_type
 build modify /C:501@CAQ C 4 geometry tetrahedral resName UNL
 (you should see the oxygens change to O3 and appropriate carbons to C3)
 addh

 Then in the shell:

 from chimerax.add_charge import estimate_net_charge
 s = session.models[0]
 estimate_net_charge(s.atoms)

 returns 0

 Does the above do the same for you?

--
Ticket URL: <https://www.rbvi.ucsf.edu/trac/ChimeraX/ticket/5667#comment:2>
ChimeraX <https://www.rbvi.ucsf.edu/chimerax/>
ChimeraX Issue Tracker

in reply to:  5 ; comment:5 by Tristan Croll, 4 years ago

Oops - accidentally included that last line in parentheses in my copy/paste.
________________________________
From: Tristan Croll <tic20@cam.ac.uk>
Sent: 23 November 2021 17:49
To: ChimeraX-bugs@cgl.ucsf.edu <ChimeraX-bugs@cgl.ucsf.edu>
Subject: Re: [ChimeraX] #5667: ring/atom type "sticky"

Fails (i.e. atom types don't change) if "addh template true" (*NOT* simply "addh") was done first, even if the hydrogens are then deleted before making the modification:

 open 6j1u format mmcif fromDatabase pdb6j1u
 delete ~/c:b7o
 view
 addh templ t
 label #1 atoms attribute idatm_type
 build modify /C:501@CAQ C 4 geometry tetrahedral resName UNL
 (you should see the oxygens change to O3 and appropriate carbons to C3)
________________________________
From: ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
Sent: 23 November 2021 17:41
Cc: pett@cgl.ucsf.edu <pett@cgl.ucsf.edu>; Tristan Croll <tic20@cam.ac.uk>
Subject: Re: [ChimeraX] #5667: ring/atom type "sticky"

#5667: ring/atom type "sticky"
----------------------------------------+----------------------------
          Reporter:  Tristan Croll      |      Owner:  Eric Pettersen
              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 Eric Pettersen):

 * status:  accepted => feedback


Comment:

 I do not get this behavior.  Using these commands:

 open 6j1u format mmcif fromDatabase pdb6j1u title:
 delete ~/c:b7o
 view
 label #1 atoms attribute idatm_type
 build modify /C:501@CAQ C 4 geometry tetrahedral resName UNL
 (you should see the oxygens change to O3 and appropriate carbons to C3)
 addh

 Then in the shell:

 from chimerax.add_charge import estimate_net_charge
 s = session.models[0]
 estimate_net_charge(s.atoms)

 returns 0

 Does the above do the same for you?

--
Ticket URL: <https://www.rbvi.ucsf.edu/trac/ChimeraX/ticket/5667#comment:2>
ChimeraX <https://www.rbvi.ucsf.edu/chimerax/>
ChimeraX Issue Tracker

comment:6 by pett, 4 years ago

Since all templates are neutrally protonated, the addh code ignores the hydrogens in the template when computing IDATM types from the exemplar. If I force it to consider protons, then "add template t" protonates that ring as desired immediately. The problem is it would get the protonation state of a whole bunch of other ligands wrong (well, neutral). I think these are my options:

1) Allow a third choice for the "template" keyword: "h", which would mean to consider the template protons when computing the IDATM types.
2) Have the assignment of types from the template not be considered "explicit" assignments, which means they can change if the structure is subsequently modified.
3) Perhaps not have aromatic ring assignments preferred if it requires > +1 charge.

I think #2 is the right thing to do anyway. #1 doesn't seem any better than #2 since they both require that you know that the IDATM types are going to be wrong. I wouldn't want to do #3 until I'd surveyed some structures with such rings to ascertain that it seems correct, but I probably should investigate.

comment:7 by pett, 4 years ago

Resolution: fixed
Status: feedbackclosed

Okay, have implemented #2. Will investigate #3 when time allows.

Note: See TracTickets for help on using tickets.