Giter Site home page Giter Site logo

gladkia / igvshiny Goto Github PK

View Code? Open in Web Editor NEW
36.0 36.0 23.0 12.33 MB

An htmlwidget version of igv, for RStudio and Shiny apps

Home Page: https://gladkia.github.io/igvShiny/

License: Other

R 1.92% JavaScript 97.30% CSS 0.50% Makefile 0.01% HTML 0.27%

igvshiny's Introduction

igvshiny's People

Contributors

federicomarini avatar gladkia avatar heimannch avatar karollayna avatar paul-shannon avatar vjcitn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

igvshiny's Issues

When igvShiny set genomeName to remote or local, it can add Annotation track?

Hi Paul,

Thank you very much for developing this wonderful package to browse genome in R Shiny.
I have some questions about when set genomeName for "remote" or "local" in igvShiny( ) for custom genome.

Is any function like loadVcfTrack such as "loadAnnotationTrack" to loading Annotation track from gtf/gff3 or rtracklayer object?
It will be helpful for custom genome setting in igvShiny.

image

Another question is genomeName, it will change to "remote" mabye it can be a setting genome id like igvR setCustomGenome?

Best,
Chi Kao

Using IGV Shiny

This package is really interesting! I'm having a really tough time getting the widget to load and importing bed files to it. Would you mind giving a brief example of how to operate the package within a Shiny app?

Thank you!

genome 'hg19' is not currently supported

Hi Paul,

My app is getting this error whenever igv is loading:

[1] --- leaving igvShiny.R, renderIgvShiny
Warning: Error in igvShiny::parseAndValidateGenomeSpec: Your genome 'hg19' is not currently supported
Currently supported: 
  99: stop
  98: igvShiny::parseAndValidateGenomeSpec
  97: ::
htmlwidgets
shinyRenderWidget [/Users/heimann/Documents/cri_iatlas/iatlas-app/R/germline_gwas_server.R#64]

It's important to us to use this genome version, as our app is mirroring a publication that used this assembly. Is there a reason to stop supporting this version?

Thanks!

igvShiny options$genomeName='local' or 'remote'

I cant seem to get anything to actually show when my IGV is rendered. The logs seem to be correct, but nothing is outputed as a reference.

output$igvShiny_0 <- renderIgvShiny({
igvShiny(options = list(genomeName = "local",
fasta = "/Users/jerem/Pipelines/nf-crisprdesign/vizapp/loxAfr3/Loxodonta_africana.loxAfr3.dna.toplevel.fa",
index = "/Users/jerem/Pipelines/nf-crisprdesign/vizapp/loxAfr3/Loxodonta_africana.loxAfr3.dna.toplevel.fa.fai",
initialLocus="",
displayMode = "EXPANDED"))
})

Also, for 'remote' many fastas are kept in gzip format. Could you add the ability to input and read .fa.gz and .fa.gz.fai (example below)

output$igvShiny_0 <- renderIgvShiny({
igvShiny(options = list(genomeName = "remote",
fasta = "http://ftp.ensembl.org/pub/release-106/fasta/homo_sapiens/dna_index/Homo_sapiens.GRCh38.dna.toplevel.fa.gz",
index = "http://ftp.ensembl.org/pub/release-106/fasta/homo_sapiens/dna_index/Homo_sapiens.GRCh38.dna.toplevel.fa.gz.fai",
initialLocus="",
displayMode = "EXPANDED"))
})

How to use

Hey Paul,

Thanks for the great work. Could you provide a simple app.R that utilizes your package?

thanks,

Matt

documentation and examples needed for providing tracks option to igvShiny

reviewing the documentation, tests, and demos, I can find no example of providing values for the tracks option to igvShiny function.

Its documentation reads:

  tracks: a list of track specifications to be created and displayed at  startup

but does not advise what a track specifications is.

Upon reviewing the code, AFAICT, the tracks option is ignored.

Working example?

Hello, this looks great. Would it be possible to have a working example? Thanks

Questions on using the GWAS track

Hi @paul-shannon!
I am very interested in using igvShiny to display GWAS results. During my initial attempts at implementing it, I came across some initial questions/suggestions.

1. Add GWAS track in a Shiny module

In igvShinyDemo-withModules.R I found that appending a session$ns() in the id was enough to load the GWAS track:

observeEvent(input$addGwasTrackButton, {
      printf("---- addGWASTrack")
      printf("current working directory: %s", getwd())
      showGenomicRegion(session, id=session$ns("igvShiny_0"), "chr19:45,248,108-45,564,645")
      loadGwasTrack(session, id=session$ns("igvShiny_0"), trackName="gwas", tbl=tbl.gwas, deleteTracksOfSameName=FALSE)
      })

It is worth noting that this same change worked partially to the other tracks (a box for the track is added, but no data is displayed). We discussed about Shiny modules in the past, and I was wondering if you have any suggestions on this topic.

2. folder /tracks

How do you recommend dealing with the /tracks folder that is created by the GWAS track? I see on igvShinyDemo.R that there is some code to create the folder, but I would be interested in making sure that this folder is cleaned after each session.

3. GWAS track added as default at IGV start

Is there a way to load the GWAS track as default? I imagine that it would be an argument to the igvShiny call at renderIgvShiny, but I didn't figure out how to do that.

Thanks!

Support for custom genomes

Hi, I've been working on implementing IGV in a Shiny app and started with using igvShiny, but I've moved to trying your other package igvR because of its setCustomGenome function. We'd like to use igvShiny instead because of its integration with Shiny, but we need it for other genomes that aren't supported. We saw this request and were wondering if it would be possible to implement something like setCustomGenome in igvShiny. Thanks!

No mismatches shown from local BAM file?

Hi,

I am using your example to show bam/cram files from WES data. I wonder if it is a bug that the locally loaded bam file does not show any mismatches:

Screenshot 2023-07-17 at 16 38 48

I already implemented this function to load our mapped WES data, which we stored as BAM file. Using the ScanBamParam(which=region.GRanges) I can now efficiently load data from rather huge bam files.

Screenshot 2023-07-17 at 17 05 04

Unfortunately, also here I do not find any mismatch but only Insertions highlighted. Is this a bug in some igvshiny function or rather a feature of the local bam files including mine? Do I have to modify my bam file to visualize mismatches ?

Best,
Christian

auto cleanup of temporary track files

@chikao0817 asked this question.
This arises from the design of igvShiny:

  • igv.js primarily loads track data from a url, a web server
  • we typically deal in direct data, often R data.frames, in igvShiny and igvR
  • displayTrack writes files (often bed files) to a local directory visible to the small webserver embedded in igvShiny
  • it should be safe to delete these files as soon as igv.js has displayed them
  • though large region files, larger than the current visibility window, may need to persist.
    I will be looking at this further, and soon.

Unexpected interaction between igvShiny and cyjShiny

Hi Paul,

I've found a weird issue that I'm not even sure is an igvShiny issue, but since it seems that some sort of interaction is happening with this package and cyjShiny, I thought you might have some idea of what is going on here.

Steps to reproduce the issue:

  1. Access https://isb-cgc.shinyapps.io/iatlas-testing/
  2. In the left menu, access "Cell-Interaction Diagram". You'll see on the right panel a network that uses cyjShiny
  3. In the left menu, access "Germline Analysis". The second section (GWAS) was supposed to show an IGV plot, but it's not there.

If you restart the app and switch steps 2 and 3, you'll see the IGV plot, but not the cyjShiny network. I tried removing the animation from shinycssloaders::withSpinner(.) as the javascript console showed some tags that I believe are associated with that, but the problem persists.

Load large local fasta file size, igvShiny will not show any base information?

@paul-shannon

Hi Paul,

Thanks a lot for adding gff3 track develop. It was very useful ๐Ÿ˜Š .

But I found some issue about load local fasta file in igvShiny.
Maybe this bug or limit is about igv.js load local fasta from server.

I test two local fasta genome from ENSEMBL PLANT database and Solgenomic Network for igvShiny.
First, the Solanum lycopersicum genome.
S_lycopersicum_chromosomes.3.00.fa file size is around 803 Mb.
Second, the Oryza sativa genome.
Oryza_sativa.IRGSP-1.0.dna.toplevel.fa file size is around 364 Mb.

When app run in Rstudio local apps (127.0.0.1:4094)
Both two genome can show base information like figure.

igvShiny_localfasta_issue

Loading much time and before loading base information
show WARNING: range-byte header was ignored for url info like issue.
#23

But when app run in rstudio-server in local server (192.168.100.6:3838)
Oryza sativa genome works fine, but Solanum lycopersicum genome didn't jump warning message
and also can't show base information like figure.
igvShiny_localfasta_issue2

I guess this maybe a local file size issue for igvShiny base on igv.js.
Additionally, issue about range-byte header was ignored for url in igv.js happend in some local file upload.
igvteam/igv.js#680
igvteam/igv.js#1049

When I upload Solanum lycopersicum local fasta to IGV App
It didn't jump range-byte header was ignored for url and base information looks great.
Is about different version for igv.js? or java version? for local url.
image

I also upload this two genome fasta and fai in gdrive.

Hope this issue will help.

Best regards,
Kao Chi

chromLocRegion reactive to change in selection

Paul, thanks for the awesome work with this package!
igvShinyDemo.R was enough to help me get started using this resource, but I ran into one use case that might involve functions that I am not aware of.

I am interested in storing the genomic region as a reactive object, and use this information to link IGV with other visualizations in my app.
The end result is similar to what in the igvShinyDemo.R app is achieved with the getChrmLoc button, but with chromLocRegion being reactive to any change in selection instead of being triggered by a button. I've tried to adapt the code related to getChrmLoc, such as:

    region_track <- reactive({
     printf("--- getChromLoc event")
     igvShiny::getGenomicRegion(session, id="igv_plot")
   })
   
   observeEvent(region_track(), {
     printf("--- currentGenomicRegion event")
     chromLocRegion <- input$currentGenomicRegion
     
     chromLocRegion
   })

but I had no success with that.

Alternatively, I see that I could also get this information updated if there is any way to listen to events linked to clicks of the magnifying glass at the IGV search bar.

Is there any way to implement either of these approaches?

Your genome 'hg38' is not currently supported

Hi,

I have not checked my Shiny-Scripts since a while. Today I see that I get an error with igvShiny when I try to load the genome:
genomeSpec <- parseAndValidateGenomeSpec("hg38", "APOE")
Error in parseAndValidateGenomeSpec("hg38", "APOE") :
Your genome 'hg38' is not currently supported
Currently supported:

I am running igvShiny_1.5.1. Do you have an idea what could be wrong?

Best,
Christian

Loading bam files

Hello Paul!
Thank you for this great idea! It is almost what I need!
I am trying to create IGV shiny widget on my app to visualise my bam files (whole exome data).
Do you think it is possible to adapt your code for that?

loadBedGraphTrackFromURL rewrites the config vars including url

There appears to be some debugging/testing code left in Shiny.addCustomMessageHandler("fubar", which is responsible for rewriting the url to a hardcoded value, as can be seen in the javascript console:

(text version copied below)
image

Perhaps I should not be working off master?

FWIW: I am trying to suss out how to load a bigbed file by URL and could use some guidance...

=== loadBedGraphTrackFromURL
igvShiny.js:7 
{elementID: 'igvShiny_0', trackName: 'meme.ame.all.shuffle', url: 'http://webfs/Sci/SCI-003911-GPFGRIZ/sequenceanalysis/run8/PRLT/meme/ame/shuffle/all.shuffle.bb', color: 'gray', trackHeight: 30, โ€ฆ}
igvShiny.js:521 --- loading bedGraphTrackFromURL
igvShiny.js:522 
{url: 'https://www.encodeproject.org/files/ENCFF000ASF/@@download/ENCFF000ASF.bigWig', name: 'GM12878 H3K4me3', color: 'rgb(200,0,0)', autoscaleGroup: '1'}
autoscaleGroup
: 
"1"
color
: 
"rgb(200,0,0)"
format
: 
"bigwig"
name
: 
"GM12878 H3K4me3"
type
: 
"wig"
url
: 
"https://www.encodeproject.org/files/ENCFF000ASF/@@download/ENCFF000ASF.bigWig"
[[Prototype]]
: 
Object

loadBamTrackFromLocalData produces errors with local tumor.bam

Hello,
I'm testing /inst/demos/igvShinyDemo.R with tumor.bam you've provided, however, I get the following error followed by a crash of the application. I can see that the file loaded since:
x <- readGAlignments(bamFile)
print(head(x))
returns lines from bam, so it's able to load the file. There must be a problem with loadBamTrackFromLocalData?
Error in as.character: cannot coerce type 'closure' to vector of type 'character'
I've tried my own local bam file and got the same result.
Thank you for your help.

ThickStart/End, TrackHeight of original track, etc.

Really a huge fan of what you have created here. I have stumbled on this package hours after your recent commit, and have some notes from a first user of new functionality:

  • thickStart/thickEnd capability from BED files. Can't find a way to change the width of tracks like this. Is this implemented yet?
  • trackHeight of original RefSeq track. I see your note in the code about this being a to-do, just upping the importance of it.
  • The folder 'tracks' caused some hiccups, especially when deploying from the folder after I've done testing of the app locally. Shiny is trying to automatically deploy this folder, not sure if that's intended.
  • When I upload a GFF3 track from a URL, it takes the track name from that URL, rather than the trackName specified in the call to add the track, and the parameter 'trackName'. This is causing issues downstream because if I want to remove the track, the remove track function is, I believe, calling the trackName title, not the URL. So the remove track function doesn't work, but it does with the name drawn from the URL.

Nonetheless, great work. Will continue to forward some bugs when I find them.

Unexpected behavior with igvShiny in shinydashboard

HI @paul-shannon,
I've observed an unexpected behavior with igvShiny when it is placed in a shinydashboard page.
The following gist reproduces the issue: https://gist.github.com/heimannch/58ebd235327dd34b90c764bd19e2a91c
(that is the code in igvShinyDemo-withModules.R, with the UI using shinydashboard)

When this code is run at first (after startup or restarting R), the igv plot is not completely inside its box, and the behavior persists if I add/delete tracks:
image

Quite interestingly, if I close the app and start it again, everything is ok, and the box resizes when new tracks are added/deleted:
image

I've tried setting the height values in the igvShiny calls, but the problem persists. Do you have any idea of what might be happening?

igvShiny 1.5.1 with new required argument to the constructor, genomeOptions

@heimannch @ChristianRohde @JAMKuttan

I merged the customGenomes branch into master, creating igvShiny version 1.5.1
The full details on specifying a custom genome can be seen in

inst/demos/customGenomes/customGenome-localFiles-sars.R
inst/demos/customGenomes/customGenome-remoteFiles-sars.R

When you use a stock genome - 35 are currently provided by the igv team - here's what you do:

image

then when you call the igvShiny constructor in your shiny server function, create a genome spec with almost all parameters taking default values:

     genomeOptions <- parseAndValidateGenomeSpec(genomeName="hg38",  initialLocus="NDUFS2")
     x <- igvShiny(genomeOptions,
                   displayMode="SQUISHED",
                   tracks=list()
                   )

shiny modules, namespaces, dom id

@heimannch make these observations:

Hi @paul-shannon,
I just submitted a PR with a suggestion of an approach to send the namespace from the Shiny session to igvShiny. This will only take care of the events that had the namespace hardcoded in the code - ie, functions to add other tracks, such as loadGwasTrack, still need to have session$ns() appended in the id parameter. I think a similar approach to what is in the PR can be used to solve that issue, but I still need to figure out how.

igvShiny/inst/demos/tiny.R fails on some stock genomes

In my hands, igvShiny/inst/demos/tiny. works in R 4.2.0 as provided (using genomeName="hg38" ).

I installed earlier today with remotes::install_github("paul-shannon/igvShiny")

From the documentation, I expect it should work with many other of the currently.supported.stock.genomes().

However, for me, changing to another stock genome with genomeName="danRer11" (or: sacCer3 hg19 dm3 dm6 chm13v2.0), fails with:

igvShiny.js:66 Uncaught TypeError: Cannot read properties of null (reading 'height')
    at Object.renderValue (igvShiny.js:66:77)
    at Object.renderValue (htmlwidgets.js:886:25)
    at shinyBinding.renderValue (htmlwidgets.js:541:20)
    at e.value (outputBinding.ts:48:12)
    at delegator.<computed> [as onValueChange] (htmlwidgets.js:112:23)
    at e.value (outputAdapter.ts:38:20)
    at e.value (shinyapp.ts:559:17)
    at e.<anonymous> (shinyapp.ts:736:20)
    at e.value (shinyapp.ts:717:29)
    at e.value (shinyapp.ts:700:12)
renderValue @ igvShiny.js:66
renderValue @ htmlwidgets.js:886
shinyBinding.renderValue @ htmlwidgets.js:541
value @ outputBinding.ts:48
delegator.<computed> @ htmlwidgets.js:112
value @ outputAdapter.ts:38
value @ shinyapp.ts:559
(anonymous) @ shinyapp.ts:736
value @ shinyapp.ts:717
value @ shinyapp.ts:700
i.onmessage @ shinyapp.ts:350

This is under Google Chrome (Version 105.0.5195.127 (Official Build) (64-bit)) .

Additionally there are warnings in the console of:

DevTools failed to load source map: Could not load content for http://hd1991356yb:9998/igv-ui-1_3_0.css.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE
DevTools failed to load source map: Could not load content for http://hd1991356yb:9998/circular-view.css.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE
DevTools failed to load source map: Could not load content for http://hd1991356yb:9998/dom.css.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE

but these warnings are also present with "hg38".

The issue persists after updating all packages:

sessionInfo()
R version 4.2.0 (2022-04-22)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: CentOS Linux 7 (Core)

Matrix products: default
BLAS:   /n/apps/CentOS7/install/r-4.2.0/lib64/R/lib/libRblas.so
LAPACK: /n/apps/CentOS7/install/r-4.2.0/lib64/R/lib/libRlapack.so

locale:
[1] C

attached base packages:
[1] stats4    stats     graphics  grDevices utils     datasets  methods  
[8] base     

other attached packages:
 [1] igvShiny_1.5.6         htmlwidgets_1.5.4      rtracklayer_1.56.1    
 [4] GenomeInfoDbData_1.2.8 GenomicRanges_1.48.0   GenomeInfoDb_1.32.3   
 [7] IRanges_2.30.1         S4Vectors_0.34.0       BiocGenerics_0.42.0   
[10] shiny_1.7.2           

loaded via a namespace (and not attached):
 [1] Rcpp_1.0.9                  lattice_0.20-45            
 [3] Rsamtools_2.12.0            Biostrings_2.64.1          
 [5] digest_0.6.29               V8_4.2.1                   
 [7] mime_0.12                   R6_2.5.1                   
 [9] httr_1.4.4                  zlibbioc_1.42.0            
[11] rlang_1.0.6                 curl_4.3.2                 
[13] jquerylib_0.1.4             Matrix_1.5-1               
[15] randomcoloR_1.1.0.1         BiocParallel_1.30.3        
[17] Rtsne_0.16                  stringr_1.4.1              
[19] RCurl_1.98-1.9              munsell_0.5.0              
[21] DelayedArray_0.22.0         compiler_4.2.0             
[23] httpuv_1.6.6                htmltools_0.5.3            
[25] SummarizedExperiment_1.26.1 codetools_0.2-18           
[27] matrixStats_0.62.0          XML_3.99-0.11              
[29] crayon_1.5.2                later_1.3.0                
[31] GenomicAlignments_1.32.1    bitops_1.0-7               
[33] grid_4.2.0                  jsonlite_1.8.2             
[35] xtable_1.8-4                lifecycle_1.0.2            
[37] magrittr_2.0.3              scales_1.2.1               
[39] cli_3.4.1                   stringi_1.7.8              
[41] cachem_1.0.6                XVector_0.36.0             
[43] promises_1.2.0.1            bslib_0.4.0                
[45] ellipsis_0.3.2              rjson_0.2.21               
[47] restfulr_0.0.15             tools_4.2.0                
[49] Biobase_2.56.0              MatrixGenerics_1.8.1       
[51] parallel_4.2.0              fastmap_1.1.0              
[53] yaml_2.3.5                  colorspace_2.0-3           
[55] cluster_2.1.4               memoise_2.0.1              
[57] sass_0.4.2                  BiocIO_1.6.0                

I tried it in R 4.1.2 and still get

Uncaught TypeError: Cannot read properties of null (reading 'height')
    at Object.renderValue (igvShiny.js:66:77)
    at Object.renderValue (htmlwidgets.js:886:25)
    at shinyBinding.renderValue (htmlwidgets.js:541:20)
    at e.value (outputBinding.ts:48:12)
    at delegator.<computed> [as onValueChange] (htmlwidgets.js:112:23)
    at e.value (outputAdapter.ts:38:20)
    at e.value (shinyapp.ts:559:17)
    at e.<anonymous> (shinyapp.ts:736:20)
    at e.value (shinyapp.ts:717:29)
    at e.value (shinyapp.ts:700:12)

again with updated packages:

sessionInfo()
R version 4.1.2 (2021-11-01)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: CentOS Linux 7 (Core)

Matrix products: default
BLAS:   /n/apps/CentOS7/install/r-4.1.2/lib64/R/lib/libRblas.so
LAPACK: /n/apps/CentOS7/install/r-4.1.2/lib64/R/lib/libRlapack.so

locale:
 [1] LC_CTYPE=en_US.utf8       LC_NUMERIC=C             
 [3] LC_TIME=en_US.utf8        LC_COLLATE=en_US.utf8    
 [5] LC_MONETARY=en_US.utf8    LC_MESSAGES=en_US.utf8   
 [7] LC_PAPER=en_US.utf8       LC_NAME=C                
 [9] LC_ADDRESS=C              LC_TELEPHONE=C           
[11] LC_MEASUREMENT=en_US.utf8 LC_IDENTIFICATION=C      

attached base packages:
[1] stats4    stats     graphics  grDevices utils     datasets  methods  
[8] base     

other attached packages:
 [1] igvShiny_1.5.6         htmlwidgets_1.5.4      rtracklayer_1.57.0    
 [4] GenomeInfoDbData_1.2.7 GenomicRanges_1.46.1   GenomeInfoDb_1.30.1   
 [7] IRanges_2.28.0         S4Vectors_0.30.2       BiocGenerics_0.40.0   
[10] shiny_1.7.2           

loaded via a namespace (and not attached):
 [1] SummarizedExperiment_1.24.0 bslib_0.4.0                
 [3] lattice_0.20-45             V8_4.2.1                   
 [5] colorspace_2.0-3            htmltools_0.5.3            
 [7] yaml_2.3.5                  XML_3.99-0.9               
 [9] rlang_1.0.1                 jquerylib_0.1.4            
[11] later_1.3.0                 BiocParallel_1.28.3        
[13] randomcoloR_1.1.0.1         matrixStats_0.62.0         
[15] lifecycle_1.0.1             stringr_1.4.1              
[17] zlibbioc_1.40.0             MatrixGenerics_1.6.0       
[19] Biostrings_2.62.0           munsell_0.5.0              
[21] memoise_2.0.1               restfulr_0.0.13            
[23] Biobase_2.54.0              fastmap_1.1.0              
[25] httpuv_1.6.6                parallel_4.1.2             
[27] curl_4.3.2                  Rcpp_1.0.8                 
[29] xtable_1.8-4                promises_1.2.0.1           
[31] scales_1.2.1                cachem_1.0.6               
[33] DelayedArray_0.20.0         jsonlite_1.8.2             
[35] XVector_0.34.0              mime_0.12                  
[37] Rsamtools_2.10.0            rjson_0.2.21               
[39] digest_0.6.29               stringi_1.7.8              
[41] Rtsne_0.16                  BiocIO_1.4.0               
[43] grid_4.1.2                  cli_3.3.0                  
[45] tools_4.1.2                 bitops_1.0-7               
[47] sass_0.4.2                  magrittr_2.0.3             
[49] RCurl_1.98-1.6              cluster_2.1.2              
[51] crayon_1.5.2                ellipsis_0.3.2             
[53] Matrix_1.4-1                httr_1.4.4                 
[55] R6_2.5.1                    GenomicAlignments_1.30.0   
[57] compiler_4.1.2             

Similarly, igvShinyDemo.R fails when changing hg38 to e.g. danRer11.

What other diagnostics can I provide?

Or am I just using it incorrectly?

autoscaleGroup not working in loadBedGraphTrack

@ChristianRohde thank you for the bug report. This feature works find in base igv.js, so the problem is mine to fix, in my code.

I put some time in on this just now, to no avail. I need to dig deeper into the problem. Unfortunately I am tied up all week, so cannot get to this right away.

I hope that the workaround I suggested here is enough for now.

Control package dependencies based on tracks being used

I am using igvShiny in my app and I've notice that it is demanding a lot of memory.
My application uses the following tracks:

  • RefSeq
  • Gencode
  • GWAS

I imagine that some of the current package dependencies are not necessary for these tracks - would it be possible to control the dependencies based on the widget resources being used?

Thanks!

Support for grouped deeptools bamCoverage tracks?

Hi,

this is not an issue but rather a question: I started to use igvShiny to visualize peak regions in bed format. This works very well for background & regulated. Thank you so much for this software!

In IGV I usually inspect single sample files from each 3 x IP + IgG + input as normalized tracks generated with deeptools bamCoverage. The important point is: the scale is grouped within all samples. Do you think this would be possible as well in igvShiny?

Best,
Christian

Custom chromosome color for GWAS track

Hi @paul-shannon!

Last year, I pointed you out an issue about a color bug for GWAS tracks in igvR (the whole story here). It is still there in igvShiny. As you mentioned in the post, the igv.js team updated their code to solve the issue, so it could be great to get an update of that part of the code to use it in igvShiny.

Nevertheless, I actually found your code implementation way simpler to use. It could be nice to add this feature to the GWASTrack function of the igvShiny package.

Again, thank you so much for your hard work on these packages, and for keeping them maintained.
Have a nice day,

Best regards - Savvy

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.