Illumina / Nirvana

The nimble & robust variant annotator
https://illumina.github.io/NirvanaDocumentation/
GNU General Public License v3.0
170 stars 44 forks source link

Jasix Error #73

Closed malnirav closed 2 years ago

malnirav commented 2 years ago

Given this annotated json: https://github.com/malnirav/data_share/blob/main/example.annot.json.gz

What causing the hiccup in Jasix for the query range below?

$ dotnet Nirvana/v3.17/Jasix.dll --version
Jasix 3.17.0-0-gfa9dc737 

$ dotnet Nirvana/v3.17/Jasix.dll --in example.annot.json.gz -q 11:1017710-18536215
{"positions":[

ERROR: Error reading JObject from JsonReader. Path '', line 0, position 0.

Stack trace:
   at Newtonsoft.Json.Linq.JObject.Load(JsonReader reader, JsonLoadSettings settings)
   at Newtonsoft.Json.Linq.JObject.Parse(String json, JsonLoadSettings settings)
   at Newtonsoft.Json.Linq.JObject.Parse(String json)
   at Jasix.DataStructures.Utilities.PrintJsonEntry(String entry, Boolean needComma, StreamWriter writer) in /home/mstromberg/NirvanaIllumina/Jasix/DataStructures/Utilities.cs:line 53
   at Jasix.QueryProcessor.PrintLargeVariantsExtendingIntoQuery(ValueTuple`3 query) in /home/mstromberg/NirvanaIllumina/Jasix/QueryProcessor.cs:line 123
   at Jasix.QueryProcessor.ProcessQuery(IEnumerable`1 queryStrings, Boolean printHeader) in /home/mstromberg/NirvanaIllumina/Jasix/QueryProcessor.cs:line 95
   at Jasix.JasixMain.ProgramExecution() in /home/mstromberg/NirvanaIllumina/Jasix/JasixMain.cs:line 129
   at CommandLine.Builders.ConsoleAppErrors.Execute(Func`1 executeMethod) in /home/mstromberg/NirvanaIllumina/CommandLine/Builders/ConsoleAppBuilder.cs:line 162
rajatshuvro commented 2 years ago

Can you also provide the index file *.jsi?

malnirav commented 2 years ago

Yep: https://github.com/malnirav/data_share/blob/main/example.annot.json.gz.jsi

rajatshuvro commented 2 years ago

I have created a bug for this: https://nirvana-annotator.atlassian.net/browse/NIR-976.

It seems that Jasix is crashing if the query range is outside of what is present in the file. From your query it seems like you are trying to get all entries for chr11. A better way to do that is:

jasix --in outputs/example.annot.json.gz -q 11

malnirav commented 2 years ago

Ahh gotcha. Thanks

malnirav commented 2 years ago

Did a quick check and the position it hangs up on is chr11:1017710

$ gzcat example.annot.json.gz | grep '1017710'
{"chromosome":"chr11","position":1017710,"refAllele":"G","altAlleles":["T"],"quality":292.16,"filters":["PASS"],"cytogeneticBand":"11p15.5","variants":[{"vid":"11-1017710-G-T","chromosome":"chr11","begin":1017710,"end":1017710,"refAllele":"G","altAllele":"T","variantType":"SNV","hgvsg":"NC_000011.9:g.1017710G>T","phylopScore":-4.1,"cosmic":[{"id":"COSM5765441","refAllele":"G","altAllele":"T","gene":"MUC6","sampleCount":1,"cancerTypesAndCounts":[{"cancerType":"carcinoma","count":1}],"cancerSitesAndCounts":[{"cancerSite":"large intestine","count":1}],"isAlleleSpecific":true},{"id":"COSM5765442","refAllele":"G","altAllele":"T","gene":"MUC6_ENST00000421673","sampleCount":1,"cancerTypesAndCounts":[{"cancerType":"carcinoma","count":1}],"cancerSitesAndCounts":[{"cancerSite":"large intestine","count":1}],"isAlleleSpecific":true}],"dbsnp":["rs113964902"],"gnomad":{"coverage":526,"failedFilter":true,"allAf":0.000103,"allAn":242510,"allAc":25,"allHc":0,"afrAf":0.001424,"afrAn":13346,"afrAc":19,"afrHc":0,"amrAf":0,"amrAn":33114,"amrAc":0,"amrHc":0,"easAf":0,"easAn":17224,"easAc":0,"easHc":0,"finAf":0,"finAn":20720,"finAc":0,"finHc":0,"nfeAf":0.000053,"nfeAn":112810,"nfeAc":6,"nfeHc":0,"asjAf":0,"asjAn":9898,"asjAc":0,"asjHc":0,"sasAf":0,"sasAn":29462,"sasAc":0,"sasHc":0,"othAf":0,"othAn":5936,"othAc":0,"othHc":0,"maleAf":0.00003,"maleAn":132838,"maleAc":4,"maleHc":0,"femaleAf":0.000191,"femaleAn":109672,"femaleAc":21,"femaleHc":0,"controlsAllAf":0.000029,"controlsAllAn":103708,"controlsAllAc":3},"primateAI":[{"hgnc":"MUC6","scorePercentile":0.23}],"revel":{"score":0.021},"topmed":{"allAf":0.368868,"allAn":125568,"allAc":46318,"allHc":0,"failedFilter":true},"transcripts":[{"transcript":"ENST00000421673.2","source":"Ensembl","bioType":"protein_coding","codons":"caC/caA","aminoAcids":"H/Q","cdnaPos":"5142","cdsPos":"5091","exons":"31/33","proteinPos":"1697","geneId":"ENSG00000184956","hgnc":"MUC6","consequence":["missense_variant"],"hgvsc":"ENST00000421673.2:c.5091C>A","hgvsp":"ENSP00000406861.2:p.(His1697Gln)","isCanonical":true,"polyPhenScore":0,"polyPhenPrediction":"benign","proteinId":"ENSP00000406861.2","siftScore":0.7,"siftPrediction":"tolerated - low confidence"},{"transcript":"NM_005961.2","source":"RefSeq","bioType":"protein_coding","codons":"caC/caA","aminoAcids":"H/Q","cdnaPos":"5142","cdsPos":"5091","exons":"31/33","proteinPos":"1697","geneId":"4588","hgnc":"MUC6","consequence":["missense_variant"],"hgvsc":"NM_005961.2:c.5091C>A","hgvsp":"NP_005952.2:p.(His1697Gln)","isCanonical":true,"polyPhenScore":0,"polyPhenPrediction":"benign","proteinId":"NP_005952.2","siftScore":0.7,"siftPrediction":"tolerated - low confidence"},{"transcript":"ENST00000532016.1","source":"Ensembl","bioType":"protein_coding","geneId":"ENSG00000184956","hgnc":"MUC6","consequence":["upstream_gene_variant"],"proteinId":"ENSP00000433246.1"},{"transcript":"ENST00000527242.1","source":"Ensembl","bioType":"protein_coding","geneId":"ENSG00000184956","hgnc":"MUC6","consequence":["downstream_gene_variant"],"proteinId":"ENSP00000436903.1"}]}]},

$ dotnet Nirvana/v3.17/Jasix.dll --in example.annot.json.gz -q 11:1017710
{"positions":[

ERROR: Error reading JObject from JsonReader. Path '', line 0, position 0.

Stack trace:
   at Newtonsoft.Json.Linq.JObject.Load(JsonReader reader, JsonLoadSettings settings)
   at Newtonsoft.Json.Linq.JObject.Parse(String json, JsonLoadSettings settings)
   at Newtonsoft.Json.Linq.JObject.Parse(String json)
   at Jasix.DataStructures.Utilities.PrintJsonEntry(String entry, Boolean needComma, StreamWriter writer) in /home/mstromberg/NirvanaIllumina/Jasix/DataStructures/Utilities.cs:line 53
   at Jasix.QueryProcessor.PrintLargeVariantsExtendingIntoQuery(ValueTuple`3 query) in /home/mstromberg/NirvanaIllumina/Jasix/QueryProcessor.cs:line 123
   at Jasix.QueryProcessor.ProcessQuery(IEnumerable`1 queryStrings, Boolean printHeader) in /home/mstromberg/NirvanaIllumina/Jasix/QueryProcessor.cs:line 95
   at Jasix.JasixMain.ProgramExecution() in /home/mstromberg/NirvanaIllumina/Jasix/JasixMain.cs:line 129
   at CommandLine.Builders.ConsoleAppErrors.Execute(Func`1 executeMethod) in /home/mstromberg/NirvanaIllumina/CommandLine/Builders/ConsoleAppBuilder.cs:line 162
rajatshuvro commented 2 years ago

Issue has been fixed in the 3.18.1 release.

malnirav commented 2 years ago

@rajatshuvro Thank you for fixing the problem reported above in 3.18.1

Seeing another error with Jasix on a different test sample:

$ dotnet Nirvana/v3.17/Jasix.dll --in test.annot.json.gz --query "chr1:231293288-232485615"

{"positions":[

ERROR: Found an invalid header when reading the GZip block ((stream))

Stack trace:
   at Compression.FileHandling.BlockGZipStream.ReadBlock() in /home/mstromberg/NirvanaIllumina/Compression/FileHandling/BlockGZipStream.cs:line 153
   at Compression.FileHandling.BlockGZipStream.SeekVirtualFilePointer(UInt64 virtualPosition) in /home/mstromberg/NirvanaIllumina/Compression/FileHandling/BlockGZipStream.cs:line 252
   at Compression.FileHandling.BlockGZipStream.set_Position(Int64 value) in /home/mstromberg/NirvanaIllumina/Compression/FileHandling/BlockGZipStream.cs:line 56
   at Jasix.QueryProcessor.RepositionReader(Int64 location) in /home/mstromberg/NirvanaIllumina/Jasix/QueryProcessor.cs:line 154
   at Jasix.QueryProcessor.ReadOverlappingJsonLines(ValueTuple`3 query)+MoveNext() in /home/mstromberg/NirvanaIllumina/Jasix/QueryProcessor.cs:line 191
   at Jasix.QueryProcessor.PrintAllVariantsFromQueryBegin(ValueTuple`3 query, Boolean needComma) in /home/mstromberg/NirvanaIllumina/Jasix/QueryProcessor.cs:line 108
   at Jasix.QueryProcessor.ProcessQuery(IEnumerable`1 queryStrings, Boolean printHeader) in /home/mstromberg/NirvanaIllumina/Jasix/QueryProcessor.cs:line 96
   at Jasix.JasixMain.ProgramExecution() in /home/mstromberg/NirvanaIllumina/Jasix/JasixMain.cs:line 129
   at CommandLine.Builders.ConsoleAppErrors.Execute(Func`1 executeMethod) in /home/mstromberg/NirvanaIllumina/CommandLine/Builders/ConsoleAppBuilder.cs:line 162

Files are available here to reproduce the error: