Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#3304 closed enhancement (wontfix)

safeguard chain IDs

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:        Linux-3.10.0-1062.9.1.el7.x86_64-x86_64-with-centos-7.7.1908-Core
ChimeraX Version: 1.0rc202005242323 (2020-05-24 23:23:37 UTC)
Description
First chance to try out the new chain renaming (swapping IDs for two pairs of chains), and I mess it up - accidentally renamed a chain to "/AG". Fixed my mistake with a little tinkering in the shell, but I'm guessing this wouldn't be recoverable via the command line only. Might want to add a catch to prevent the creation of illegal chain IDs?

Log:
UCSF ChimeraX version: 1.0rc202005242323 (2020-05-24)  
© 2016-2020 Regents of the University of California. All rights reserved.  

> open working.cxs

restore_snapshot for "RotamerRestraintMgr" returned None  

Log from Mon May 25 22:28:45 2020

> save working.cxs

> save working.cxs

> sequence chain /aa

Alignment identifier is 1.2.aa  

> sequence chain /BA

Alignment identifier is 1.2.BA  

> sequence chain /AA

Alignment identifier is 1.2.AA  

> sequence chain /AA

Alignment identifier is 1.2.AA  

> view lse

Expected an objects specifier or a view name or a keyword  

> view sel

> sequence chain /BA

Alignment identifier is 1.2.BA  

> sequence chain /BB

Alignment identifier is 1.2.BB  

> sequence chain /ba

Alignment identifier is 1.2.ba  

> view sel

> isolde stepto /BA

Multiple residues selected! Going to the first...  

> color sel bychain

> color sel byhetero

> color sel bychain

> color sel byhetero

> isolde stepto /ba

Multiple residues selected! Going to the first...  

> color sel bychain

> color sel byhetero

> color sel bychain

> color sel byhetero

> select clear

> isolde stepto /bb

Multiple residues selected! Going to the first...  

> color sel bychain

> color sel byhetero

> color sel bychain

> color sel byhetero

> select clear

> isolde stepto /bc

Multiple residues selected! Going to the first...  

> color sel bychain

> color sel byhetero

> color sel bychain

> color sel byhetero

> select clear

> isolde stepto /bd

Multiple residues selected! Going to the first...  

> color sel bychain

> color sel byhetero

> color sel bychain

> color sel byhetero

> view sel

> select up

7 atoms, 6 bonds, 1 model selected  

> delete sel

> isolde stepto /bd

Multiple residues selected! Going to the first...  

> color sel bychain

> color sel byhetero

> color sel bychain

> color sel byhetero

> isolde stepto /be

Multiple residues selected! Going to the first...  

> color sel bychain

> color sel byhetero

> color sel bychain

> color sel byhetero

> isolde stepto /bf

Multiple residues selected! Going to the first...  

> color sel bychain

> color sel byhetero

> color sel bychain

> color sel byhetero

> isolde stepto /bg

Multiple residues selected! Going to the first...  

> color sel bychain

> color sel byhetero

> color sel bychain

> color sel byhetero

> select clear

> isolde stepto /bh

Multiple residues selected! Going to the first...  

> color sel bychain

> color sel byhetero

> color sel bychain

> color sel byhetero

> view sel

> select up

7 atoms, 6 bonds, 1 model selected  

> delete sel

> isolde stepto /bh

Multiple residues selected! Going to the first...  

> color sel bychain

> color sel byhetero

> color sel bychain

> color sel byhetero

> select clear

> isolde stepto /bg

Multiple residues selected! Going to the first...  

> isolde stepto /bg

Multiple residues selected! Going to the first...  

> isolde stepto /bh

Multiple residues selected! Going to the first...  

> isolde stepto /bi

Multiple residues selected! Going to the first...  

> color sel bychain

> color sel byhetero

> color sel bychain

> color sel byhetero

> select clear

> isolde stepto /bj

Multiple residues selected! Going to the first...  

> color sel bychain

> color sel byhetero

> color sel bychain

> color sel byhetero

> select clear

> isolde stepto /bk

Multiple residues selected! Going to the first...  

> color sel bychain

> color sel byhetero

> color sel bychain

> color sel byhetero

> select clear

Tugging of non-polar hydrogens is not enabled. Applying tug to the nearest
bonded heavy atom.  

> isolde stepto /bl

Multiple residues selected! Going to the first...  

> color sel bychain

> color sel byhetero

> color sel bychain

> color sel byhetero

> isolde stepto /bm

Multiple residues selected! Going to the first...  

> color sel bychain

> color sel byhetero

> color sel bychain

> color sel byhetero

> select clear

> isolde stepto /bn

Multiple residues selected! Going to the first...  

> color sel bychain

> color sel byhetero

> color sel bychain

> color sel byhetero

> color sel bychain

> color sel byhetero

> color sel bychain

> color sel byhetero

> select clear

> select clear

> isolde stepto /bo

Multiple residues selected! Going to the first...  

> color sel bychain

> color sel byhetero

> color sel bychain

> color sel byhetero

> view sel

> select up

7 atoms, 6 bonds, 1 model selected  

> delete sel

> isolde stepto /bo

Multiple residues selected! Going to the first...  

> isolde stepto /bo

Multiple residues selected! Going to the first...  

> color sel bychain

> color sel byhetero

> color sel bychain

> color sel byhetero

> select clear

> isolde stepto /bp

Multiple residues selected! Going to the first...  

> color sel bychain

> color sel byhetero

> color sel bychain

> color sel byhetero

> isolde stepto /bq

Selection contains no residues!  

> select clear

> save working.cxs

opened ChimeraX session  

> setattr /AF c chain_id QF

Assigning chain_id attribute to 1 item  

> setattr /AF r chain_id QF

Assigning chain_id attribute to 2 items  

> setattr /BF c chain_id RF

Assigning chain_id attribute to 1 item  

> setattr /BF r chain_id RF

Assigning chain_id attribute to 1 item  

> setattr /QF c chain_id BF

Assigning chain_id attribute to 1 item  

> setattr /QF r chain_id BF

Assigning chain_id attribute to 2 items  

> setattr /RF r chain_id AF

Assigning chain_id attribute to 46 items  
Cannot set attribute 'chain_id' to 'AF'  

> setattr /RF c chain_id AF

Assigning chain_id attribute to 1 item  

> setattr /RF r chain_id AF

Assigning chain_id attribute to 1 item  

> select /AD,AE,AF

2589 atoms, 2655 bonds, 13 pseudobonds, 3 models selected  

> select /AD,AE,AF,AG

3455 atoms, 3541 bonds, 17 pseudobonds, 3 models selected  

> select clear

> setattr /AG c chain_id QG

Assigning chain_id attribute to 1 item  

> setattr /AG r chain_id QG

Assigning chain_id attribute to 2 items  

> setattr /BG c chain_id RG

Assigning chain_id attribute to 1 item  

> setattr /BG r chain_id RG

Assigning chain_id attribute to 1 item  

> setattr /QG c chain_id BG

Assigning chain_id attribute to 1 item  

> setattr /QG r chain_id BG

Assigning chain_id attribute to 2 items  

> setattr /RG c chain_id /AG

Assigning chain_id attribute to 1 item  

> setattr /RG r chain_id /AG

Assigning chain_id attribute to 1 item  

> select /AD,AE,AF,AG

2589 atoms, 2655 bonds, 13 pseudobonds, 3 models selected  

> select clear

> select /AG

Nothing selected  

> select /AD

863 atoms, 885 bonds, 4 pseudobonds, 2 models selected  

> select /AD,AE,AF

2589 atoms, 2655 bonds, 13 pseudobonds, 3 models selected  

> select /AG

Nothing selected  

> select clear

> ui tool show Shell

/opt/UCSF/ChimeraX/lib/python3.7/site-packages/IPython/core/history.py:226:
UserWarning: IPython History requires SQLite, your history will not be saved  
warn("IPython History requires SQLite, your history will not be saved")  

> isolde start

> set selectionWidth 4

Done loading forcefield  




OpenGL version: 3.3.0 NVIDIA 440.33.01
OpenGL renderer: TITAN Xp/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation
Manufacturer: Dell Inc.
Model: Precision T5600
OS: CentOS Linux 7 Core
Architecture: 64bit ELF
CPU: 32 Intel(R) Xeon(R) CPU E5-2687W 0 @ 3.10GHz
Cache Size: 20480 KB
Memory:
	              total        used        free      shared  buff/cache   available
	Mem:            62G        7.8G         41G        159M         13G         54G
	Swap:          4.9G          0B        4.9G

Graphics:
	03:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP102 [TITAN Xp] [10de:1b02] (rev a1)	
	Subsystem: NVIDIA Corporation Device [10de:11df]	
	Kernel driver in use: nvidia
PyQt version: 5.12.3
Compiled Qt version: 5.12.4
Runtime Qt version: 5.12.8

Change History (3)

comment:1 by Eric Pettersen, 5 years ago

Component: UnassignedStructure Editing
Owner: set to Eric Pettersen
Platform: all
Project: ChimeraX
Status: newaccepted
Summary: ChimeraX bug report submissionsafeguard chain IDs
Type: defectenhancement

comment:2 by Eric Pettersen, 5 years ago

Resolution: wontfix
Status: acceptedclosed

Hi Tristan,

I do not envision "setattr" as being the command for changing chain IDs. There will be a dedicated command for that that will have sanity checks to prevents snafus like the one you had. Therefore I don't plan to put checks into the lower level code. AFAIK, random PDB files could use '/' as a chain ID in an attempt to get more chains into a file. The ticket for the dedicated command is #3197, if you want to put yourself on the cc list.

--Eric

Eric Pettersen
UCSF Computer Graphics Lab

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

Done!

- T

On 2020-05-26 17:54, ChimeraX wrote:
Note: See TracTickets for help on using tickets.