igvteam / igv

Integrative Genomics Viewer. Fast, efficient, scalable visualization tool for genomics data and annotations
https://igv.org
MIT License
626 stars 378 forks source link

Error encountered querying alignments: java.lang.ArrayIndexOutOfBoundsException: 8517 #499

Closed nrosewick closed 5 years ago

nrosewick commented 6 years ago

Hi,

I aligned some nanopore cDNA data using minimap2. It's human samples infected with a retrovirus. I aligned against a custom genome where the viral genome is used as an additional chromosome. The viral genome is quiet small (~10kb). After alignment (and sorting and indexing with samtools) I tried to visualize the bam file in IGV. When I open the bam file on a human chromosome, it opens without any issue. However when I try to open it on the viral genome it gives me this error :

FYI : I use IGV 2.4.5

ERROR [2017-12-21 11:11:05,234] [AlignmentTileLoader.java:299]  Error loading alignment data
java.lang.ArrayIndexOutOfBoundsException: 8517
    at htsjdk.samtools.AbstractBAMFileIndex.query(AbstractBAMFileIndex.java:314)
    at htsjdk.samtools.DiskBasedBAMFileIndex.getSpanOverlapping(DiskBasedBAMFileIndex.java:61)
    at htsjdk.samtools.BAMFileReader.getFileSpan(BAMFileReader.java:898)
    at htsjdk.samtools.BAMFileReader.createIndexIterator(BAMFileReader.java:915)
    at htsjdk.samtools.BAMFileReader.query(BAMFileReader.java:575)
    at htsjdk.samtools.SamReader$PrimitiveSamReaderToSamReaderAdapter.query(SamReader.java:528)
    at htsjdk.samtools.SamReader$PrimitiveSamReaderToSamReaderAdapter.query(SamReader.java:533)
    at org.broad.igv.sam.reader.BAMReader.query(BAMReader.java:169)
    at org.broad.igv.sam.AlignmentTileLoader.loadTile(AlignmentTileLoader.java:161)
    at org.broad.igv.sam.AlignmentDataManager.loadInterval(AlignmentDataManager.java:351)
    at org.broad.igv.sam.AlignmentDataManager.load(AlignmentDataManager.java:295)
    at org.broad.igv.sam.CoverageTrack.load(CoverageTrack.java:184)
    at org.broad.igv.ui.panel.DataPanel.lambda$load$3(DataPanel.java:225)
    at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1626)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
INFO [2017-12-21 11:11:05,234] [MessageUtils.java:74]  <html>Error encountered querying alignments: java.lang.ArrayIndexOutOfBoundsException: 8517

Here's the pref.properties :

IGV.track.show.attribute.views=true
LAST_SNAPSHOT_DIRECTORY=/home/nicolas/Téléchargements
SAM.SHOW_DUPLICATES=true
SAM.MAX_VISIBLE_RANGE=1000
LAST_GENOME_IMPORT_DIRECTORY=/home/nicolas/Téléchargements
SAM.SHOW_SOFT_CLIPPED=true
IGV.Bounds=-1,0,1922,1053
GENOME_LIST=hg19;OAR3.1
DEFINE_GENOME_INPUT_DIRECTORY_KEY=/home/nicolas/Documents/genomes
LAST_TRACK_DIRECTORY=/home/nicolas/Documents/minion
SAM.SORT_OPTION=FIRST_OF_PAIR_STRAND
SHOW_SEQUENCE_TRANSLATION=false
SAM.COLOR_BY=FIRST_OF_PAIR_STRAND
SAM.MAX_LEVELS=5000
DEFAULT_GENOME_KEY=OAR3.1

##RNA

##THIRD_GEN

Thanks

jrobinso commented 6 years ago

The error here is in the htsjdk, a separate project ( https://github.com/samtools/htsjdk), and its difficult for me to open an issue there without a means to reproduce. Is there any possibility you could create a test case with a bam and fasta file that can be shared?

On Thu, Dec 21, 2017 at 2:17 AM, Nicolas Rosewick notifications@github.com wrote:

Hi,

I aligned some nanopore cDNA data using minimap2. It's human samples infected with a retrovirus. I aligned against a custom genome where the viral genome is used as an additional chromosome. The viral genome is quiet small (~10kb). After alignment (and sorting and indexing with samtools) I tried to visualize the bam file in IGV. When I open the bam file on a human chromosome, it opens without any issue. However when I try to open it on the viral genome it gives me this error :

FYI : I use IGV 2.4.5

ERROR [2017-12-21 11:11:05,234] [AlignmentTileLoader.java:299] Error loading alignment data java.lang.ArrayIndexOutOfBoundsException: 8517 at htsjdk.samtools.AbstractBAMFileIndex.query(AbstractBAMFileIndex.java:314) at htsjdk.samtools.DiskBasedBAMFileIndex.getSpanOverlapping(DiskBasedBAMFileIndex.java:61) at htsjdk.samtools.BAMFileReader.getFileSpan(BAMFileReader.java:898) at htsjdk.samtools.BAMFileReader.createIndexIterator(BAMFileReader.java:915) at htsjdk.samtools.BAMFileReader.query(BAMFileReader.java:575) at htsjdk.samtools.SamReader$PrimitiveSamReaderToSamReaderAdapter.query(SamReader.java:528) at htsjdk.samtools.SamReader$PrimitiveSamReaderToSamReaderAdapter.query(SamReader.java:533) at org.broad.igv.sam.reader.BAMReader.query(BAMReader.java:169) at org.broad.igv.sam.AlignmentTileLoader.loadTile(AlignmentTileLoader.java:161) at org.broad.igv.sam.AlignmentDataManager.loadInterval(AlignmentDataManager.java:351) at org.broad.igv.sam.AlignmentDataManager.load(AlignmentDataManager.java:295) at org.broad.igv.sam.CoverageTrack.load(CoverageTrack.java:184) at org.broad.igv.ui.panel.DataPanel.lambda$load$3(DataPanel.java:225) at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1626) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) INFO [2017-12-21 11:11:05,234] [MessageUtils.java:74] Error encountered querying alignments: java.lang.ArrayIndexOutOfBoundsException: 8517

Here's the pref.properties :

IGV.track.show.attribute.views=true LAST_SNAPSHOT_DIRECTORY=/home/nicolas/Téléchargements SAM.SHOW_DUPLICATES=true SAM.MAX_VISIBLE_RANGE=1000 LAST_GENOME_IMPORT_DIRECTORY=/home/nicolas/Téléchargements SAM.SHOW_SOFT_CLIPPED=true IGV.Bounds=-1,0,1922,1053 GENOME_LIST=hg19;OAR3.1 DEFINE_GENOME_INPUT_DIRECTORY_KEY=/home/nicolas/Documents/genomes LAST_TRACK_DIRECTORY=/home/nicolas/Documents/minion SAM.SORT_OPTION=FIRST_OF_PAIR_STRAND SHOW_SEQUENCE_TRANSLATION=false SAM.COLOR_BY=FIRST_OF_PAIR_STRAND SAM.MAX_LEVELS=5000 DEFAULT_GENOME_KEY=OAR3.1

RNA

THIRD_GEN

Thanks

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/igvteam/igv/issues/499, or mute the thread https://github.com/notifications/unsubscribe-auth/AA49HMK_dLl9rFe4HfKaxJpFZ5kB3t5kks5tCjBDgaJpZM4RJnki .

winni2k commented 6 years ago

I have created a minimal example at #506

jrobinso commented 6 years ago

@winni2k There is some overlap in the stack trace but I don't think your example reproduces the problem reported here.

zyxue commented 5 years ago

Is this problem fixed? I saw similar error message with igv-2.4.13

ERROR [2018-08-17T10:51:42,326]  [AlignmentTileLoader.java:299] [pool-2-thread-2]  Error loading alignment data
java.lang.ArrayIndexOutOfBoundsException: 8865
        at htsjdk.samtools.AbstractBAMFileIndex.query(AbstractBAMFileIndex.java:314) ~[igv.jar:?]
        at htsjdk.samtools.DiskBasedBAMFileIndex.getSpanOverlapping(DiskBasedBAMFileIndex.java:61) ~[igv.jar:?]
        at htsjdk.samtools.BAMFileReader.getFileSpan(BAMFileReader.java:898) ~[igv.jar:?]
        at htsjdk.samtools.BAMFileReader.createIndexIterator(BAMFileReader.java:915) ~[igv.jar:?]
        at htsjdk.samtools.BAMFileReader.query(BAMFileReader.java:575) ~[igv.jar:?]
        at htsjdk.samtools.SamReader$PrimitiveSamReaderToSamReaderAdapter.query(SamReader.java:528) ~[igv.jar:?]
        at htsjdk.samtools.SamReader$PrimitiveSamReaderToSamReaderAdapter.query(SamReader.java:533) ~[igv.jar:?]
        at org.broad.igv.sam.reader.BAMReader.query(BAMReader.java:187) ~[igv.jar:?]
        at org.broad.igv.sam.AlignmentTileLoader.loadTile(AlignmentTileLoader.java:161) ~[igv.jar:?]
        at org.broad.igv.sam.AlignmentDataManager.loadInterval(AlignmentDataManager.java:390) ~[igv.jar:?]
        at org.broad.igv.sam.AlignmentDataManager.load(AlignmentDataManager.java:335) ~[igv.jar:?]
        at org.broad.igv.sam.CoverageTrack.load(CoverageTrack.java:184) ~[igv.jar:?]
        at org.broad.igv.ui.panel.DataPanel.lambda$load$3(DataPanel.java:225) ~[igv.jar:?]
        at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1626) [?:1.8.0_151]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_151]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_151]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_151]
INFO [2018-08-17T10:51:42,334]  [MessageUtils.java:74] [pool-2-thread-2]  <html>Error encountered querying alignments: java.lang.ArrayIndexOutOfBoundsException: 8865
INFO [2018-08-17T10:51:42,475]  [HttpUtils.java:930] [AWT-EventQueue-0]  Range-byte request succeeded
jrobinso commented 5 years ago

@winni2k Yes as you can see from previous comments this issue was addressed. Could you open a new issue, and provide steps to reproduce your error if possible?

zyxue commented 5 years ago

I am not able to construct a simple reproducible case at the moment, maybe in the future. The error message isn't very informative.

jrobinso commented 5 years ago

The error message is coming from the htsjdk ( https://github.com/samtools/htsjdk), that is really the right forum to post this in. However they won't take action without a reproducible test case.

I suspect this type of error could occur if the bam index is out-of-sync with the bam file itself.

On Fri, Aug 17, 2018 at 4:37 PM, Zhuyi Xue notifications@github.com wrote:

I am not able to construct a simple reproducible case at the moment, maybe in the future. The error message isn't very informative.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/igvteam/igv/issues/499#issuecomment-414012966, or mute the thread https://github.com/notifications/unsubscribe-auth/AA49HCCH0pSkJOR-qJTarxPwQR7ioVnTks5uR1OlgaJpZM4RJnki .