summaryrefslogtreecommitdiff
path: root/issues/genenetwork2
diff options
context:
space:
mode:
Diffstat (limited to 'issues/genenetwork2')
-rw-r--r--issues/genenetwork2/broken-collections-features.gmi44
-rw-r--r--issues/genenetwork2/fix-display-for-time-consumed-for-correlations.gmi15
-rw-r--r--issues/genenetwork2/haley-knott-regression-mapping-error.gmi80
-rw-r--r--issues/genenetwork2/handle-oauth-errors-better.gmi17
-rw-r--r--issues/genenetwork2/mapping-error.gmi51
-rw-r--r--issues/genenetwork2/refresh-token-failure.gmi108
-rw-r--r--issues/genenetwork2/session_expiry_oauth_error.pngbin0 -> 144471 bytes
7 files changed, 315 insertions, 0 deletions
diff --git a/issues/genenetwork2/broken-collections-features.gmi b/issues/genenetwork2/broken-collections-features.gmi
new file mode 100644
index 0000000..4239929
--- /dev/null
+++ b/issues/genenetwork2/broken-collections-features.gmi
@@ -0,0 +1,44 @@
+# Broken Collections Features
+
+## Tags
+
+* type: bug
+* status: open
+* priority: high
+* assigned: zachs, fredm
+* keywords: gn2, genenetwork2, genenetwork 2, collections
+
+## Descriptions
+
+There are some features in the search results page, and/or the collections page that are broken — these are:
+
+* "CTL" feature
+* "MultiMap" feature
+* "Partial Correlations" feature
+* "Generate Heatmap" feature
+
+### Reproduce Issue
+
+* Go to https://genenetwork.org
+* Select "Mouse (Mus musculus, mm10) for "Species"
+* Select "BXD Family" for "Group"
+* Select "Traits and Cofactors" for "Type"
+* Select "BXD Published Phenotypes" for "Dataset"
+* Type "locomotion" in the "Get Any" field (without the quotes)
+* Click "Search"
+* In the results page, select the traits with the following "Record" values: "BXD_10050", "BXD_10051", "BXD_10088", "BXD_10091", "BXD_10092", "BXD_10455", "BXD_10569", "BXD_10570", "BXD_11316", "BXD_11317"
+* Click the "Add" button and add them to a new collection
+* In the resulting collections page, click the button for any of the listed failing features above
+
+### Failure modes
+
+* The "CTL" and "WCGNA" features have a failure mode that might have been caused by recent changes making use of AJAX calls, rather than submitting the form manually.
+* The "MultiMap" and "Generate Heatmap" features raise exceptions that need to be investigated and resolved
+* The "Partial Correlations" feature seems to run forever
+
+## Break-out Issues
+
+We break-out the issues above into separate pages to track the progress of the fixes for each feature separately.
+
+=> /issues/genenetwork3/ctl-maps-error
+=> /issues/genenetwork3/generate-heatmaps-failing
diff --git a/issues/genenetwork2/fix-display-for-time-consumed-for-correlations.gmi b/issues/genenetwork2/fix-display-for-time-consumed-for-correlations.gmi
new file mode 100644
index 0000000..0c8e9c8
--- /dev/null
+++ b/issues/genenetwork2/fix-display-for-time-consumed-for-correlations.gmi
@@ -0,0 +1,15 @@
+# Fix Display for the Time Consumed for Correlations
+
+## Tags
+
+* type: bug
+* status: closed, completed
+* priority: low
+* assigned: @alexm, @bonz
+* keywords: gn2, genenetwork2, genenetwork 2, gn3, genenetwork3 genenetwork 3, correlations, time display
+
+## Description
+
+The breakdown of the time consumed for the correlations computations, displayed at the bottom of the page, is not representative of reality. The time that GeneNetwork3 (or background process) takes for the computations is not actually represented in the breakdown, leading to wildly inaccurate displays of total time.
+
+This will need to be fixed.
diff --git a/issues/genenetwork2/haley-knott-regression-mapping-error.gmi b/issues/genenetwork2/haley-knott-regression-mapping-error.gmi
new file mode 100644
index 0000000..25bb221
--- /dev/null
+++ b/issues/genenetwork2/haley-knott-regression-mapping-error.gmi
@@ -0,0 +1,80 @@
+# Haley-Knott Regression Mapping Error
+
+## Tags
+
+* type: bug
+* status: closed, completed
+* priority: high
+* assigned: fredm
+* keywords: gn2, genenetwork2, genenetwork 2, mapping, haley-knott
+
+## Description
+
+To run the mapping:
+
+* Do a search
+* Click on any trait in the results
+* On the trait page, expand the "Mapping Tools" section
+* Select the "Haley-Knott Regression" option under "Mapping Tools"
+* Click "Compute"
+
+On running the mapping as above, we got the following error:
+
+```
+ GeneNetwork 2.11-rc2 https://gn2-fred.genenetwork.org/run_mapping ( 6:14AM UTC Sep 11, 2024)
+Traceback (most recent call last):
+ File "/gnu/store/hgcvlkn4bjl0f9wqiakpk5w66brbfxk6-profile/lib/python3.10/site-packages/flask/app.py", line 1523, in full_dispatch_request
+ rv = self.dispatch_request()
+ File "/gnu/store/hgcvlkn4bjl0f9wqiakpk5w66brbfxk6-profile/lib/python3.10/site-packages/flask/app.py", line 1509, in dispatch_request
+ return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
+ File "/gnu/store/hgcvlkn4bjl0f9wqiakpk5w66brbfxk6-profile/lib/python3.10/site-packages/gn2/wqflask/views.py", line 1004, in mapping_results_page
+ gn1_template_vars = display_mapping_results.DisplayMappingResults(
+ File "/gnu/store/hgcvlkn4bjl0f9wqiakpk5w66brbfxk6-profile/lib/python3.10/site-packages/gn2/wqflask/marker_regression/display_mapping_results.py", line 651, in __init__
+ self.perm_filename = self.drawPermutationHistogram()
+ File "/gnu/store/hgcvlkn4bjl0f9wqiakpk5w66brbfxk6-profile/lib/python3.10/site-packages/gn2/wqflask/marker_regression/display_mapping_results.py", line 3056, in drawPermutationHistogram
+ Plot.plotBar(myCanvas, perm_output, XLabel=self.LRS_LOD,
+ File "/gnu/store/hgcvlkn4bjl0f9wqiakpk5w66brbfxk6-profile/lib/python3.10/site-packages/gn2/utility/Plot.py", line 184, in plotBar
+ scaleFont = ImageFont.truetype(font=COUR_FILE, size=11)
+ File "/gnu/store/hgcvlkn4bjl0f9wqiakpk5w66brbfxk6-profile/lib/python3.10/site-packages/PIL/ImageFont.py", line 959, in truetype
+ return freetype(font)
+ File "/gnu/store/hgcvlkn4bjl0f9wqiakpk5w66brbfxk6-profile/lib/python3.10/site-packages/PIL/ImageFont.py", line 956, in freetype
+ return FreeTypeFont(font, size, index, encoding, layout_engine)
+ File "/gnu/store/hgcvlkn4bjl0f9wqiakpk5w66brbfxk6-profile/lib/python3.10/site-packages/PIL/ImageFont.py", line 247, in __init__
+ self.font = core.getfont(
+OSError: cannot open resource
+```
+
+### Hypothesis
+
+My hypothesis is that the use of relative paths[fn:1] is the cause of the failure.
+
+When running the application with the working directory being the root of the GeneNetwork2 repository, use of the relative paths works well. Unfortunately, that assumption breaks quickly if the application is ever run outside of the root of the GN2 repo.
+
+Verification:
+
+*Question*: Does the application run on root of GN2 repository/package?
+
+* Log out the path of the font file and use the results to answer the question
+* https://github.com/genenetwork/genenetwork2/commit/ca8018a61f2e014b4aee4da2cbd00d7b591b2f6a
+* https://github.com/genenetwork/genenetwork2/commit/01d56903ba01a91841d199fe393f9b307a7596a2
+
+*Answer*: No! The application does not run with the working directory on the root of the GN2 repository/package, as evidenced by this snippet from the logs:
+
+```
+2024-09-11 07:41:13 [2024-09-11 07:41:13 +0000] [494] [DEBUG] POST /run_mapping
+2024-09-11 07:41:18 [2024-09-11 07:41:18 +0000] [494] [DEBUG] Font file path: /gn2/wqflask/static/fonts/courbd.ttf
+2024-09-11 07:41:18 DEBUG:gn2.wqflask:Font file path: /gn2/wqflask/static/fonts/courbd.ttf
+2024-09-11 07:41:18 [2024-09-11 07:41:18 +0000] [494] [ERROR] https://gn2-fred.genenetwork.org/run_mapping ( 7:41AM UTC Sep 11, 2024)
+2024-09-11 07:41:18 Traceback (most recent call last):
+```
+
+We see from this that the application seems to be running with the working directory being "/" rather than the root for the application's package files.
+
+### Fixes
+
+* https://github.com/genenetwork/genenetwork2/commit/d001c1e7cae8f69435545b8715038b1d0fc1ee62
+* https://git.genenetwork.org/guix-bioinformatics/commit/?id=7a1bf5bc1c3de67f01eabd23e1ddc0150f81b22b
+
+# Footnotes
+
+[fn:1] https://github.com/genenetwork/genenetwork2/blob/50fc0b4bc4106164745afc7e1099bb150f6e635f/gn2/utility/Plot.py#L44-L46
diff --git a/issues/genenetwork2/handle-oauth-errors-better.gmi b/issues/genenetwork2/handle-oauth-errors-better.gmi
new file mode 100644
index 0000000..462ded5
--- /dev/null
+++ b/issues/genenetwork2/handle-oauth-errors-better.gmi
@@ -0,0 +1,17 @@
+# Handle OAuth Errors Better
+
+## Tags
+
+* type: bug
+* status: open
+* priority: high
+* assigned: fredm
+* interested: zachs, robw
+* keywords: gn2, genenetwork2, ui, user interface, oauth, oauth errors
+
+## Description
+
+When a session expires, for whatever reason, a notification is displayed to the user as shown in the image below:
+=> ./session_expiry_oauth_error.png
+
+The message is a little jarring to the end user. Make it gentler, and probably more informative, so the user is not as surprised.
diff --git a/issues/genenetwork2/mapping-error.gmi b/issues/genenetwork2/mapping-error.gmi
new file mode 100644
index 0000000..2e28491
--- /dev/null
+++ b/issues/genenetwork2/mapping-error.gmi
@@ -0,0 +1,51 @@
+# Mapping Error
+
+## Tags
+
+* type: bug
+* status: open
+* priority: medium
+* assigned: zachs, fredm, flisso
+* keywords: gn2, genenetwork2, genenetwork 2, mapping
+
+## Reproduction
+
+* Go to https://staging.genenetwork.org/
+* For 'Species' select "Arabidopsis (Arabidopsis thaliana, araTha1)"
+* For 'Group' select "BayXSha(RIL by sib-mating)"
+* For 'Type' select "arabidopsis seeds"
+* For 'Dataset' select "Arabidopsis BayXShaXRIL_expr_reg _ATH1"
+* Leave 'Get Any' blank
+* Enter "*" for "Combined"
+* Click "Search"
+* On the search results page, click on "AT1G01010"
+* Expand the "Mapping Tools" section
+* For 'Chromosome' select "All"
+* For 'Minor Allele ≥' enter "0.05"
+* For 'Use LOCO' select "Yes"
+* Ignore covariates
+* Click "Compute"
+
+### Expected
+
+The system would compute the maps and display the mapping diagram(s) and data.
+
+### Actual
+
+The computation fails with:
+
+```
+ GeneNetwork 2.11-rc2 https://staging.genenetwork.org/loading ( 6:50PM UTC Jul 03, 2024)
+Traceback (most recent call last):
+ File "/gnu/store/jsvqai0gz6fn40k7kx3r12yq4hzfini6-profile/lib/python3.10/site-packages/flask/app.py", line 1523, in full_dispatch_request
+ rv = self.dispatch_request()
+ File "/gnu/store/jsvqai0gz6fn40k7kx3r12yq4hzfini6-profile/lib/python3.10/site-packages/flask/app.py", line 1509, in dispatch_request
+ return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
+ File "/gnu/store/jsvqai0gz6fn40k7kx3r12yq4hzfini6-profile/lib/python3.10/site-packages/gn2/wqflask/views.py", line 812, in loading_page
+ for sample in samples:
+TypeError: 'NoneType' object is not iterable
+```
+
+### Updates
+
+This is likely just because the genotype file doesn't exist in the necessary format (BIMBAM). We probably need to convert the R/qtl2 genotypes to BIMBAM.
diff --git a/issues/genenetwork2/refresh-token-failure.gmi b/issues/genenetwork2/refresh-token-failure.gmi
new file mode 100644
index 0000000..dd33341
--- /dev/null
+++ b/issues/genenetwork2/refresh-token-failure.gmi
@@ -0,0 +1,108 @@
+# Refresh Token Failure
+
+## Tags
+
+* status: open
+* priority: high
+* type: bug
+* assigned: fredm, zsloan, zachs
+* keywords: gn2, genenetwork2
+
+## Description
+
+* Go to https://genenetwork.org
+* Click "Sign in" and sign in to the application
+* Wait 15 minutes
+* Close the entire browser
+* Open the browser and go to https://genenetwork.org
+* Observe the "ERROR" message at the "Collections" link's badge
+
+The expectation is that the Collections badge would list the number of collection the user has, rather than the error message.
+
+The logs fail with an 'invalid_client' error:
+
+```
+2025-01-08 20:48:56 raise self.oauth_error_class(
+2025-01-08 20:48:56 authlib.integrations.base_client.errors.OAuthError: invalid_client:
+2025-01-08 20:48:56 ERROR:gn2.wqflask:Error loading number of collections
+2025-01-08 20:48:56 Traceback (most recent call last):
+2025-01-08 20:48:56 File "/gnu/store/3n1cl5cxal3qk7p9q363qgm2ag45a177-profile/lib/python3.10/site-packages/gn2/wqflask/__init__.py",
+line 55, in numcoll
+2025-01-08 20:48:56 return num_collections()
+2025-01-08 20:48:56 File "/gnu/store/3n1cl5cxal3qk7p9q363qgm2ag45a177-profile/lib/python3.10/site-packages/gn2/wqflask/oauth2/collect
+ions.py", line 13, in num_collections
+2025-01-08 20:48:56 all_collections = all_collections + oauth2_get(
+2025-01-08 20:48:56 File "/gnu/store/3n1cl5cxal3qk7p9q363qgm2ag45a177-profile/lib/python3.10/site-packages/gn2/wqflask/oauth2/client.
+py", line 168, in oauth2_get
+2025-01-08 20:48:56 resp = oauth2_client().get(
+2025-01-08 20:48:56 File "/gnu/store/3n1cl5cxal3qk7p9q363qgm2ag45a177-profile/lib/python3.10/site-packages/requests/sessions.py", lin
+e 600, in get
+2025-01-08 20:48:56 return self.request("GET", url, **kwargs)
+2025-01-08 20:48:56 File "/gnu/store/3n1cl5cxal3qk7p9q363qgm2ag45a177-profile/lib/python3.10/site-packages/authlib/integrations/reque
+sts_client/oauth2_session.py", line 109, in request
+2025-01-08 20:48:56 return super(OAuth2Session, self).request(
+2025-01-08 20:48:56 File "/gnu/store/3n1cl5cxal3qk7p9q363qgm2ag45a177-profile/lib/python3.10/site-packages/requests/sessions.py", lin
+e 573, in request
+2025-01-08 20:48:56 prep = self.prepare_request(req)
+2025-01-08 20:48:56 File "/gnu/store/3n1cl5cxal3qk7p9q363qgm2ag45a177-profile/lib/python3.10/site-packages/requests/sessions.py", lin
+e 484, in prepare_request
+2025-01-08 20:48:56 p.prepare(
+2025-01-08 20:48:56 File "/gnu/store/3n1cl5cxal3qk7p9q363qgm2ag45a177-profile/lib/python3.10/site-packages/requests/models.py", line
+372, in prepare
+2025-01-08 20:48:56 self.prepare_auth(auth, url)
+2025-01-08 20:48:56 File "/gnu/store/3n1cl5cxal3qk7p9q363qgm2ag45a177-profile/lib/python3.10/site-packages/requests/models.py", line
+603, in prepare_auth
+2025-01-08 20:48:56 r = auth(self)
+2025-01-08 20:48:56 File "/gnu/store/3n1cl5cxal3qk7p9q363qgm2ag45a177-profile/lib/python3.10/site-packages/authlib/integrations/reque
+sts_client/oauth2_session.py", line 24, in __call__
+2025-01-08 20:48:56 self.ensure_active_token()
+2025-01-08 20:48:56 File "/gnu/store/3n1cl5cxal3qk7p9q363qgm2ag45a177-profile/lib/python3.10/site-packages/authlib/integrations/reque
+sts_client/oauth2_session.py", line 20, in ensure_active_token
+2025-01-08 20:48:56 if self.client and not self.client.ensure_active_token(self.token):
+2025-01-08 20:48:56 File "/gnu/store/3n1cl5cxal3qk7p9q363qgm2ag45a177-profile/lib/python3.10/site-packages/authlib/oauth2/client.py",
+ line 262, in ensure_active_token
+2025-01-08 20:48:56 self.refresh_token(url, refresh_token=refresh_token)
+2025-01-08 20:48:56 File "/gnu/store/3n1cl5cxal3qk7p9q363qgm2ag45a177-profile/lib/python3.10/site-packages/authlib/oauth2/client.py",
+ line 252, in refresh_token
+2025-01-08 20:48:56 return self._refresh_token(
+2025-01-08 20:48:56 File "/gnu/store/3n1cl5cxal3qk7p9q363qgm2ag45a177-profile/lib/python3.10/site-packages/authlib/oauth2/client.py",
+ line 373, in _refresh_token
+2025-01-08 20:48:56 token = self.parse_response_token(resp)
+2025-01-08 20:48:56 File "/gnu/store/3n1cl5cxal3qk7p9q363qgm2ag45a177-profile/lib/python3.10/site-packages/authlib/oauth2/client.py",
+ line 340, in parse_response_token
+2025-01-08 20:48:56 raise self.oauth_error_class(
+2025-01-08 20:48:56 authlib.integrations.base_client.errors.OAuthError: invalid_client:
+```
+
+
+### Troubleshooting
+
+The following commits were done as part of the troubleshooting:
+
+=> https://github.com/genenetwork/genenetwork2/commit/55da5809d851a3c8bfa13637947b019a2c02cc93
+=> https://git.genenetwork.org/guix-bioinformatics/commit/?id=d1cada0f0933732eb68b7786fb04ea541d8c51c9
+=> https://github.com/genenetwork/genenetwork2/commit/93dd7f7583af4e0bdd3c7b9c88d375fdc4b40039
+=> https://git.genenetwork.org/guix-bioinformatics/commit/?id=5fe04ca1545f740cbb91474576891c7fd1dff13a
+=> https://github.com/genenetwork/genenetwork2/commit/2031da216f3b62c23dca64eb6d1c533c07dc81f1
+=> https://github.com/genenetwork/genenetwork2/commit/125c436f5310b194c10385ce9d81135518ac0adf
+=> https://git.genenetwork.org/guix-bioinformatics/commit/?id=758e6f0fbf6af4af5b94b9aa5a9264c31f050153
+=> https://github.com/genenetwork/genenetwork2/commit/8bf483a3ab23ebf25d73380e78271c368ff06b2d
+=> https://git.genenetwork.org/guix-bioinformatics/commit/?id=f1ee97a17e670b12112d48bea8969e2ee162f808
+=> https://github.com/genenetwork/genenetwork2/commit/de01f83090184fc56dce2f9887d2dc910edc60fe
+=> https://github.com/genenetwork/genenetwork2/commit/91017b97ee346e73bed9b77e3f3f72daa4acbacd
+=> https://github.com/genenetwork/genenetwork2/commit/7e6bfe48167c70d26e27b043eb567608bc1fda84
+=> https://git.genenetwork.org/guix-bioinformatics/commit/?id=1f71a1e78af87266e7a4170ace8860111a1569d6
+=> https://github.com/genenetwork/genenetwork2/commit/9bdc8ca0b17739c1df9dc504f8cd978296b987dd
+=> https://git.genenetwork.org/guix-bioinformatics/commit/?id=02a9a99e7e3c308157f7d740a244876ab4196337
+=> https://github.com/genenetwork/genenetwork2/commit/236a48835dc6557ba0ece6aef6014f496ddb163e
+=> https://git.genenetwork.org/guix-bioinformatics/commit/?id=f928be361d2e331d72448416300c331e47341807
+=> https://github.com/genenetwork/genenetwork2/commit/5fb56c51ad4eaff13a7e24b6022dffb7d82aa41d
+=> https://github.com/genenetwork/genenetwork2/commit/c6c9ef71718d650f9c19ae459d6d4e25e72de00a
+=> https://github.com/genenetwork/genenetwork2/commit/dc606f39fb4aad74004959a6a15e481fa74d52ff
+=> https://git.genenetwork.org/guix-bioinformatics/commit/?id=4ab597b734968916af5bae6332756af8168783b3
+=> https://github.com/genenetwork/genenetwork2/commit/854639bd46293b6791c629591fd934d1f34038ac
+=> https://git.genenetwork.org/guix-bioinformatics/commit/?id=7e0083555150d151e566cebed4bd82d69e347eb6
+=> https://github.com/genenetwork/genenetwork2/commit/c4508901027a2d3ea98e1e9b3f8767a455cad02f
+=> https://git.genenetwork.org/guix-bioinformatics/commit/?id=955e4ce9370be9811262d7c73fa5398385cc04d8
+
+
diff --git a/issues/genenetwork2/session_expiry_oauth_error.png b/issues/genenetwork2/session_expiry_oauth_error.png
new file mode 100644
index 0000000..34e2dda
--- /dev/null
+++ b/issues/genenetwork2/session_expiry_oauth_error.png
Binary files differ