Opened 4 years ago
Closed 4 years ago
#6348 closed defect (fixed)
Parsing BlastProtein results failed: 'hits'
Reported by: | Owned by: | Zach Pearson | |
---|---|---|---|
Priority: | normal | Milestone: | 1.4 |
Component: | Sequence | Version: | |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Notify when closed: | Platform: | all | |
Project: | ChimeraX |
Description
The following bug report has been submitted: Platform: macOS-12.2.1-arm64-arm-64bit ChimeraX Version: 1.4.dev202203071951 (2022-03-07 19:51:09 UTC) Description Doing an AlphaFold search from gui with 7PUA chain Ug I get this error pasing result "hits". Log: UCSF ChimeraX version: 1.4.dev202203071951 (2022-03-07) © 2016-2022 Regents of the University of California. All rights reserved. How to cite UCSF ChimeraX > open 7pua format mmcif fromDatabase pdb Summary of feedback from opening 7pua fetched from pdb --- warnings | Unknown polymer entity '88' near line 240142 Missing or incomplete entity_poly_seq table. Inferred polymer connectivity. 7pua title: Middle assembly intermediate of the Trypanosoma brucei mitoribosomal small subunit [more info...] Chain information for 7pua #1 --- Chain | Description | UniProt CA | 9S rRNA | CB | 9S rRNA | CC | uS3m | CE | Ribosomal_S5_C domain-containing protein | D0A335_TRYB9 CF | bS6m | Q38BW5_TRYB2 CH | 30S ribosomal protein S8, putative | C9ZZU9_TRYB9 CI | uS9m | Q57W62_TRYB2 CJ | LysM domain-containing protein | C9ZPU0_TRYB9 CK | uS11m | Q389T7_TRYB2 CL | uS12m | CN | uS14m | Q580I0_TRYB2 CO | uS15m | Q4GZ99_TRYB2 CP | bS16m | Q384N9_TRYB2 CQ | 30S Ribosomal protein S17, putative | C9ZYU9_TRYB9 CR | bS18m | D0A3A4_TRYB9 CS | uS19m | A0A3L6L621_9TRYP CU | bS21m | Q580M9_TRYB2 Ca | mS22 | Q38DR3_TRYB2 Cb | mS23 | C9ZNU0_TRYB9 Cd | mS26 | Q38DK6_TRYB2 Cg | mS29 | Q585C2_TRYB2 Ci | mS33 | Q57WW0_TRYB2 Cj | mS34 | Q57UK0_TRYB2 Ck | mS35 | Q387C7_TRYB2 Cm | mS37 | Q38C96_TRYB2 Cn | mS38 | Q57VQ9_TRYB2 Cp | Protein FYV4, mitochondrial | Q389L3_TRYB2 DB | mS49 | C9ZJE4_TRYB9 DC | mS50 | A0A3L6L3Q2_9TRYP DD | mS51 | D0A752_TRYB9 DE | mS52 | Q386Q7_TRYB2 DF | mS53 | C9ZXX4_TRYB9 DG | mS54 | C9ZNY4_TRYB9 DH | mS55 | A0A3L6LGC8_9TRYP DI | mS56 | A0A3L6L6C6_9TRYP DJ | mS57 | Q584U8_TRYB2 DK | mS58 | A0A3L6L3U6_9TRYP DL | mS59 | D0A232_TRYB9 DO | mS62 | Q383D1_TRYB2 DP | mS63 | C9ZXR0_TRYB9 DR | mS65 | C9ZPP1_TRYB9 DT | Rhodanese domain-containing protein | Q586G5_TRYB2 DU | Ubiquitin-like domain-containing protein | C9ZKC1_TRYB9 DV | mS69 | Q57UZ6_TRYB2 DW | mS70 | D0A8P6_TRYB9 DX | mS71 | Q383G5_TRYB2 DY | mS72 | Q57YD4_TRYB2 DZ | mS73 | Q587C4_TRYB2 Da | mS74 | A0A3L6KY67_9TRYP F2 | PPR_long domain-containing protein | C9ZIL7_TRYB9 F3 | mt-SAF3 | Q38E61_TRYB2 F5 | mt-SAF5 | D0AAF7_TRYB9 F6 | DUF4460 domain-containing protein | Q38FQ8_TRYB2 F7 | mt-SAF7 | Q57UW6_TRYB2 F9 | mt-SAF9 | C9ZSL5_TRYB9 FM FN | mt-SAF21 | C9ZJW2_TRYB9 FO | mt-SAF22 | Q389F9_TRYB2 FP | mt-SAF23 | D0A963_TRYB9 FW | LMWPc domain-containing protein | Q38FI3_TRYB2 FX | mt-SAF27 | Q57YK5_TRYB2 FZ | mt-SAF29 | A0A3L6KWY8_9TRYP Fb | mt-SAF31 | Q581U4_TRYB2 Fc | Acyl carrier protein | Q57WW9_TRYB2 Fd | DUF4379 domain-containing protein | Q581T4_TRYB2 Ff | DNA photolyase, putative | D0A9A9_TRYB9 Fg | Acyl transferase-like protein, putative | C9ZYZ4_TRYB9 Fh | mt-SAF37 | Q38A63_TRYB2 Fi | mt-SAF38 | C9ZNX5_TRYB9 IA | Translation initiation factor IF-2, putative | C9ZSN7_TRYB9 IB | mt-SAF39 | D0A0V4_TRYB9 U8 | Unk8 | UC | UnkC | UD | UnkD | UF | UnkF | UG | UnkG | UI | UnkI | UK | UnkK | UM UN UQ | Unk | UP | UnkP | Ua | Unka | Ug | Unkg | Non-standard residues in 7pua #1 --- ATP — adenosine-5'-triphosphate FDA — dihydroflavine-adenine dinucleotide MG — magnesium ion PM8 — S-(2-{[N-(2-hydroxy-4-{[hydroxy(oxido)phosphino]oxy}-3,3-dimethylbutanoyl)-β-alanyl]amino}ethyl) decanethioate PO4 — phosphate ion ZN — zinc ion > ui tool show AlphaFold > alphafold match #1/Ug No AlphaFold model with similar sequence for chain Ug Opened 0 AlphaFold model > alphafold search #1/Ug Webservices job id: 72VCVYYLUXPSD1GMUU6A105YR17ES8ZQ8H8GQG37T10SPD347CXAGGCTQ0II3C21 BlastProtein finished. Parsing BLAST results. Parsing BlastProtein results failed: 'hits' OpenGL version: 4.1 Metal - 76.3 OpenGL renderer: Apple M1 Max OpenGL vendor: Apple Locale: UTF-8 Qt version: PyQt6 6.2.2, Qt 6.2.2 Qt platform: cocoa Hardware: Hardware Overview: Model Name: MacBook Pro Model Identifier: MacBookPro18,2 Chip: Apple M1 Max Total Number of Cores: 10 (8 performance and 2 efficiency) Memory: 32 GB System Firmware Version: 7429.81.3 OS Loader Version: 7429.81.3 Software: System Software Overview: System Version: macOS 12.2.1 (21D62) Kernel Version: Darwin 21.3.0 Time since boot: 2 days 6:19 Graphics/Displays: Apple M1 Max: Chipset Model: Apple M1 Max Type: GPU Bus: Built-In Total Number of Cores: 32 Vendor: Apple (0x106b) Metal Family: Supported, Metal GPUFamily Apple 7 Displays: Color LCD: Display Type: Built-in Liquid Retina XDR Display Resolution: 3456 x 2234 Retina Main Display: Yes Mirror: Off Online: Yes Automatically Adjust Brightness: No Connection Type: Internal Installed Packages: alabaster: 0.7.12 appdirs: 1.4.4 appnope: 0.1.2 Babel: 2.9.1 backcall: 0.2.0 blockdiag: 3.0.0 certifi: 2021.5.30 charset-normalizer: 2.0.12 ChimeraX-AddCharge: 1.2.3 ChimeraX-AddH: 2.1.11 ChimeraX-AlignmentAlgorithms: 2.0 ChimeraX-AlignmentHdrs: 3.2.1 ChimeraX-AlignmentMatrices: 2.0 ChimeraX-Alignments: 2.2.3 ChimeraX-AlphaFold: 1.0 ChimeraX-AltlocExplorer: 1.0.1 ChimeraX-AmberInfo: 1.0 ChimeraX-Arrays: 1.0 ChimeraX-Atomic: 1.36.2 ChimeraX-AtomicLibrary: 6.1.1 ChimeraX-AtomSearch: 2.0.1 ChimeraX-AxesPlanes: 2.1 ChimeraX-BasicActions: 1.1 ChimeraX-BILD: 1.0 ChimeraX-BlastProtein: 2.0 ChimeraX-BondRot: 2.0 ChimeraX-BugReporter: 1.0 ChimeraX-BuildStructure: 2.6.1 ChimeraX-Bumps: 1.0 ChimeraX-BundleBuilder: 1.1 ChimeraX-ButtonPanel: 1.0 ChimeraX-CageBuilder: 1.0 ChimeraX-CellPack: 1.0 ChimeraX-Centroids: 1.2 ChimeraX-ChemGroup: 2.0 ChimeraX-Clashes: 2.2.2 ChimeraX-ColorActions: 1.0 ChimeraX-ColorGlobe: 1.0 ChimeraX-ColorKey: 1.5.1 ChimeraX-CommandLine: 1.2.1 ChimeraX-ConnectStructure: 2.0.1 ChimeraX-Contacts: 1.0 ChimeraX-Core: 1.4.dev202203071951 ChimeraX-CoreFormats: 1.1 ChimeraX-coulombic: 1.3.2 ChimeraX-Crosslinks: 1.0 ChimeraX-Crystal: 1.0 ChimeraX-CrystalContacts: 1.0 ChimeraX-DataFormats: 1.2.2 ChimeraX-Dicom: 1.0 ChimeraX-DistMonitor: 1.1.5 ChimeraX-Dssp: 2.0 ChimeraX-ExperimentalCommands: 1.0 ChimeraX-FileHistory: 1.0 ChimeraX-FunctionKey: 1.0 ChimeraX-Geometry: 1.1 ChimeraX-gltf: 1.0 ChimeraX-Graphics: 1.1 ChimeraX-Hbonds: 2.1.2 ChimeraX-Help: 1.2 ChimeraX-HKCage: 1.3 ChimeraX-IHM: 1.1 ChimeraX-ImageFormats: 1.2 ChimeraX-IMOD: 1.0 ChimeraX-IO: 1.0.1 ChimeraX-ItemsInspection: 1.0 ChimeraX-Label: 1.1 ChimeraX-ListInfo: 1.1.1 ChimeraX-Log: 1.1.5 ChimeraX-LookingGlass: 1.1 ChimeraX-Maestro: 1.8.1 ChimeraX-Map: 1.1 ChimeraX-MapData: 2.0 ChimeraX-MapEraser: 1.0 ChimeraX-MapFilter: 2.0 ChimeraX-MapFit: 2.0 ChimeraX-MapSeries: 2.1 ChimeraX-Markers: 1.0 ChimeraX-Mask: 1.0 ChimeraX-MatchMaker: 2.0.6 ChimeraX-MDcrds: 2.6 ChimeraX-MedicalToolbar: 1.0.1 ChimeraX-Meeting: 1.0 ChimeraX-MLP: 1.1 ChimeraX-mmCIF: 2.7 ChimeraX-MMTF: 2.1 ChimeraX-Modeller: 1.5.2 ChimeraX-ModelPanel: 1.3.2 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.2 ChimeraX-OpenCommand: 1.8 ChimeraX-PDB: 2.6.6 ChimeraX-PDBBio: 1.0 ChimeraX-PDBLibrary: 1.0.2 ChimeraX-PDBMatrices: 1.0 ChimeraX-PickBlobs: 1.0 ChimeraX-Positions: 1.0 ChimeraX-PresetMgr: 1.1 ChimeraX-PubChem: 2.1 ChimeraX-ReadPbonds: 1.0.1 ChimeraX-Registration: 1.1 ChimeraX-RemoteControl: 1.0 ChimeraX-ResidueFit: 1.0 ChimeraX-RestServer: 1.1 ChimeraX-RNALayout: 1.0 ChimeraX-RotamerLibMgr: 2.0.1 ChimeraX-RotamerLibsDunbrack: 2.0 ChimeraX-RotamerLibsDynameomics: 2.0 ChimeraX-RotamerLibsRichardson: 2.0 ChimeraX-SaveCommand: 1.5 ChimeraX-SchemeMgr: 1.0 ChimeraX-SDF: 2.0 ChimeraX-Segger: 1.0 ChimeraX-Segment: 1.0 ChimeraX-SelInspector: 1.0 ChimeraX-SeqView: 2.4.7 ChimeraX-Shape: 1.0.1 ChimeraX-Shell: 1.0 ChimeraX-Shortcuts: 1.1 ChimeraX-ShowAttr: 1.0 ChimeraX-ShowSequences: 1.0 ChimeraX-SideView: 1.0 ChimeraX-Smiles: 2.1 ChimeraX-SmoothLines: 1.0 ChimeraX-SpaceNavigator: 1.0 ChimeraX-StdCommands: 1.8 ChimeraX-STL: 1.0 ChimeraX-Storm: 1.0 ChimeraX-StructMeasure: 1.0.1 ChimeraX-Struts: 1.0.1 ChimeraX-Surface: 1.0 ChimeraX-SwapAA: 2.0 ChimeraX-SwapRes: 2.1.1 ChimeraX-TapeMeasure: 1.0 ChimeraX-Test: 1.0 ChimeraX-Toolbar: 1.1 ChimeraX-ToolshedUtils: 1.2.1 ChimeraX-Tug: 1.0 ChimeraX-UI: 1.16.2 ChimeraX-uniprot: 2.2 ChimeraX-UnitCell: 1.0 ChimeraX-ViewDockX: 1.1.2 ChimeraX-VIPERdb: 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.4 cxservices: 1.1 cycler: 0.11.0 Cython: 0.29.26 debugpy: 1.5.1 decorator: 5.1.1 docutils: 0.17.1 entrypoints: 0.4 filelock: 3.4.2 fonttools: 4.29.1 funcparserlib: 1.0.0a0 grako: 3.16.5 html2text: 2020.1.16 idna: 3.3 ihm: 0.26 imagesize: 1.3.0 ipykernel: 6.6.1 ipython: 7.31.1 ipython-genutils: 0.2.0 jedi: 0.18.1 Jinja2: 3.0.3 jupyter-client: 7.1.0 jupyter-core: 4.9.2 kiwisolver: 1.3.2 line-profiler: 3.4.0 lxml: 4.7.1 lz4: 3.1.10 MarkupSafe: 2.1.0 matplotlib: 3.5.1 matplotlib-inline: 0.1.3 msgpack: 1.0.3 nest-asyncio: 1.5.4 networkx: 2.6.3 numpy: 1.22.1 openvr: 1.16.802 packaging: 21.0 ParmEd: 3.4.3 parso: 0.8.3 pexpect: 4.8.0 pickleshare: 0.7.5 Pillow: 9.0.0 pip: 21.3.1 pkginfo: 1.8.2 prompt-toolkit: 3.0.28 psutil: 5.9.0 ptyprocess: 0.7.0 pycollada: 0.7.2 pydicom: 2.2.2 Pygments: 2.11.2 PyOpenGL: 3.1.5 PyOpenGL-accelerate: 3.1.5 pyparsing: 3.0.7 PyQt6: 6.2.2 PyQt6-Qt6: 6.2.3 PyQt6-sip: 13.2.0 PyQt6-WebEngine: 6.2.1 PyQt6-WebEngine-Qt6: 6.2.3 python-dateutil: 2.8.2 pytz: 2021.3 pyzmq: 22.3.0 qtconsole: 5.2.2 QtPy: 2.0.1 requests: 2.27.1 scipy: 1.7.3 setuptools: 59.8.0 six: 1.16.0 snowballstemmer: 2.2.0 sortedcontainers: 2.4.0 Sphinx: 4.3.2 sphinx-autodoc-typehints: 1.15.2 sphinxcontrib-applehelp: 1.0.2 sphinxcontrib-blockdiag: 3.0.0 sphinxcontrib-devhelp: 1.0.2 sphinxcontrib-htmlhelp: 2.0.0 sphinxcontrib-jsmath: 1.0.1 sphinxcontrib-qthelp: 1.0.3 sphinxcontrib-serializinghtml: 1.1.5 suds-community: 1.0.0 tifffile: 2021.11.2 tinyarray: 1.2.4 tornado: 6.1 traitlets: 5.1.1 urllib3: 1.26.8 wcwidth: 0.2.5 webcolors: 1.11.1 wheel: 0.37.1 wheel-filename: 1.3.0
Change History (9)
comment:1 by , 4 years ago
Component: | Unassigned → Sequence |
---|---|
Milestone: | → 1.4 |
Owner: | set to |
Platform: | → all |
Project: | → ChimeraX |
Status: | new → assigned |
Summary: | ChimeraX bug report submission → Parsing BlastProtein results failed: 'hits' |
comment:2 by , 4 years ago
I think this traceback occurs because there are no actual results.
If you look at the JSON output from blastp, we get the search query and right underneath:
"message": "Query_1 unnamed protein product: Query_1 unnamed protein product: Could not calculate ungapped Karlin-Altschul parameters due to an invalid query sequence or its translation. Please verify the query sequence(s) and/or filtering options No hits found \u000ANo hits found"
It's certainly a problem we don't handle this edge case; I'm on it.
follow-up: 3 comment:3 by , 4 years ago
The warning message should probably say something like “BLAST search for #1/Ug found no matches.” Also the logged messages after blast returns is currently BlastProtein finished. Parsing BLAST results. It would be better if those only went to the status line and some more useful information went to the log like “BLAST search for #1/Ug found 37 matches”
follow-up: 4 comment:4 by , 4 years ago
The theory that the error message is because there are no BLAST hits sounds reasonable. But other sequences with no blast hits such as 7qnq chain A does not give that error searching AlphaFold with Blast Protein, and instead gives a not useful empty Blast Protein Results table. It would probably be better to not show the empty table and just log the message “BLAST search of #1/A found 0 matches” maybe as a warning so it is highlighted in red.
comment:5 by , 4 years ago
That's odd, maybe if it runs and gets no hits we get an empty hits dict and if it runs and there's an error it gives us the message and nothing else. Can you send me the job ID you got for 7qnq/A so I can compare the results?
I agree about the status messages.
comment:6 by , 4 years ago
OK, I got ahold of some 7qnq/A results and see that there is an empty 'hits' dict, but apparently if there's an error running BLAST it won't write that, just the search, stat, and message sections. I'll update the blastprotein code to handle that.
comment:7 by , 4 years ago
Do you think the user will want to know, say, that the error message for the job was (in this case)
Could not calculate ungapped Karlin-Altschul parameters due to an invalid query sequence or its translation. Please verify the query sequence(s) and/or filtering options
or should we simply say "No hits found"?
follow-up: 8 comment:8 by , 4 years ago
Always good to return the error information and show it to the user. Otherwise they have no idea how to fix the problem. What does that error mean though? Maybe there is an illegal character (X?) in the sequence that ChimeraX needs to warn the user about.
comment:9 by , 4 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
This commit should fix the problem. We now check if the sequence against which a blastp search has been requested consists of all Xs, and warn the user we won't submit the job if that's the case.
Additionally, the error message above is returned by blastp when a highly repetitive sequence is submitted, for some definition of highly repetitive. If we see a number of reports where this happens I'll inspect the sequences to see how many Xs there were and determine a good threshold for warning the user in some way, e.g. "submitting highly repetitive sequence which may not return good data".
This report is for a daily build. Also ChimeraX 1.3 gives the same error.