ideogram
ideogram copied to clipboard
Request: Brush on multiple chromosomes
Hello, I am grateful to this library!
I would appreciate it if you would add a support for brush on multiple chromosomes since I would like to provide an interface to select the position from multiple chromosomes. My request is below.
- Switch a brush to each chromosome on drawing multiple chromosomes.
- Option to draw multiple chromosomes not only in ascending order but also in the specified order such as
chromosome: ['chr8', 'chr6', 'chr7']
. - Option to draw brush with the initial position such as
brush: "chr:start-stop"
.
And following functions is not a so high priority but convenient for me.
- onClickChromosomeCallback and onClickAnnotationCallback functions
- Synteny line among multiple(3<=) chromosomes.
- Drag and drop to change the order of multiple chromosomes.
- Zoom, scroll, and reverse chromosomes.
An image is as follows:
Thank you,
@6br, thanks for these feature requests. I'll give your proposals a closer look once I'm done expanding support for cytobands (#83), likely within a few weeks.
In the meantime, if you could describe use cases for these potential enhancements, that would help me prioritize my work. I also accept pull requests!
@eweitz, thanks for your reply!
My use cases are following.
- To select genomic variations in human:
In this case, annotations mean genes, SNPs or SVs, which is shown on each track. Here, I have already selected some chromosomes by annotations of genes such as related to cancer or metabolic pathway.
-
The karyotypes of selected chromosomes are shown and they should be aligned in the order of chosen because the order is related to the priority of genomic locus to select, I think.
-
If I set the genomic coordinate in advance, the brush should have been moved there. The
selectedRegion
of brush should be consistent with the given coordinate in advance.
I am trying to do so (https://github.com/eweitz/ideogram/compare/master...6br:master), but it does not seem to work well since it does not preserve the exact genomic coordinates.
-
By selecting one region from multiple chromosomes with a brush, I can narrow down the SNPs and SVs that exist in the region selected. I will use
ideogram.selectedRegion
to narrow down the external SNPs table. -
Moreover, when I click the annotation of SNPs or SVs, details of these variants will be shown. Since I want to fetch what is clicked, it requires callbacks on annotations.
I think from 1 to 3 is the important part because it seems to be tightly coupled with library's implementation.
I would be pleased if it could help your work.
Regards,