TheJacksonLaboratory / LIRICAL

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

java.lang.NullPointerException in Bootstrapping LIRICAL #654

Open dingxm opened 5 months ago

dingxm commented 5 months ago

I am running the test example and get the error below

base) java -jar /data/tools/lirical-cli-2.0.0/lirical-cli-2.0.0.jar phenopacket -e19 /data/tools/exomiser-cli-14.0.0/data/2402_hg19/2402_hg19_variants.mv.db --assembly hg19 --phenopacket LDS2.v2.json --vcf LDS2.vcf.gz --prefix LDS2 SLF4J(I): Connected with provider of type [ch.qos.logback.classic.spi.LogbackServiceProvider]


| | | | | _/ | / \ | | | | | || |) || | | / \ | | | | | || _ < | | | / | |_ |___||| ___// ____|

LIkelihood Ratio Interpretation of Clinical AbnormaLities :: v2.0.0 ::

10:02:07.481 [main] INFO o.m.l.c.c.LiricalConfigurationCommand - Running LIRICAL from /data/tools/lirical-cli-2.0.0/lirical-cli-2.0.0.jar 10:02:07.486 [main] INFO o.m.l.c.c.LiricalConfigurationCommand - Using data folder at /data/tools/lirical-cli-2.0.0/data 10:02:07.487 [main] INFO o.m.l.c.c.AbstractPrioritizeCommand - Parsing the analysis inputs 10:02:07.728 [main] INFO o.m.l.c.c.AbstractPrioritizeCommand - Bootstrapping LIRICAL java.lang.NullPointerException at java.base/java.util.Objects.requireNonNull(Objects.java:209) at org.monarchinitiative.phenol.annotations.io.hpo.HpoAnnotationLine.(HpoAnnotationLine.java:149) at org.monarchinitiative.phenol.annotations.io.hpo.HpoAnnotationLine.of(HpoAnnotationLine.java:66) at org.monarchinitiative.phenol.annotations.io.hpo.HpoAnnotationLine.of(HpoAnnotationLine.java:110) at org.monarchinitiative.phenol.annotations.io.hpo.HpoaDiseaseDataLoaderDefault.loadDiseaseData(HpoaDiseaseDataLoaderDefault.java:76) at org.monarchinitiative.phenol.annotations.io.hpo.HpoDiseaseLoaderDefault.load(HpoDiseaseLoaderDefault.java:56) at org.monarchinitiative.phenol.annotations.io.hpo.HpoDiseaseLoader.load(HpoDiseaseLoader.java:41) at org.monarchinitiative.lirical.configuration.LoadUtils.loadHpoDiseases(LoadUtils.java:40) at org.monarchinitiative.lirical.configuration.LiricalBuilder.configurePhenotypeService(LiricalBuilder.java:158) at org.monarchinitiative.lirical.configuration.LiricalBuilder.build(LiricalBuilder.java:106) at org.monarchinitiative.lirical.cli.cmd.LiricalConfigurationCommand.bootstrapLirical(LiricalConfigurationCommand.java:208) at org.monarchinitiative.lirical.cli.cmd.AbstractPrioritizeCommand.execute(AbstractPrioritizeCommand.java:57) at org.monarchinitiative.lirical.cli.cmd.PhenopacketCommand.execute(PhenopacketCommand.java:15) at org.monarchinitiative.lirical.cli.cmd.BaseCommand.call(BaseCommand.java:31) at org.monarchinitiative.lirical.cli.cmd.OutputCommand.call(OutputCommand.java:13) at org.monarchinitiative.lirical.cli.cmd.BaseCommand.call(BaseCommand.java:18) at picocli.CommandLine.executeUserObject(CommandLine.java:2041) at picocli.CommandLine.access$1500(CommandLine.java:148) at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2461) at picocli.CommandLine$RunLast.handle(CommandLine.java:2453) at picocli.CommandLine$RunLast.handle(CommandLine.java:2415) at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2273) at picocli.CommandLine$RunLast.execute(CommandLine.java:2417) at picocli.CommandLine.execute(CommandLine.java:2170) at org.monarchinitiative.lirical.cli.Main.main(Main.java:46)

ielis commented 5 months ago

Hi @dingxm the issue is most likely caused by a bug in the HPO annotation file. We are working on fixing the bug and it will be updated in the next HPO data release.

In the meantime, if you would like to run LIRICAL, you will have to manually download few files and move them into the LIRICAL data directory. Please go to HPO release v2024-02-08 and look up hp.json and phenotype.hpoa in the release asset section (lower part of the page). You must download these files and move them into your LIRICAL data directory. Based on the logging output above, the data directory is at /data/tools/lirical-cli-2.0.0/data and it should already contain hp.json and phenotype.hpoa. You must overwrite these with the downloaded files.

Then you should be all set for running LIRICAL phenopacket command.

Please give this a try and let me know if the problems persist.

dingxm commented 5 months ago

Hi ielis, Thanks for your prompt response. I got a new error, 11:42:25.851 [main] INFO o.m.l.c.c.LiricalConfigurationCommand - Running LIRICAL from /data/tools/lirical-cli-2.0.0/lirical-cli-2.0.0.jar 11:42:25.855 [main] INFO o.m.l.c.c.LiricalConfigurationCommand - Using data folder at /data/tools/lirical-cli-2.0.0/data 11:42:25.857 [main] INFO o.m.l.c.c.AbstractPrioritizeCommand - Parsing the analysis inputs 11:42:25.858 [main] INFO o.m.l.c.c.AbstractPrioritizeCommand - Bootstrapping LIRICAL 11:42:30.590 [main] INFO o.m.l.c.c.AbstractPrioritizeCommand - Configured LIRICAL v2.0.0 11:42:30.595 [main] INFO o.m.l.c.c.AbstractPrioritizeCommand - Input sanitation found no issues 11:42:30.642 [main] INFO o.m.l.i.s.JannovarFunctionalVariantAnnotatorService - Loading transcript database from /data/tools/lirical-cli-2.0.0/data/hg19_refseq.ser java.lang.IllegalStateException: The read format 3 is larger than the supported format 1 [1.4.200/5] at org.h2.mvstore.DataUtils.newIllegalStateException(DataUtils.java:950) at org.h2.mvstore.MVStore.readStoreHeader(MVStore.java:750) at org.h2.mvstore.MVStore.(MVStore.java:396) at org.h2.mvstore.MVStore$Builder.open(MVStore.java:3579) at org.monarchinitiative.lirical.exomiser_db_adapter.ExomiserMvStoreMetadataService.of(ExomiserMvStoreMetadataService.java:48) at org.monarchinitiative.lirical.exomiser_db_adapter.ExomiserMvStoreMetadataServiceFactory.getVariantMetadataService(ExomiserMvStoreMetadataServiceFactory.java:28) at org.monarchinitiative.lirical.io.vcf.VcfVariantParserFactory.forPath(VcfVariantParserFactory.java:42) at org.monarchinitiative.lirical.cli.cmd.LiricalConfigurationCommand.readVariantsFromVcfFile(LiricalConfigurationCommand.java:276) at org.monarchinitiative.lirical.cli.cmd.AbstractPrioritizeCommand.prepareAnalysisData(AbstractPrioritizeCommand.java:158) at org.monarchinitiative.lirical.cli.cmd.AbstractPrioritizeCommand.execute(AbstractPrioritizeCommand.java:97) at org.monarchinitiative.lirical.cli.cmd.PrioritizeCommand.execute(PrioritizeCommand.java:10) at org.monarchinitiative.lirical.cli.cmd.BaseCommand.call(BaseCommand.java:31) at org.monarchinitiative.lirical.cli.cmd.OutputCommand.call(OutputCommand.java:13) at org.monarchinitiative.lirical.cli.cmd.BaseCommand.call(BaseCommand.java:18) at picocli.CommandLine.executeUserObject(CommandLine.java:2041) at picocli.CommandLine.access$1500(CommandLine.java:148) at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2461) at picocli.CommandLine$RunLast.handle(CommandLine.java:2453) at picocli.CommandLine$RunLast.handle(CommandLine.java:2415) at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2273) at picocli.CommandLine$RunLast.execute(CommandLine.java:2417) at picocli.CommandLine.execute(CommandLine.java:2170) at org.monarchinitiative.lirical.cli.Main.main(Main.java:46)

ielis commented 5 months ago

This bug is due to a recent backward incompatible upgrade in Exomiser variant database. You downloaded the 2402 exomiser database, right?

Unfortunately, LIRICAL v2.0.1 and older do not yet support the latest Exomiser database. Please try to run with files from 2309 available here.

We will be adding support to the new Exomiser variant database format, to allow using 2402 and newer.