TheJacksonLaboratory / LIRICAL

LIkelihood Ratio Interpretation of Clinical AbnormaLities
https://thejacksonlaboratory.github.io/LIRICAL/stable
Other
22 stars 11 forks source link

Crash on Mac #446

Closed pnrobinson closed 4 years ago

pnrobinson commented 4 years ago

On Mac, IntelliJ no longer recognizes the Jannovar imports (which were supposed to be coming transitively from Exomiser, but may not be with the upgrade to 12.1.0 @julesjacobsen thoughts?)

Exception in thread "main" org.monarchinitiative.lirical.exception.LiricalRuntimeException: Could not load Jannovar data from 
/Users/peterrobinson/Documents/data/exomiser/1902_hg19/1902_hg19_transcripts_refseq.ser (Could not deserialize data list: java.io.InvalidClassException: 
de.charite.compbio.jannovar.reference.TranscriptModel; local class incompatible: stream classdesc serialVersionUID = 4, local class serialVersionUID = 3)
at org.monarchinitiative.lirical.configuration.LiricalFactory.jannovarData(LiricalFactory.java:409)

The key is an issue with the class TranscriptModel:

local class incompatible: stream classdesc serialVersionUID = 4, local class serialVersionUID = 3
pnrobinson commented 4 years ago

The current Jannovar has for TranscriptModel

private static final long serialVersionUID = 4L;

I was using the very latest 1902 data version, strange--check this.

pnrobinson commented 4 years ago

THis works on linux

simulate-vcf
-e /.../data/exomiser/1811_hg19
--phenopacket Kumada-2004-AA06-case_1-Arima.json
--template-vcf
/..../project.NIST.hc.snps.indels.NIST7035.vcf
-x
test
-m
10
julesjacobsen commented 4 years ago

This is rather odd. The only change with exomiser 12.1.0 was to add in the ID from the VCF - there were no other changes at all. Damian hasn't mentioned any issues like this - are you generating your own .ser files?

pnrobinson commented 4 years ago

Things are working perfectly on my linux box, but I did need to add a Jannovar dependency explicitly to the LIRICAL pom file -- it seems Exomiser is no longer providing this transitively (correspondingly, the maven enforcer seems to be content). I will re-check the Mac version today, maybe there was something else going on too.

pnrobinson commented 4 years ago

Uncertain why, but with a number of other bug fixes, this seems to be working now.

pnrobinson commented 4 years ago

Still getting this now There is some version issue (TranscriptModel) local class incompatible: stream class desc serialVersionUID = 4, local class serialVersionUID = 3 @julesjacobsen Any idea what might be going on? This is the most recent version of LIRICAL and the 1902 Exomiser data. Apparently, it does not happen on ubuntu Command:

simulate-vcf
-e
/Users/peterrobinson/Documents/data/exomiser/1902_hg19
-p
/Users/peterrobinson/Desktop/PhenopacketsForSimulations/original/Bee-2015-BBS2-II_2.json
-v
/Users/peterrobinson/Documents/data/lirical/project.NIST.hc.snps.indels.NIST7035.vcf
-x
BBS2

Error/crash:

[ERROR] LiricalFactory - LiricalFactory.javaorg.monarchinitiative.lirical.configuration.LiricalFactory.jannovarData(LiricalFactory.java:435) - Could not deserialize Jannovar file with legacy deserializer...
Exception in thread "main" org.monarchinitiative.lirical.exception.LiricalRuntimeException: Could not load Jannovar data from /Users/peterrobinson/Documents/data/exomiser/1902_hg19/1902_hg19_transcripts_refseq.ser (Could not deserialize data list: java.io.InvalidClassException: de.charite.compbio.jannovar.reference.TranscriptModel; local class incompatible: stream classdesc serialVersionUID = 4, local class serialVersionUID = 3)
justaddcoffee commented 4 years ago

I can't reproduce this error. @pnrobinson could you send me that VCF: project.NIST.hc.snps.indels.NIST7035.vcf and phenopacket: Bee-2015-BBS2-II_2.json ? Also, have you tried this with the 1909_hg19 exomiser data?

This command runs for me using 1909_hg19 (although I do get an unrelated NullPointerException)

justaddcoffee commented 4 years ago

Thanks for the vcf/phenotpacker Peter. 

I've run this thusly, and things run to completion for me on my Mac using 1909_hg19. I will see if I can reproduce this issue using 1902_hg19.

/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/bin/java -Dfile.encoding=UTF-8 -jar /Users/jtr4v/IdeaProjects/LIRICAL/target/LIRICAL.jar simulate-vcf 
-e /Users/jtr4v/IdeaProjects/LIRICAL/data/1909_hg19/ 
-p /Users/jtr4v/IdeaProjects/LIRICAL/example_data/peter_vcf_sim/peter_vcf_sim.json 
-v /Users/jtr4v/IdeaProjects/LIRICAL/example_data/peter_vcf_sim/peter_vcf_sim.vcf -x BBS2
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/Users/jtr4v/IdeaProjects/LIRICAL/target/LIRICAL.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/Users/jtr4v/IdeaProjects/LIRICAL/target/lib/log4j-slf4j-impl-2.12.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
peter_vcf_sim.json  BARDET-BIEDL SYNDROME 2; BBS2   OMIM:615981 NCBIGene:583    1   1   0.999990
1: 1 (100.0%)
1: 1 (100.0%)  [by gene]
LIRICAL: Elapsed time was 1 min, 5 sec

Process finished with exit code 0
pnrobinson commented 4 years ago

updateing to 1909 seems to ave solved the issue.