Skip to content

Free text search: handling chromosome/start #188

@bbimber

Description

@bbimber

Users will want to search on start position, but this is always linked to a contig/chromosome. These are actually two fields, but to a user it would be helpful if it acted like one. I propose we:

  • On the client, expose a filter type for 'position'. They enter values like: "1:1000122". The allowed operators would be numeric (i.e. equals, GT, LT, GTE, LTE).
  • The react field should validate the user's input
  • The react field should probably drop whitespace and commas automatically. Or maybe disallow typing them to begin with?
  • The client-side code should translate the user input of "position greater than 1:1000222", into a lucene query that is "contig equals 1 AND start greater than 1000222". This should just happen without the user needing to see or know it's occurring.
  • For the task for serializing/deserializing filters on the URL, we can probably serialize the user string.

Side note: the DISCVR-seq tool indexes a field called 'genomicPosition'. This in a running total of the position within the genome. Therefore the genomicPosition of chromosome 2 position 100 is the length of chromosome 1 plus 100. The idea is to give us a simple integer for positional sorting. I think we want lucene to return 100% of queries sorted on genomicPosition. And I think we never want to show this field to the user.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions