#726 closed defect (fixed)
opening CFTR structure and multiple sequence alignment in either order nukes ChimeraX
| Reported by: | Elaine Meng | Owned by: | Eric Pettersen |
|---|---|---|---|
| Priority: | major | Milestone: | |
| Component: | Sequence | Version: | |
| Keywords: | Cc: | ||
| Blocked By: | Blocking: | ||
| Notify when closed: | Platform: | all | |
| Project: | ChimeraX |
Description
I can open 5uak and I can open the attached sequence alignment. However, if I open both of them (doesn't matter which is opened first), it nukes ChimeraX.
Attachments (1)
Change History (8)
by , 8 years ago
| Attachment: | PSP-MSA%CFTR.fa added |
|---|
comment:1 by , 8 years ago
| Status: | assigned → accepted |
|---|
comment:2 by , 8 years ago
| Resolution: | → fixed |
|---|---|
| Status: | accepted → closed |
comment:3 by , 8 years ago
| Resolution: | fixed |
|---|---|
| Status: | closed → reopened |
The problem is that a temporary StructureSeq in the C++ layer gets cleared and then tries to call a Python method to demote its Python object from a StructureSeq to a plain Sequence, and there is no Python object.
I did some monkeying around awhile back to make it possible for C++ objects to get their Python objects, but the problematic code is using an older, less bulletproof method and needs to be updated. Will update this ticket when that happens.
comment:4 by , 8 years ago
| Resolution: | → fixed |
|---|---|
| Status: | reopened → closed |
Okay, fixed, but it brings up another issue. The resulting association shows errors where the sequence uses lower case letters even though the structure would match the upper case character. Do you think it's good to show errors there, or should I upcase the sequence before matching, which would then not treat those as errors?
--Eric
comment:5 by , 8 years ago
I would say they aren’t really errors, so whatever way you think is best to avoid them being treated as such is fine with me. It would be nice if the sequence display still showed the lowercase since that’s what the file had in it. I wasn’t sure if you meant the uppercasing would happen internally or in the actual display.
Was calling .front() (and more importantly, .pop_front()) on an empty vector