Unlike our other views which require a GOI to be selected. A few modules like the chromosome view can be accessed directly without a gene selected. The chromosome viewer should correctly:
Show the chromosomes and their relative sizes for their respective species (i.e. Humans have 23, Arabidopsis have 5), so dynamically space the SVG/CANVAS area to the page
When the user selects a chromosomal locus (area), the genes located in around that locus should populate a tooltip
The tooltip should show the chromosome loci numbers
The tooltip will have hyperlinks to load those genes into ePlant sidebar directly into ePlant from a modal
From the user selected GOIs, these GOIs should be denoted properly in this view
From speaking with Nick (Product Owner), we will NOT need to re-implemenet the gene density function (red/yellow colouring seen below)
*Chromosome module displaying genes selected, with a tooltip to add more genes. Notice how the tooltip has a list of genes in that region and the chromosomal locations from start and end in that region. Note that gene density is turned on* *Modal that shows once a user clicks on a gene from the above tooltip. The user can then load a gene from the green button. She can also close this modal*
Chromosome View
Unlike our other views which require a GOI to be selected. A few modules like the chromosome view can be accessed directly without a gene selected. The chromosome viewer should correctly:
Technical notes: Note that the chromosomes are drawn dynamically. The webservice for chromosome size is (https://bar.utoronto.ca/eplant/cgi-bin/chromosomeinfo.cgi?species=Arabidopsis_thaliana). When a locus is selected, a query is made to this [webservice] (https://bar.utoronto.ca/eplant/cgi-bin/querygenesbyposition.cgi?chromosome=Chr3&start=15105497.767957352&end=15171733.452802815), therefore the chromosome event listener should retain locus information.
Popular endpoint: https://bar.utoronto.ca/eplant_poplar/cgi-bin/chromosomeinfo.cgi?species=Populus_trichocarpa
NB: We are refactoring the above endpoints, the structure may slightly change.
Creative Notes: Could we add additional filters to this module such as a functional annotation?