chimeraviz
chimeraviz copied to clipboard
Custom genomes
Hi, @stianlagstad !
I would like to know if there is a way to make a custom genome database, such as plant genomes, and then feed to import_jaffa with a new parameter?
I saw you have added mm10 since initial human genome. I thought with genome/transcript fasta and corresponding gff annotation file, we can make a database for any species.
It would also be great if you can provide me some suggestions like where I need to start and what fucntions I should modify. I may try myself then.
Hi @Zhuxitong, thanks for your interest in chimeraviz :pray:
Currently chimeraviz is hardcoded to only allow hg19 and mm10, as you've seen. You can see this here:
- plot_circle: https://github.com/stianlagstad/chimeraviz/blob/d94dda939cf65e36760488209558fe70068db7d5/R/plot_circle.R#L182
- plot_fusion: https://github.com/stianlagstad/chimeraviz/blob/d94dda939cf65e36760488209558fe70068db7d5/R/plot_fusion.R#L323
- utilities, in the get_ensembl_ids function: https://github.com/stianlagstad/chimeraviz/blob/d94dda939cf65e36760488209558fe70068db7d5/R/utilities.R#L208
It seems to me that to support a custom genome, then at least those places in the code would need to be updated.
- In plot_circle, we read in a specific cytoband_file depending on whether you have hg19 or mm10. We could consider taking a path to a specific cytoband file (on your own system) as input to the function instead.
- The same happens in plot_fusion.
- In utilities (in the get_ensembl_ids function), we select a specific annotation_db. Either org.Hs.eg.db or org.Mm.eg.db. Those are from https://bioconductor.org/packages/release/data/annotation/html/org.Hs.eg.db.html and https://bioconductor.org/packages/release/data/annotation/html/org.Mm.eg.db.html, respectiely. We use this to get the ensembl identifiers. We could consider an alternative approach to that. Maybe the caller of the function can supply their own database?
Those are my initial thoughts. I do not have time to implement anything like this myself, but would very much welcome a pull request with the change.
Hi, @stianlagstad,
Thanks for your suggestions in great details. During last week, I tried to modify those source codes, but I could only make get_circle working by creating a fake band file and modifying the codes you referred. I failed to run other functions mainly beacuse of the lack of ensembl db file. I also tried to make a custom db file, but couldn't find an easy way. I think there should be a way to expand the scope of using chimeraviz by solving this problem, and I will try again. So better leave this Issue open :)