Illumina / REViewer

A tool for visualizing alignments of reads in regions containing tandem repeats
GNU General Public License v3.0
73 stars 14 forks source link

Attempting to run REViewer on ExpansionHunter's example data gives assertion failure #46

Closed Jolleboll closed 2 years ago

Jolleboll commented 2 years ago

Heyo, I'm not very savvy with cpp so can't quite figure this one out on my own. Full error message:

REViewer-v0.2.7-linux_x86_64: app/GenotypePaths.cpp:119: std::map<std::pair<unsigned int, unsigned int>, std::vector<std::vector<unsigned int> > > getGenotypeNodesByNodeRange(int, const string&, const LocusSpecification&): Assertion `variantSpec.classification().type == VariantType::kRepeat' failed.
run_REViewer.scr: line 7:  7312 Aborted                 (core dumped) REViewer-v0.2.7-linux_x86_64 --reads repeats_realigned.sorted.bam --reference ../input/reference.fa --catalog ../input/variants.json --vcf repeats.vcf --locus SNV_AND_STR --output-prefix reviewer_out_

All the input files are identical to or derived from the example data bundled with the latest ExpansionHunter release. The only change is I sorted and indexed the bamlet with samtools.

Thanks in advance!

sclamons commented 2 years ago

Hi @Jolleboll!

This is (more or less) intended behavior. REViewer only supports fairly simple STRs, with one or two repeat tracts and no small variants. The ExpansionHunter example is intended to showcase more of ExpansionHunter's locus definition capability, so it includes the small variant (A|T). REViewer isn't expecting that kind of locus definition, so it breaks.

We aren't planning to add support for small variants, so this is unlikely to be fixed in the near future. I'll add notes somewhere in the repo documentation to let future users know how to avoid this.

If you need a canonical example bamlet to test REViewer on, you can find everything you need in this repo under reviewer/tests/inputs. The quickest way to use this is to run the script [run_manual_sanity_tests.sh](https://github.com/Illumina/REViewer/blob/master/reviewer/tests/run_manual_sanity_tests.sh) in the /reviewer/tests folder. This will run REViewer on all of the test samples and display the results in a browser window, along with frozen versions of those outputs taken from a development build. The images should be the same (or very similar).

Jolleboll commented 2 years ago

Thank you very much for that explanation, makes sense. Have a lovely week!