igvteam/igv.js

IGVweb not loading GFF compressed and index files when served from a server

Closed this issue · 13 comments

I have two files with extensions: gff.gz and gff.gz.tbi.
The files are loaded correctly if the track are defined like this:

tracks: [
    {
        name: "Genes",
        type: "annotation",
        format: "gff3",
        sourceType: "file",
        url: "./../resources/sorted_reference_genome.gff.gz",
        indexURL: "./../resources/sorted_reference_genome_index.gff.gz.tbi",
        oauthToken: `${token}`,
        removable: false,
        order: 1000000
    }
]

However, when the files are served from a server it is not loaded

Track:

tracks: [
    {
        name: "Genes",
        type: "annotation",
        format: "gff3",
        sourceType: "file",
        url: `${host}/api/data/${datasetId}/component/bgzipped_gff`,
        indexURL: `${host}/api/data/${datasetId}/component/bgzipped_gff_index`,
        oauthToken: `${token}`,
        removable: false,
        order: 1000000
    }
]

I tried these headers and it is not working:

AddType application/octet-stream gff.gz
Content-Disposition attachment; filename=sorted_reference_genome.gff.gz
AddType application/octet-stream gff.gz.tbi
Content-Disposition attachment; filename=sorted_reference_genome.gff.gz.tbi

Hi, we most defintely load many gff files from remote servers, so we need to dig deeper. Does your server include CORS headers? What is the nature of the failure?

General information on server requirements can be found here: https://igv.org/doc/igvjs/#Data-Server-Requirements/.

The error I'm seeing in the webinterface is just a Dialog withe the message: Dataset
Here is the response header:

Screenshot 2024-08-08 at 5 41 09 PM

What does the response look like for the gff.gz file?

You might try this and compare responses carefully

                    {
                        "type": "annotation",
                        "format": "gtf",
                        "url": "https://s3.amazonaws.com/igv.broadinstitute.org/annotations/hg19/genes/gencode.v24lift37.annotation.sorted.gtf.gz",
                        "indexURL": "https://s3.amazonaws.com/igv.broadinstitute.org/annotations/hg19/genes/gencode.v24lift37.annotation.sorted.gtf.gz.tbi",
                        "name": "Gencode v24 (gtf) -- genes filtered",
                    }

Also, what is the actual response, if any? Its odd that some of the headers are listed twice (Origin for example), I don't know what the consequence of that might be.

I don't see the CORS headers, which is the likely cause of the failure. See the link I posted above.

I have other files (decompressed FASTA with index) served from the same server and it works fine. Only the GFF file is failing.

The FASTA sequence is loaded but not the genes.
Here is the full genome object

{
      id:datasetId,
      name: `My Genome`,
      fastaURL: `${host}/api/data/${datasetId}/component/decompressed_fasta`,
      indexURL: `${host}/api/data/${datasetId}/component/decompressed_fasta_index`,
      oauthToken: `${token}`,
      tracks: [
          {
              name: "Genes",
              type: "annotation",
              format: "gff3",
              sourceType: "file",
              url: `${host}/api/data/${datasetId}/component/bgzipped_gff`,
              indexURL: `${host}/api/data/${datasetId}/component/bgzipped_gff_index`,
              oauthToken: `${token}`,
              removable: false,
              order: 1000000
          }
      ]
  }

I have more info.
I put the files on a public S3 bucket and it works. However, when I remove the file extension it does not work. This seems to be happening with the server as well.

File with extension works:
Screenshot 2024-08-09 at 9 54 27 AM

File without extension don't works
Screenshot 2024-08-09 at 10 00 49 AM

Are you using the latest version of igv.js? I can't reproduce your problem. I have attached a test case.

                    {
                        name: "Genes",
                        format: "gff3",
                        url: `bgzipped_gff`,
                        indexURL: `bgzipped_gff_index`
                    }

noextensions.zip

I'm using this version

IGV-Web app version 1.3.0
igv.js version 2.6.5

That's an old version, almost 4 years old.

Will try to use the new one