Currently, the evidence table shows that user genes are ignored: 'Gene List' column is always 0, the 'Genes' column has too big counts, and p-values are always N/A, as shown in the figure below.
Apparently, that happens because the API call to /genome in data-utils.js:handleViewCreation(), which is used to get that table, is not passing the user genes (the list parameter).
A simple fix could be adding that parameter to that call at that point. However, there might be a deeper problem here: is that API called twice, unnecessarily?
If the sequence is:
User hits search to send the search form parameters
/genome is called a first-time to get the data needed for the gene table
The user then clicks on the 'evidence table' button
/genome is called again to get data for the evidence table (from handleViewCreation(), as mentioned above)
Then, the last API call is not necessary and it just wastes time. That's because the first/genome already returns all of the fields: geneTable, evidenceTable and gviewer (the chromosome data for the corresponding view). So, the first API call should keep the data ready for the other views, as they are triggered. The new isSortedEvidenceTable to sort the evidence view should be passed to the first call (it affects the evidence table only).
Currently, the evidence table shows that user genes are ignored: 'Gene List' column is always 0, the 'Genes' column has too big counts, and p-values are always N/A, as shown in the figure below.
Apparently, that happens because the API call to
/genome
indata-utils.js:handleViewCreation()
, which is used to get that table, is not passing the user genes (thelist
parameter).A simple fix could be adding that parameter to that call at that point. However, there might be a deeper problem here: is that API called twice, unnecessarily?
If the sequence is:
/genome
is called a first-time to get the data needed for the gene table/genome
is called again to get data for the evidence table (fromhandleViewCreation()
, as mentioned above)Then, the last API call is not necessary and it just wastes time. That's because the first
/genome
already returns all of the fields:geneTable
,evidenceTable
andgviewer
(the chromosome data for the corresponding view). So, the first API call should keep the data ready for the other views, as they are triggered. The newisSortedEvidenceTable
to sort the evidence view should be passed to the first call (it affects the evidence table only).