#4391 closed defect (fixed)
view matrix: 'tuple' object has no attribute 'matrix'
| Reported by: | Owned by: | Eric Pettersen | |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Graphics | Version: | |
| Keywords: | Cc: | ||
| Blocked By: | Blocking: | ||
| Notify when closed: | Platform: | all | |
| Project: | ChimeraX |
Description
The following bug report has been submitted:
Platform: Linux-5.10.19-200.fc33.x86_64-x86_64-with-glibc2.14
ChimeraX Version: 1.2.dev202103220641 (2021-03-22 06:41:31 UTC)
Description
I'm trying to get my view matrix so I can put this into a script. The manual says that 'view matrix' should give the current view in matrix form but instead I get an attribute error? I might just be doing something wrong though.
Log:
UCSF ChimeraX version: 1.2.dev202103220641 (2021-03-22)
© 2016-2020 Regents of the University of California. All rights reserved.
How to cite UCSF ChimeraX
> open gen_water.cxc
> cd /home/ben/Documents/Projects/Teixobactin/Data/1GHz_50ms/vis
Current working directory is:
/home/ben/Documents/Projects/Teixobactin/Data/1GHz_50ms/vis
> open 6yfy
6yfy title:
Solid-state NMR structure of the D-Arg4,L10-teixobactin - Lipid II complex in
lipid bilayers [more info...]
Chain information for 6yfy
---
Chain | Description
1.1/A 1.1/B 1.1/E 1.1/F | D-Arg4,Leu10-Teixobactin
1.2/A 1.3/A 1.4/A 1.5/A 1.6/A 1.7/A 1.8/A 1.9/A 1.10/A 1.11/A 1.12/A 1.13/A
1.14/A 1.15/A 1.16/A 1.17/A 1.18/A 1.19/A 1.20/A 1.21/A 1.22/A 1.23/A 1.24/A
1.25/A 1.26/A 1.2/B 1.3/B 1.4/B 1.5/B 1.6/B 1.7/B 1.8/B 1.9/B 1.10/B 1.11/B
1.12/B 1.13/B 1.14/B 1.15/B 1.16/B 1.17/B 1.18/B 1.19/B 1.20/B 1.21/B 1.22/B
1.23/B 1.24/B 1.25/B 1.26/B 1.2/E 1.3/E 1.4/E 1.5/E 1.6/E 1.7/E 1.8/E 1.9/E
1.10/E 1.11/E 1.12/E 1.13/E 1.14/E 1.15/E 1.16/E 1.17/E 1.18/E 1.19/E 1.20/E
1.21/E 1.22/E 1.23/E 1.24/E 1.25/E 1.26/E 1.2/F 1.3/F 1.4/F 1.5/F 1.6/F 1.7/F
1.8/F 1.9/F 1.10/F 1.11/F 1.12/F 1.13/F 1.14/F 1.15/F 1.16/F 1.17/F 1.18/F
1.19/F 1.20/F 1.21/F 1.22/F 1.23/F 1.24/F 1.25/F 1.26/F |
D-Arg4,Leu10-Teixobactin
1.1/C 1.1/D 1.1/G 1.1/H | Lipid II
1.2/C 1.3/C 1.4/C 1.5/C 1.6/C 1.7/C 1.8/C 1.9/C 1.10/C 1.11/C 1.12/C 1.13/C
1.14/C 1.15/C 1.16/C 1.17/C 1.18/C 1.19/C 1.20/C 1.21/C 1.22/C 1.23/C 1.24/C
1.25/C 1.26/C 1.2/D 1.3/D 1.4/D 1.5/D 1.6/D 1.7/D 1.8/D 1.9/D 1.10/D 1.11/D
1.12/D 1.13/D 1.14/D 1.15/D 1.16/D 1.17/D 1.18/D 1.19/D 1.20/D 1.21/D 1.22/D
1.23/D 1.24/D 1.25/D 1.26/D 1.2/G 1.3/G 1.4/G 1.5/G 1.6/G 1.7/G 1.8/G 1.9/G
1.10/G 1.11/G 1.12/G 1.13/G 1.14/G 1.15/G 1.16/G 1.17/G 1.18/G 1.19/G 1.20/G
1.21/G 1.22/G 1.23/G 1.24/G 1.25/G 1.26/G 1.2/H 1.3/H 1.4/H 1.5/H 1.6/H 1.7/H
1.8/H 1.9/H 1.10/H 1.11/H 1.12/H 1.13/H 1.14/H 1.15/H 1.16/H 1.17/H 1.18/H
1.19/H 1.20/H 1.21/H 1.22/H 1.23/H 1.24/H 1.25/H 1.26/H | Lipid II
> select ~#1.1
36500 atoms, 36600 bonds, 2300 residues, 26 models selected
> delete sel
> select #1.1
1460 atoms, 1464 bonds, 92 residues, 1 model selected
> open water_50msN.defattr
Summary of feedback from opening water_50msN.defattr
---
note | Assigned attribute 'satN_Swater' to 48 atoms using match mode: any
> open water_50msC.defattr
Summary of feedback from opening water_50msC.defattr
---
note | Assigned attribute 'satC_Swater' to 108 atoms using match mode: any
> hide cartoons
> hide atoms
> style ball
Changed 1460 atom styles
> delete H
> color grey
> set bgColor white
> select /C/D/G/H
132 atoms, 128 bonds, 20 residues, 1 model selected
> hide sel cartoons
> show sel surfaces
> color sel white
> select /A/B/E/F
348 atoms, 352 bonds, 44 residues, 1 model selected
> show sel atoms
> color byattribute satC_Swater palette blues-7
704 atoms, 92 residues, 4 surfaces, atom satC_Swater range 0.35 to 1.01
> lighting soft
> key ^blues-7 :unsaturated : : : : : :saturated
> ~select
Nothing selected
> graphics silhouettes true
> view matrix camera
> -0.54428,0.12604,0.82938,60.729,0.16128,0.98593,-0.043995,-0.27895,-0.82326,0.10981,-0.55695,-21.737
executed gen_water.cxc
> view
> view
> view matrix
Traceback (most recent call last):
File "/opt/UCSF/ChimeraX-daily/lib/python3.8/site-
packages/chimerax/cmd_line/tool.py", line 275, in execute
cmd.run(cmd_text)
File "/opt/UCSF/ChimeraX-daily/lib/python3.8/site-
packages/chimerax/core/commands/cli.py", line 2852, in run
result = ci.function(session, **kw_args)
File "/opt/UCSF/ChimeraX-daily/lib/python3.8/site-
packages/chimerax/std_commands/view.py", line 472, in view_matrix
report_positions(session)
File "/opt/UCSF/ChimeraX-daily/lib/python3.8/site-
packages/chimerax/std_commands/view.py", line 479, in report_positions
lines.append('model positions: %s\n' % model_positions_string(mlist))
File "/opt/UCSF/ChimeraX-daily/lib/python3.8/site-
packages/chimerax/std_commands/view.py", line 483, in model_positions_string
mpos = ','.join('#%s,%s' % (m.id_string, _position_string(m.position)) for m
in models)
File "/opt/UCSF/ChimeraX-daily/lib/python3.8/site-
packages/chimerax/std_commands/view.py", line 483, in <genexpr>
mpos = ','.join('#%s,%s' % (m.id_string, _position_string(m.position)) for m
in models)
File "/opt/UCSF/ChimeraX-daily/lib/python3.8/site-
packages/chimerax/std_commands/view.py", line 487, in _position_string
return ','.join('%.5g' % x for x in tuple(p.matrix.flat))
AttributeError: 'tuple' object has no attribute 'matrix'
AttributeError: 'tuple' object has no attribute 'matrix'
File "/opt/UCSF/ChimeraX-daily/lib/python3.8/site-
packages/chimerax/std_commands/view.py", line 487, in _position_string
return ','.join('%.5g' % x for x in tuple(p.matrix.flat))
See log for complete Python traceback.
> view matrixggh
Expected an objects specifier or a view name or a keyword
> view matrix
Traceback (most recent call last):
File "/opt/UCSF/ChimeraX-daily/lib/python3.8/site-
packages/chimerax/cmd_line/tool.py", line 275, in execute
cmd.run(cmd_text)
File "/opt/UCSF/ChimeraX-daily/lib/python3.8/site-
packages/chimerax/core/commands/cli.py", line 2852, in run
result = ci.function(session, **kw_args)
File "/opt/UCSF/ChimeraX-daily/lib/python3.8/site-
packages/chimerax/std_commands/view.py", line 472, in view_matrix
report_positions(session)
File "/opt/UCSF/ChimeraX-daily/lib/python3.8/site-
packages/chimerax/std_commands/view.py", line 479, in report_positions
lines.append('model positions: %s\n' % model_positions_string(mlist))
File "/opt/UCSF/ChimeraX-daily/lib/python3.8/site-
packages/chimerax/std_commands/view.py", line 483, in model_positions_string
mpos = ','.join('#%s,%s' % (m.id_string, _position_string(m.position)) for m
in models)
File "/opt/UCSF/ChimeraX-daily/lib/python3.8/site-
packages/chimerax/std_commands/view.py", line 483, in <genexpr>
mpos = ','.join('#%s,%s' % (m.id_string, _position_string(m.position)) for m
in models)
File "/opt/UCSF/ChimeraX-daily/lib/python3.8/site-
packages/chimerax/std_commands/view.py", line 487, in _position_string
return ','.join('%.5g' % x for x in tuple(p.matrix.flat))
AttributeError: 'tuple' object has no attribute 'matrix'
AttributeError: 'tuple' object has no attribute 'matrix'
File "/opt/UCSF/ChimeraX-daily/lib/python3.8/site-
packages/chimerax/std_commands/view.py", line 487, in _position_string
return ','.join('%.5g' % x for x in tuple(p.matrix.flat))
See log for complete Python traceback.
OpenGL version: 4.6 (Core Profile) Mesa 20.3.4
OpenGL renderer: Mesa Intel(R) UHD Graphics (ICL GT1)
OpenGL vendor: Intel
Manufacturer: LENOVO
Model: 81YH
OS: Fedora 33
Architecture: 64bit ELF
Virutal Machine: none
CPU: 8 Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz
Cache Size: 6144 KB
Memory:
total used free shared buff/cache available
Mem: 7.4Gi 4.4Gi 1.1Gi 1.5Gi 2.0Gi 1.3Gi
Swap: 3.7Gi 197Mi 3.5Gi
Graphics:
00:02.0 VGA compatible controller [0300]: Intel Corporation Iris Plus Graphics G1 (Ice Lake) [8086:8a56] (rev 07)
Subsystem: Lenovo Device [17aa:3f0a]
Kernel driver in use: i915
Locale: ('en_GB', 'UTF-8')
PyQt5 5.15.2, Qt 5.15.2
Installed Packages:
alabaster: 0.7.12
appdirs: 1.4.4
Babel: 2.9.0
backcall: 0.2.0
blockdiag: 2.0.1
certifi: 2020.12.5
cftime: 1.4.1
chardet: 3.0.4
ChimeraX-AddCharge: 1.0
ChimeraX-AddH: 2.1.4
ChimeraX-AlignmentAlgorithms: 2.0
ChimeraX-AlignmentHdrs: 3.2
ChimeraX-AlignmentMatrices: 2.0
ChimeraX-Alignments: 2.1
ChimeraX-AmberInfo: 1.0
ChimeraX-Arrays: 1.0
ChimeraX-Atomic: 1.11.2
ChimeraX-AtomicLibrary: 2.0
ChimeraX-AtomSearch: 2.0
ChimeraX-AtomSearchLibrary: 1.0
ChimeraX-AxesPlanes: 2.0
ChimeraX-BasicActions: 1.1
ChimeraX-BILD: 1.0
ChimeraX-BlastProtein: 1.1
ChimeraX-BondRot: 2.0
ChimeraX-BugReporter: 1.0
ChimeraX-BuildStructure: 2.5
ChimeraX-Bumps: 1.0
ChimeraX-BundleBuilder: 1.1
ChimeraX-ButtonPanel: 1.0
ChimeraX-CageBuilder: 1.0
ChimeraX-CellPack: 1.0
ChimeraX-Centroids: 1.1
ChimeraX-ChemGroup: 2.0
ChimeraX-Clashes: 2.1
ChimeraX-ColorActions: 1.0
ChimeraX-ColorGlobe: 1.0
ChimeraX-ColorKey: 1.2
ChimeraX-CommandLine: 1.1.3
ChimeraX-ConnectStructure: 2.0
ChimeraX-Contacts: 1.0
ChimeraX-Core: 1.2.dev202103220641
ChimeraX-CoreFormats: 1.0
ChimeraX-coulombic: 1.1
ChimeraX-Crosslinks: 1.0
ChimeraX-Crystal: 1.0
ChimeraX-CrystalContacts: 1.0
ChimeraX-DataFormats: 1.1
ChimeraX-Dicom: 1.0
ChimeraX-DistMonitor: 1.1
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.0
ChimeraX-Hbonds: 2.1
ChimeraX-Help: 1.1
ChimeraX-HKCage: 1.3
ChimeraX-IHM: 1.0
ChimeraX-ImageFormats: 1.1
ChimeraX-IMOD: 1.0
ChimeraX-IO: 1.0.1
ChimeraX-Label: 1.0
ChimeraX-LinuxSupport: 1.0
ChimeraX-ListInfo: 1.1
ChimeraX-Log: 1.1.1
ChimeraX-LookingGlass: 1.1
ChimeraX-Maestro: 1.8.1
ChimeraX-Map: 1.0.2
ChimeraX-MapData: 2.0
ChimeraX-MapEraser: 1.0
ChimeraX-MapFilter: 2.0
ChimeraX-MapFit: 2.0
ChimeraX-MapSeries: 2.0
ChimeraX-Markers: 1.0
ChimeraX-Mask: 1.0
ChimeraX-MatchMaker: 1.1
ChimeraX-MDcrds: 2.2
ChimeraX-MedicalToolbar: 1.0.1
ChimeraX-Meeting: 1.0
ChimeraX-MLP: 1.1
ChimeraX-mmCIF: 2.3
ChimeraX-MMTF: 2.1
ChimeraX-Modeller: 1.0
ChimeraX-ModelPanel: 1.0.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
ChimeraX-OpenCommand: 1.5
ChimeraX-PDB: 2.3
ChimeraX-PDBBio: 1.0
ChimeraX-PDBLibrary: 1.0
ChimeraX-PDBMatrices: 1.0
ChimeraX-PickBlobs: 1.0
ChimeraX-Positions: 1.0
ChimeraX-PresetMgr: 1.0.1
ChimeraX-PubChem: 2.0.1
ChimeraX-ReadPbonds: 1.0
ChimeraX-Registration: 1.1
ChimeraX-RemoteControl: 1.0
ChimeraX-ResidueFit: 1.0
ChimeraX-RestServer: 1.1
ChimeraX-RNALayout: 1.0
ChimeraX-RotamerLibMgr: 2.0
ChimeraX-RotamerLibsDunbrack: 2.0
ChimeraX-RotamerLibsDynameomics: 2.0
ChimeraX-RotamerLibsRichardson: 2.0
ChimeraX-SaveCommand: 1.4
ChimeraX-SchemeMgr: 1.0
ChimeraX-SDF: 2.0
ChimeraX-Segger: 1.0
ChimeraX-Segment: 1.0
ChimeraX-SeqView: 2.3
ChimeraX-Shape: 1.0.1
ChimeraX-Shell: 1.0
ChimeraX-Shortcuts: 1.0
ChimeraX-ShowAttr: 1.0
ChimeraX-ShowSequences: 1.0
ChimeraX-SideView: 1.0
ChimeraX-Smiles: 2.0.1
ChimeraX-SmoothLines: 1.0
ChimeraX-SpaceNavigator: 1.0
ChimeraX-StdCommands: 1.3
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.0.1
ChimeraX-ToolshedUtils: 1.1
ChimeraX-Tug: 1.0
ChimeraX-UI: 1.7
ChimeraX-uniprot: 2.1
ChimeraX-UnitCell: 1.0
ChimeraX-ViewDockX: 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.3
comtypes: 1.1.7
cxservices: 1.0
cycler: 0.10.0
Cython: 0.29.21
decorator: 4.4.2
distlib: 0.3.1
distro: 1.5.0
docutils: 0.16
filelock: 3.0.12
funcparserlib: 0.3.6
grako: 3.16.5
h5py: 2.10.0
html2text: 2020.1.16
idna: 2.10
ihm: 0.17
imagecodecs: 2020.5.30
imagesize: 1.2.0
ipykernel: 5.3.4
ipython: 7.18.1
ipython-genutils: 0.2.0
jedi: 0.17.2
Jinja2: 2.11.2
jupyter-client: 6.1.7
jupyter-core: 4.7.1
kiwisolver: 1.3.1
line-profiler: 2.1.2
lxml: 4.6.2
lz4: 3.1.0
MarkupSafe: 1.1.1
matplotlib: 3.3.2
msgpack: 1.0.0
netCDF4: 1.5.4
networkx: 2.5
numexpr: 2.7.3
numpy: 1.19.2
numpydoc: 1.1.0
openvr: 1.14.1501
packaging: 20.9
ParmEd: 3.2.0
parso: 0.7.1
pexpect: 4.8.0
pickleshare: 0.7.5
Pillow: 7.2.0
pip: 21.0.1
pkginfo: 1.5.0.1
prompt-toolkit: 3.0.18
psutil: 5.7.2
ptyprocess: 0.7.0
pycollada: 0.7.1
pydicom: 2.0.0
Pygments: 2.7.1
PyOpenGL: 3.1.5
PyOpenGL-accelerate: 3.1.5
pyparsing: 2.4.7
PyQt5-commercial: 5.15.2
PyQt5-sip: 12.8.1
PyQtWebEngine-commercial: 5.15.2
python-dateutil: 2.8.1
pytz: 2021.1
pyzmq: 22.0.3
qtconsole: 4.7.7
QtPy: 1.9.0
RandomWords: 0.3.0
requests: 2.24.0
scipy: 1.5.2
setuptools: 50.3.2
sfftk-rw: 0.6.7.dev1
six: 1.15.0
snowballstemmer: 2.1.0
sortedcontainers: 2.2.2
Sphinx: 3.2.1
sphinxcontrib-applehelp: 1.0.2
sphinxcontrib-blockdiag: 2.0.0
sphinxcontrib-devhelp: 1.0.2
sphinxcontrib-htmlhelp: 1.0.3
sphinxcontrib-jsmath: 1.0.1
sphinxcontrib-qthelp: 1.0.3
sphinxcontrib-serializinghtml: 1.1.4
suds-jurko: 0.6
tables: 3.6.1
tifffile: 2020.9.3
tinyarray: 1.2.3
tornado: 6.1
traitlets: 5.0.5
urllib3: 1.25.11
wcwidth: 0.2.5
webcolors: 1.11.1
wheel: 0.36.0
wheel-filename: 1.2.0
Attachments (1)
Change History (11)
comment:1 by , 5 years ago
| Component: | Unassigned → Graphics |
|---|---|
| Owner: | set to |
| Platform: | → all |
| Project: | → ChimeraX |
| Status: | new → assigned |
| Summary: | ChimeraX bug report submission → view matrix: 'tuple' object has no attribute 'matrix' |
comment:2 by , 5 years ago
follow-up: 3 comment:3 by , 5 years ago
Hi,
I've attached the gen_water.cxc script, hopefully it'll be something easy to spot?
Thank you,
Ben
________________________________
From: ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
Sent: 22 March 2021 18:28
Cc: TATMAN, BEN (PGR) <Ben.Tatman@warwick.ac.uk>; goddard@cgl.ucsf.edu <goddard@cgl.ucsf.edu>
Subject: Re: [ChimeraX] #4391: view matrix: 'tuple' object has no attribute 'matrix'
#4391: view matrix: 'tuple' object has no attribute 'matrix'
-----------------------------------+-------------------------
Reporter: ben.tatman@… | Owner: Tom Goddard
Type: defect | Status: assigned
Priority: normal | Milestone:
Component: Graphics | Version:
Resolution: | Keywords:
Blocked By: | Blocking:
Notify when closed: | Platform: all
Project: ChimeraX |
-----------------------------------+-------------------------
Comment (by Tom Goddard):
Somehow a model its position set to a tuple when it is required to be a
Place instance. I cannot reproduce this error. Apparently something in
the script "gen_water.cxc" caused it. Could you provide that script?
--
Ticket URL: <https://plato.cgl.ucsf.edu/trac/ChimeraX/ticket/4391#comment:2>
ChimeraX <http://www.rbvi.ucsf.edu/chimerax/>
ChimeraX Issue Tracker
comment:5 by , 5 years ago
| Owner: | changed from to |
|---|
Yes, the problem is the color key. You can work around the problem by removing the "key" command from your script.
Eric, the color key code is setting "key.position = stuff" where key is a Model. But "position" is an attribute of the Drawing base class that can only be a Place instance (although obviously it is not checking that you pass a legal value). I suggest you call your color key position attribute something else, like xy_position since it appears to be a 2D position. Reassigning to you.
comment:6 by , 5 years ago
'position' is obviously unused for overlay models. It didn't even occur to me that an overlay model would have a transformation matrix. Instead of me changing my code to use a less-obvious name, wouldn't it be better for 'view matrix' to skip overlay models?
comment:7 by , 5 years ago
Maybe both need to occur. Changing Color Key so that code that tries to handle 'position' in a uniform fashion works (without needing to exempt overlays), and 'view matrix' should skip Models whose 'position' is meaningless.
comment:8 by , 5 years ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
Fix available in next daily build
comment:9 by , 5 years ago
Yes both changes should be made. I made the 'view matrix" command not report the matrices for overlay models like color key and 2d labels.
comment:10 by , 5 years ago
Great, thank you!
Ben
________________________________
From: ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
Sent: 22 March 2021 23:03
Cc: TATMAN, BEN (PGR) <Ben.Tatman@warwick.ac.uk>; pett@cgl.ucsf.edu <pett@cgl.ucsf.edu>
Subject: Re: [ChimeraX] #4391: view matrix: 'tuple' object has no attribute 'matrix'
#4391: view matrix: 'tuple' object has no attribute 'matrix'
-----------------------------------+----------------------------
Reporter: ben.tatman@… | Owner: Eric Pettersen
Type: defect | Status: closed
Priority: normal | Milestone:
Component: Graphics | Version:
Resolution: fixed | Keywords:
Blocked By: | Blocking:
Notify when closed: | Platform: all
Project: ChimeraX |
-----------------------------------+----------------------------
Changes (by Eric Pettersen):
* status: assigned => closed
* resolution: => fixed
Comment:
Fix available in next daily build
--
Ticket URL: <https://plato.cgl.ucsf.edu/trac/ChimeraX/ticket/4391#comment:8>
ChimeraX <http://www.rbvi.ucsf.edu/chimerax/>
ChimeraX Issue Tracker
Somehow a model its position set to a tuple when it is required to be a Place instance. I cannot reproduce this error. Apparently something in the script "gen_water.cxc" caused it. Could you provide that script?