VEuPathDB / VEuPathDB/WDK

Dynamic Columns in Boolean Queries

Open
#61 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Java
Stars
1
Forks
4
Avg merge
1m
Merged PRs (30d)
1

Description

Original comment from David:

email on July 15 2021 from dsro5os@gmail.com to steve and i

Strident request for dynamic columns came up again today (for about the thousandth time) from a user at the FASEB meeting. Basically, the use case was: Query 1 yields 1000 genes, with dynamic column data related to SNP abundance. Query 2 yields 1000 genes with dynamic columns related to fitness. Intersection yields 20 genes of interest ... but user wants to see relevant data for these genes, and they are hard to find in the 1000-gene lists, and its a pain to download and integrate.

I provided a workaround, by saving the 20 gene final result and then inserting this list as an upstream step ... but it seems like it should be easy to do this if we simply permit sorting on the Basket column. User can select their 20 genes of interest (would be good to provide a 'select all' button for basket), then click on Step 1 and sort by basket to see Step 1 dynamic values, then click on Step 2 and sort by basket to see Step 2 dynamic values.

Ryan Comment on possible implementation:

The reason this is a challenge is that boolean questions don't have the dynamic columns themselves so e.g. we wouldn't be able to see them in the Add Columns pop-up/ontology. But maybe we could do some trick where boolean queries all have a dynamic column whose value is a JSON object containing the input answers' dynamic columns. Maybe the client could some magic where if the input answers don't have any dynamic cols then it omits that from the Add Columns. Maybe even spoof it so they look like regular cols in the pop-up. But I don't think we could sort by those cols individually, and would have to rig something up in the reporters to make them download separately (not as a single JSON array).

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing boolean-query handling through the client’s Add Columns pop-up/ontology, basket sorting, and reporters. Clarify how dynamic columns from input answers should appear and be downloaded; done means users can select intersected genes, sort each input step by basket, view its dynamic values, and download the results.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend-api-design, frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.