Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#1431 closed defect (duplicate)

Atom specifiers not handling chain case correctly

Reported by: pascal.albanese@… Owned by: Conrad Huang
Priority: critical Milestone:
Component: Command Line 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.17134
ChimeraX Version: 0.8 (2018-11-03)
Description
Hello there, 

again i have the same bug opening with older daily builds, that used to works before ... i have no clue anymore

So for instance the atoms :  #1/o:15@ca #1/o:49@ca    both exists, there are 2 chains, how is possible that the software see 4 atoms specified??  Expected two atoms to be specified (4 specified) 

Log:
UCSF ChimeraX version: 0.8 (2018-11-03)  
How to cite UCSF ChimeraX  

open D:\Chimera_PSIIsc\PSII06\5xnl.pdb

open D:\Chimera_PSIIsc\PSII06\5xnl.pdb

5xnl.pdb title:  
Structure of stacked C2S2M2-type psii-lhcii supercomplex from pisum sativum
[more info...]  
  
Chain information for 5xnl.pdb #1  
---  
Chain | Description  
1 2 5 6 G N Y g n y | lhcii TYPE I CAB-8  
3 7 | chlorophyll A-B binding protein, chloroplastic  
4 8 | light harvesting chlorophyll A/B-binding protein LHCB6, CP24  
A a | photosystem II protein D1  
B b | photosystem II CP47 reaction center protein  
C c | photosystem II CP43 reaction center protein  
D d | photosystem II D2 protein  
E e | PSII reaction center subunit V  
F f | cytochrome B559 subunit β, PSBF  
H h | photosystem II reaction center protein H  
I i | photosystem II reaction center protein I, PSBI  
J j | PSII-J  
K k | PSII-K  
L l | PSII-L  
M m | PSII-M  
O o | oxygen-evolving enhancer protein 1, chloroplastic  
P p | oxygen-evolving enhancer protein 2, chloroplastic  
Q q | oxygen-evolving enhancer protein 3  
R r | light harvesting chlorophyll A/B-binding protein LHCB4, CP29  
S s | light harvesting chlorophyll A/B-binding protein LHCB5, CP26  
T t | PSII-T  
W w | photosystem II reaction center protein W  
X x | photosystem II reaction center protein X  
Z z | PSII-Z  
  

distance #1/o:77@ca #1/o:160@ca radius 0.5 dashes 12 color gold

Missing or invalid "atoms" argument: Expected two atoms to be specified (4
specified)  

distance #1/P:11@ca #1/P:166@ca radius 0.5 dashes 12 color gold

Missing or invalid "atoms" argument: Expected two atoms to be specified (0
specified)  

distance #1/O:50@ca #1/C:382@ca radius 0.5 dashes 12 color gold

Missing or invalid "atoms" argument: Expected two atoms to be specified (0
specified)  

distance #1/R:190@ca #1/R:170@ca radius 0.5 dashes 12 color gold

Missing or invalid "atoms" argument: Expected two atoms to be specified (0
specified)  

distance #1/P:33@ca #1/p:166@ca radius 0.5 dashes 12 color gold

distance #1/P:33@ca #1/p:166@ca radius 0.5 dashes 12 color gold

Distance between /P LYS 166 CA and /p LYS 166 CA: 99.969Å  

distance #1/c:382@ca #1/o:49@ca radius 0.5 dashes 12 color gold

Missing or invalid "atoms" argument: Expected two atoms to be specified (4
specified)  

distance #1/o:15@ca #1/o:5@ca radius 0.5 dashes 12 color gold

Missing or invalid "atoms" argument: Expected two atoms to be specified (4
specified)  

distance #1/5:91@ca #1/O:5@ca radius 0.5 dashes 12 color gold

Missing or invalid "atoms" argument: Expected two atoms to be specified (1
specified)  

distance #1/o:187@ca #1/B:419@ca radius 0.5 dashes 12 color gold

distance #1/o:187@ca #1/B:419@ca radius 0.5 dashes 12 color gold

Distance between /O LYS 187 CA and /o LYS 187 CA: 32.478Å  

distance #1/P:143@ca #1/P:38@ca radius 0.5 dashes 12 color gold

Missing or invalid "atoms" argument: Expected two atoms to be specified (0
specified)  

distance #1/P:11@ca #1/p:166@ca radius 0.5 dashes 12 color gold

distance #1/P:11@ca #1/p:166@ca radius 0.5 dashes 12 color gold

Distance already exists; modify distance properties with 'distance style'  

distance #1/r:190@ca #1/R:200@ca radius 0.5 dashes 12 color gold

distance #1/r:190@ca #1/R:200@ca radius 0.5 dashes 12 color gold

Distance between /R LYS 190 CA and /r LYS 190 CA: 161.685Å  

distance #1/B:438@ca #1/o:160@ca radius 0.5 dashes 12 color gold

distance #1/B:438@ca #1/o:160@ca radius 0.5 dashes 12 color gold

Distance between /O LYS 160 CA and /o LYS 160 CA: 47.854Å  

distance #1/o:15@ca #1/o:49@ca radius 0.5 dashes 12 color gold

Missing or invalid "atoms" argument: Expected two atoms to be specified (4
specified)  

close #1.2

close #1.2

Traceback (most recent call last):  
  File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\triggerset.py", line 126, in invoke  
    return self._func(self._name, data)  
  File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\label\label3d.py", line 334, in _structure_changed  
    self.delete_labels([l.object for l in self._labels if l.object_deleted])  
  File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\label\label3d.py", line 334, in <listcomp>  
    self.delete_labels([l.object for l in self._labels if l.object_deleted])  
  File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\label\label3d.py", line 581, in object_deleted  
    return self.location() is None  
  File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\label\label3d.py", line 681, in location  
    xyz = scene_position.inverse() * sxyz  
AttributeError: 'NoneType' object has no attribute 'inverse'  
  
Error processing trigger "changes": 'NoneType' object has no attribute
'inverse':  
AttributeError: 'NoneType' object has no attribute 'inverse'  
  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\label\label3d.py", line 681, in location  
xyz = scene_position.inverse() * sxyz  
  
See log for complete Python traceback.  
  

close #1.1

close #1.1

Traceback (most recent call last):  
  File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\triggerset.py", line 126, in invoke  
    return self._func(self._name, data)  
  File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\label\label3d.py", line 334, in _structure_changed  
    self.delete_labels([l.object for l in self._labels if l.object_deleted])  
  File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\label\label3d.py", line 334, in <listcomp>  
    self.delete_labels([l.object for l in self._labels if l.object_deleted])  
  File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\label\label3d.py", line 581, in object_deleted  
    return self.location() is None  
  File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\label\label3d.py", line 681, in location  
    xyz = scene_position.inverse() * sxyz  
AttributeError: 'NoneType' object has no attribute 'inverse'  
  
Error processing trigger "changes": 'NoneType' object has no attribute
'inverse':  
AttributeError: 'NoneType' object has no attribute 'inverse'  
  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\label\label3d.py", line 681, in location  
xyz = scene_position.inverse() * sxyz  
  
See log for complete Python traceback.  
  

distance #1/o:77@ca #1/o:160@ca radius 0.5 dashes 12 color gold

Missing or invalid "atoms" argument: Expected two atoms to be specified (4
specified)  

distance #1/P:11@ca #1/P:166@ca radius 0.5 dashes 12 color gold

Missing or invalid "atoms" argument: Expected two atoms to be specified (0
specified)  

distance #1/O:50@ca #1/C:382@ca radius 0.5 dashes 12 color gold

Missing or invalid "atoms" argument: Expected two atoms to be specified (0
specified)  

distance #1/R:190@ca #1/R:170@ca radius 0.5 dashes 12 color gold

Missing or invalid "atoms" argument: Expected two atoms to be specified (0
specified)  

distance #1/P:33@ca #1/p:166@ca radius 0.5 dashes 12 color gold

distance #1/P:33@ca #1/p:166@ca radius 0.5 dashes 12 color gold

Distance already exists; modify distance properties with 'distance style'  

distance #1/c:382@ca #1/o:49@ca radius 0.5 dashes 12 color gold

Missing or invalid "atoms" argument: Expected two atoms to be specified (4
specified)  

distance #1/o:15@ca #1/o:5@ca radius 0.5 dashes 12 color gold

Missing or invalid "atoms" argument: Expected two atoms to be specified (4
specified)  

distance #1/5:91@ca #1/O:5@ca radius 0.5 dashes 12 color gold

Missing or invalid "atoms" argument: Expected two atoms to be specified (1
specified)  

distance #1/o:187@ca #1/B:419@ca radius 0.5 dashes 12 color gold

distance #1/o:187@ca #1/B:419@ca radius 0.5 dashes 12 color gold

Distance already exists; modify distance properties with 'distance style'  

distance #1/P:143@ca #1/P:38@ca radius 0.5 dashes 12 color gold

Missing or invalid "atoms" argument: Expected two atoms to be specified (0
specified)  

distance #1/P:11@ca #1/p:166@ca radius 0.5 dashes 12 color gold

distance #1/P:11@ca #1/p:166@ca radius 0.5 dashes 12 color gold

Distance already exists; modify distance properties with 'distance style'  

distance #1/r:190@ca #1/R:200@ca radius 0.5 dashes 12 color gold

distance #1/r:190@ca #1/R:200@ca radius 0.5 dashes 12 color gold

Distance already exists; modify distance properties with 'distance style'  

distance #1/B:438@ca #1/o:160@ca radius 0.5 dashes 12 color gold

distance #1/B:438@ca #1/o:160@ca radius 0.5 dashes 12 color gold

Distance already exists; modify distance properties with 'distance style'  

distance #1/o:15@ca #1/o:49@ca radius 0.5 dashes 12 color gold

Missing or invalid "atoms" argument: Expected two atoms to be specified (4
specified)  

sequence chain #1/o

sequence chain #1/o

Alignment identifier is 1  

sequence chain #1/O

sequence chain #1/O

Chains must have same sequence  

Chains must have same sequence  

QLineEdit::setSelection: Invalid start position (-1)  




OpenGL version: 3.3.0 NVIDIA 388.75
OpenGL renderer: GeForce 940M/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation

Attachments (4)

alllight_onCL_map.pb (112.8 KB ) - added by pascal.albanese@… 7 years ago.
Added by email2trac
All_dsso_on5xnl.pb (11.8 KB ) - added by pascal.albanese@… 7 years ago.
Added by email2trac
make_pbs.py (925 bytes ) - added by pett 7 years ago.
Added by email2trac
untitled-part.html (226 bytes ) - added by pett 7 years ago.
Added by email2trac

Download all attachments as: .zip

Change History (19)

comment:1 by pett, 7 years ago

Component: UnassignedCommand Line
Owner: set to Conrad Huang
Platform: all
Priority: normalcritical
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionAtom specifiers not handling chain case correctly

comment:2 by pett, 7 years ago

Resolution: duplicate
Status: assignedclosed

This undoubtedly the same root problem as for your earlier report. This bug has likely been in the code for for roughly a week. Using the 0.7 release, everything works correctly -- so if you could use that version temporarily until the bug is fixed.

--Eric

in reply to:  3 ; comment:3 by pascal.albanese@…, 7 years ago

Yep,
the issue is that with the version i cannot filter out by min/max distance,
so for me it's useless actually.

Can you send me a daily build installer form 2-3 week ago?

Il giorno gio 8 nov 2018 alle ore 19:57 ChimeraX <
ChimeraX-bugs-admin@cgl.ucsf.edu> ha scritto:


in reply to:  4 ; comment:4 by pascal.albanese@…, 7 years ago

Anyway,

i tried also with that 0.7 version, but the .pb file as well he cannot
handle it ( i didn't send the bug report, but i can if needed)

If you could fix-it please (or add the filtering by distance in the 0.7) it
would be great, i really need to submit a report before monday.

Thanks,
P

Il giorno gio 8 nov 2018 alle ore 20:12 Pascal Albanese <
pascal.albanese@polito.it> ha scritto:

in reply to:  5 ; comment:5 by pascal.albanese@…, 7 years ago

Dear Staff,

I went back up to daily build of 31/10 but still it has the same issue...
don't want to bother you but i really need a working version asap (at least
with this cutoff distance for pseudobonds) ...

... thanks a lot,

P

Il giorno gio 8 nov 2018 alle ore 20:16 ChimeraX <
ChimeraX-bugs-admin@cgl.ucsf.edu> ha scritto:


in reply to:  6 ; comment:6 by pett, 7 years ago

If you could send your pseudobond file, I might be able to make a script to help you until the bug is fixed…

—Eric

in reply to:  7 ; comment:7 by pascal.albanese@…, 7 years ago

OK thanks,

but i usually handle different .pb files with different pdbs (i.e. pairs of
dimers), custom built assembling modelled subunits

Here the PDB link
<https://politoit-my.sharepoint.com/:u:/g/personal/pascal_albanese_polito_it/Ec1gw4jo0MpFqfgxX9sH2moBdVuBwVCYhjY1kx3TILdmKA?e=RQfXZS>

and the .pb file attached

Hope this will help (the test i sent for the bug was on PDB: 5xnl, but was
only for testing purpose...)

P

Il giorno gio 8 nov 2018 alle ore 21:46 ChimeraX <
ChimeraX-bugs-admin@cgl.ucsf.edu> ha scritto:


alllight_onCL_map.pb

by pascal.albanese@…, 7 years ago

Attachment: alllight_onCL_map.pb added

Added by email2trac

in reply to:  9 comment:8 by pascal.albanese@…, 7 years ago

or the .pb file for the pdb: 5xnl is attached here



Il giorno gio 8 nov 2018 alle ore 21:54 ChimeraX <
ChimeraX-bugs-admin@cgl.ucsf.edu> ha scritto:


All_dsso_on5xnl.pb

by pascal.albanese@…, 7 years ago

Attachment: All_dsso_on5xnl.pb added

Added by email2trac

in reply to:  11 ; comment:9 by pett, 7 years ago

Hi Pascal,
	I’ve attached a script to form the pseudobonds.  You run it with:

runscript “full-path-to-script-file  pseudobond-file”

The pseudobond-file can either be a full path, or a path relative to the script file.  Running it on your 5xnl pseudobonds reveals two errors in that file:  on lines 402 and 420 you try to form pseudobonds from an atom to itself.

The script creates a global pseudobond group named “custom pseudobonds”.

—Eric

make_pbs.py

untitled-part.html

by pett, 7 years ago

Attachment: make_pbs.py added

Added by email2trac

by pett, 7 years ago

Attachment: untitled-part.html added

Added by email2trac

in reply to:  14 comment:10 by pett, 7 years ago

402 and 410

—Eric

in reply to:  15 ; comment:11 by pascal.albanese@…, 7 years ago

Thanks a lot... but if i run : runscript
"D:\UTRECHT_MS\Xlink_results\Pres_data\mAPPINGAll/dsso_on5xnl.pb
D:\make_pbs.py"

i get:

FileNotFoundError: [Errno 2] No such file or directory:
'D:/UTRECHT_MS/Xlink_results/Pres_data/mAPPINGAll/dsso_on5xnl.pb'

File "C:\Program
Files\ChimeraX\bin\lib\site-packages\chimerax\core\commands\runscript.py",
line 31, in runscript
open_python_script(session, open(argv[0], 'rb'), argv[0], argv=argv


I have to put the script somewhere in the ChimeraX folder?

Il giorno gio 8 nov 2018 alle ore 22:40 ChimeraX <
ChimeraX-bugs-admin@cgl.ucsf.edu> ha scritto:


in reply to:  16 comment:12 by pett, 7 years ago

Ah, you’re on Windows.  So:

1) Use forward slashes (‘/‘) instead of back slashes (‘\’) in the command.
2) Use a full path for the pseudobond file as well (which you did).
3) Specify the script file first and then the pseudobond file.  It looks like you had that reversed.
4) If you get a FileNotFoundError, carefully verify that you’ve spelled all the file names and folder names correctly.

Seems like your command should be

runscript “D:/make_pbs.py D:/UTRECHT_MS/Xlink_results/Pres_data/mAPPINGAll/dsso_on5xnl.pb”

—Eric

in reply to:  17 comment:13 by pascal.albanese@…, 7 years ago

Thanks Eric,

however it is still not working for me (i checked the "self bonds" and
deleted them) ... i get this message below. I forgot to ask, should i run
this with the latest daily build?

Traceback (most recent call last):
  File "C:\Program
Files\ChimeraX\bin\lib\site-packages\chimerax\cmd_line\tool.py", line 224,
in execute
    cmd.run(cmd_text)
  File "C:\Program
Files\ChimeraX\bin\lib\site-packages\chimerax\core\commands\cli.py", line
2563, in run
    result = ci.function(session, **kw_args)
  File "C:\Program
Files\ChimeraX\bin\lib\site-packages\chimerax\core\commands\runscript.py",
line 31, in runscript
    open_python_script(session, open(argv[0], 'rb'), argv[0], argv=argv)
  File "C:\Program
Files\ChimeraX\bin\lib\site-packages\chimerax\core\scripting.py", line 75,
in open_python_script
    exec(code, sandbox.__dict__)
  File "D:/make_pbs.py", line 28, in <module>
    a1, a2 = [spec_to_atom(spec) for spec in line.strip().split()]
ValueError: not enough values to unpack (expected 2, got 0)

ValueError: not enough values to unpack (expected 2, got 0)

File "D:/make_pbs.py", line 28, in
a1, a2 = [spec_to_atom(spec) for spec in line.strip().split()]

See log for complete Python traceback.


Il giorno ven 9 nov 2018 alle ore 00:07 Eric Pettersen <pett@cgl.ucsf.edu>
ha scritto:

in reply to:  18 ; comment:14 by pascal.albanese@…, 7 years ago

Sorry my fault, the error was in the pb file.

Thanks!!

P

Il giorno ven 9 nov 2018 alle ore 08:52 ChimeraX <
ChimeraX-bugs-admin@cgl.ucsf.edu> ha scritto:


comment:15 by pett, 7 years ago

I'm glad the script is working!

--Eric

Note: See TracTickets for help on using tickets.