Opened 7 years ago

Closed 7 years ago

#1547 closed defect (fixed)

Symmetry position atom: LinAlgError("Singular matrix")

Reported by: lpravda@… 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:        Darwin-17.7.0-x86_64-i386-64bit
ChimeraX Version: 0.8 (2018-12-15)
Description
Open the attached file; run addh

Log:
Startup Messages  
---  
notes | FYI: command is replacing existing command: "ui"  
FYI: command is replacing existing command: "volume"  
FYI: command is replacing existing command: "color"  
  
UCSF ChimeraX version: 0.8 (2018-12-15)  
How to cite UCSF ChimeraX  

> open /Users/pett/rm/1dwx_assembly.cif

Summary of feedback from opening /Users/pett/rm/1dwx_assembly.cif  
---  
warnings | Missing entity_poly_seq table. Inferring polymer connectivity.  
Unable to infer polymer connectivity due to unspecified label_seq_id for
residue "HAR" near line 8067  
Unknown polymer entity '5' near line 8067  
  
Chain information for 1dwx_assembly.cif #1  
---  
Chain | Description  
A A-2 | nitric oxide synthase  
  

> addh

Termini for 1dwx_assembly.cif (#1) chain A determined from SEQRES records  
Termini for 1dwx_assembly.cif (#1) chain A-2 determined from SEQRES records  
Chain-initial residues that are actual N termini: /A GLN 77, /A-2 GLN 77, /A
HAR 906, /A-2 HAR 906  
Chain-initial residues that are not actual N termini:  
Chain-final residues that are actual C termini: /A GLN 496, /A-2 GLN 496, /A
HAR 906, /A-2 HAR 906  
Chain-final residues that are not actual C termini:  
Missing OXT added to C-terminal residue /A GLN 496  
Missing OXT added to C-terminal residue /A-2 GLN 496  
1678 hydrogen bonds  
Traceback (most recent call last):  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-
packages/chimerax/cmd_line/tool.py", line 229, in execute  
cmd.run(cmd_text)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-
packages/chimerax/core/commands/cli.py", line 2587, in run  
result = ci.function(session, **kw_args)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-
packages/chimerax/atomic/addh/cmd.py", line 55, in cmd_addh  
add_h_func(session, structures, in_isolation=in_isolation, **prot_schemes)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-
packages/chimerax/atomic/addh/cmd.py", line 163, in hbond_add_hydrogens  
idatm_type, his_Ns, coordinations, in_isolation)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-
packages/chimerax/atomic/addh/hbond.py", line 354, in add_hydrogens  
_do_prune(hbond, pruned, rel_bond, processed, pruned_by)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-
packages/chimerax/atomic/addh/hbond.py", line 1429, in _do_prune  
other._addh_coord):  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-
packages/chimerax/atomic/addh/hbond.py", line 1382, in _tet2_check  
for pos in bond_positions(tet_pos, 4, 1.0, [], toward=toward,
toward2=toward2):  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-
packages/chimerax/atomic/bond_geom.py", line 78, in bond_positions  
return tetra_pos(bondee, bonded, bond_len, toward, away, toward2, away2)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-
packages/chimerax/atomic/bond_geom.py", line 158, in tetra_pos  
pos = angle_pos(bondee, cur_bonded[0], bond_len, 109.5, coplanar=coplanar)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-
packages/chimerax/atomic/bond_geom.py", line 247, in angle_pos  
points.append(xform.inverse() * angle)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-
packages/chimerax/core/geometry/place.py", line 187, in inverse  
self._inverse = Place(m34.invert_matrix(self._matrix))  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-
packages/chimerax/core/geometry/matrix.py", line 130, in invert_matrix  
rinv[:, :] = matrix_inverse(r)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-
packages/numpy/linalg/linalg.py", line 532, in inv  
ainv = _umath_linalg.inv(a, signature=signature, extobj=extobj)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-
packages/numpy/linalg/linalg.py", line 89, in _raise_linalgerror_singular  
raise LinAlgError("Singular matrix")  
numpy.linalg.linalg.LinAlgError: Singular matrix  
  
numpy.linalg.linalg.LinAlgError: Singular matrix  
  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-
packages/numpy/linalg/linalg.py", line 89, in _raise_linalgerror_singular  
raise LinAlgError("Singular matrix")  
  
See log for complete Python traceback.  
  




OpenGL version: 4.1 NVIDIA-10.32.0 355.11.10.10.40.102
OpenGL renderer: NVIDIA GeForce GTX 675MX OpenGL Engine
OpenGL vendor: NVIDIA Corporation
File attachment: 1dwx_assembly.cif

1dwx_assembly.cif

Attachments (6)

1dwx_assembly.cif (601.5 KB ) - added by lpravda@… 7 years ago.
Added by email2trac
2ntn_assembly.cif (530.8 KB ) - added by Eric Pettersen 7 years ago.
:367@O in chains A and A-2
3q46_assembly.cif (1000.8 KB ) - added by Eric Pettersen 7 years ago.
:396@o in chains A and A-5
4b90_assembly.cif (1.2 MB ) - added by Eric Pettersen 7 years ago.
:2072@o in chains A and A-2
4pno_assembly.cif (615.3 KB ) - added by Eric Pettersen 7 years ago.
:241@o in chains A and A-2 (and A-3 and A-4)
4ume_assembly.cif (465.7 KB ) - added by Eric Pettersen 7 years ago.
:2025@o in chains A and A-2 (and A-3 and A-4)

Change History (9)

by lpravda@…, 7 years ago

Attachment: 1dwx_assembly.cif added

Added by email2trac

comment:1 by Eric Pettersen, 7 years ago

Component: UnassignedStructure Editing
Owner: set to Eric Pettersen
Platform: all
Project: ChimeraX
Status: newaccepted
Summary: ChimeraX bug report submissionSymmetry position atom: LinAlgError("Singular matrix")

comment:2 by Eric Pettersen, 7 years ago

This problem occurs because a symmetry water is in the same position in both chains (:2062@O in both chains A and A-2). This is certainly arguably a problem in the data: it is one oxygen atom, not two and therefore shouldn't occur twice in the input. The trick is which chain it should be in (probably none).

I will mull over what I want to do about this (assuming that fixing the input isn't an option). Mostly likely I will get the mmCIF reader to coalesce multiple copies of a symmetry position.

by Eric Pettersen, 7 years ago

Attachment: 2ntn_assembly.cif added

:367@O in chains A and A-2

by Eric Pettersen, 7 years ago

Attachment: 3q46_assembly.cif added

:396@o in chains A and A-5

by Eric Pettersen, 7 years ago

Attachment: 4b90_assembly.cif added

:2072@o in chains A and A-2

by Eric Pettersen, 7 years ago

Attachment: 4pno_assembly.cif added

:241@o in chains A and A-2 (and A-3 and A-4)

by Eric Pettersen, 7 years ago

Attachment: 4ume_assembly.cif added

:2025@o in chains A and A-2 (and A-3 and A-4)

comment:3 by Eric Pettersen, 7 years ago

Resolution: fixed
Status: acceptedclosed
Note: See TracTickets for help on using tickets.