Closed olegs closed 5 years ago
Cannot reproduce the exception, I see errors in log file:
[Mar 25, 2019 14:40:37] Opening session /Users/romeo/work/tmp/issur_15.yaml
[Mar 25, 2019 14:40:37] ERROR TrackViewLoader No information how to deserialize 'ADJUST1:NONE' for BigWig (BIGWIG) in file:///Users/romeo/work/tmp/issur_15.yaml
[Mar 25, 2019 14:40:37] Open session: issur_15.yaml
[Mar 25, 2019 14:40:37] * Cleanup tracks
[Mar 25, 2019 14:40:37] * Set genome mm9
[Mar 25, 2019 14:40:37] * Clear history
[Mar 25, 2019 14:40:37] Loading tracks...
but session has been sucessfully opened + no exceptions occurred
Here is the session to reproduce:
---
version: 1
build: "hg38"
location: "chr1:6367832-6664800"
tracks:
- ADJUST: "OFF"
BAR_PLOT: "true"
COLOR: "#000080"
COLOR_NEGATIVE_VALUE: "#000080"
CUSTOM_SCALE_MAX: "NaN"
CUSTOM_SCALE_MIN: "NaN"
TITLE: "Reads"
TRACKDATA_LENGTH_ADDITIVE: "true"
TRACKVIEW_SOURCE_FILE: "https://artyomovlab.wustl.edu/publications/supp_materials/4Oleg/2019_sc_ATAC_seq_gxfer1_39174753087306/reads.bw"
TRACK_PREF_HEIGHT: "30"
Type: "BIGWIG"
It silently fails only when using "Recent sessions" menu item, if File | Open Session
than we get
I agree that both actions should provide the same user experience, but what do you expect here? "Adjust.OFF" issue is a bug in your extension point code, it has changed "ADJUST" serialization format but didn't care of support legacy format on deserialization. So we could: 1) Session opening a. Don't open session b. Open session ignoring failed params 2) Error logging: a. LOG error only into the log file b. Show Error message box per each error or collect all errors and show one error dialog with all error messages c. Show error/warning dialog without errors details just warning that not all session fields were successfully loaded and suggest to look log file for details + log all errors into log file
@olegs I suggest 1.b + 2.c.
We should provide the similar user experience in both cases. I rely fully on your decision in this case.
Fixed #4791
If problem happens during track information deserialisation, it is visible only in log fine, for example: