#4391 closed defect (fixed)
view matrix: 'tuple' object has no attribute 'matrix'
Reported by: | Owned by: | pett | |
---|---|---|---|
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?