TheJacksonLaboratory / LIRICAL

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

Current YAML configuration doesn't work #599

Closed Phillip-a-richmond closed 1 year ago

Phillip-a-richmond commented 1 year ago

Hello,

The YAML configuration on the latest version fails continuously...including with the example YAML files provided:

org.monarchinitiative.lirical.core.analysis.LiricalParseException: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "analysis" (class org.monarchinitiative.lirical.io.analysis.YamlConfig), not marked as ignorable (6 known properties: "hpoIds", "negatedHpoIds", "sampleId", "sex", "vcf", "age"])
 at [Source: (sun.nio.ch.ChannelInputStream); line: 6, column: 9] (through reference chain: org.monarchinitiative.lirical.io.analysis.YamlConfig["analysis"])
    at org.monarchinitiative.lirical.io.analysis.YamlAnalysisDataParser.parse(YamlAnalysisDataParser.java:36)
    at org.monarchinitiative.lirical.cli.cmd.YamlCommand.prepareAnalysisData(YamlCommand.java:51)
    at org.monarchinitiative.lirical.cli.cmd.AnalysisDataParserAwareCommand.prepareAnalysisData(AnalysisDataParserAwareCommand.java:15)
    at org.monarchinitiative.lirical.cli.cmd.AbstractPrioritizeCommand.call(AbstractPrioritizeCommand.java:81)
    at org.monarchinitiative.lirical.cli.cmd.YamlCommand.call(YamlCommand.java:22)
    at org.monarchinitiative.lirical.cli.cmd.AbstractPrioritizeCommand.call(AbstractPrioritizeCommand.java:28)
    at picocli.CommandLine.executeUserObject(CommandLine.java:1953)
    at picocli.CommandLine.access$1300(CommandLine.java:145)
    at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358)
    at picocli.CommandLine$RunLast.handle(CommandLine.java:2352)
    at picocli.CommandLine$RunLast.handle(CommandLine.java:2314)
    at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
    at picocli.CommandLine$RunLast.execute(CommandLine.java:2316)
    at picocli.CommandLine.execute(CommandLine.java:2078)
    at org.monarchinitiative.lirical.cli.Main.main(Main.java:43)
Caused by: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "analysis" (class org.monarchinitiative.lirical.io.analysis.YamlConfig), not marked as ignorable (6 known properties: "hpoIds", "negatedHpoIds", "sampleId", "sex", "vcf", "age"])
 at [Source: (sun.nio.ch.ChannelInputStream); line: 6, column: 9] (through reference chain: org.monarchinitiative.lirical.io.analysis.YamlConfig["analysis"])
    at com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:61)
    at com.fasterxml.jackson.databind.DeserializationContext.handleUnknownProperty(DeserializationContext.java:1127)
    at com.fasterxml.jackson.databind.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:2023)
    at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperty(BeanDeserializerBase.java:1700)
    at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownVanilla(BeanDeserializerBase.java:1678)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:319)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:176)
    at com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:323)
    at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4674)
    at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3666)
    at org.monarchinitiative.lirical.io.analysis.YamlParser.parse(YamlParser.java:25)
    at org.monarchinitiative.lirical.io.analysis.YamlAnalysisDataParser.parse(YamlAnalysisDataParser.java:34)
    ... 14 more

My YAML:

## LIRICAL Analysis Template.
# These are all the possible options for running LIRICAL. Use this as a template for
# your own set-up.
---
analysis:
# hg19 or hg38 is supported
    genomeAssembly: hg38
    vcf: /mnt/scratch/Precision/Hub/PROCESS/RNA_Samples/Lirical/grch38-STK11.vcf
    datadir: /mnt/common/Precision/LIRICAL/data/
    exomiser: /mnt/common/Precision/Exomiser/data/2209_hg38/
hpoIds: ['HP:0032451','HP:0032454','HP:0001034','HP:0000256','HP:0001480','HP:0000483','HP:0000540','HP:0000646']
prefix: stk11

The only YAML I could get to run, but wouldn't recognize the VCF (missing parser?), and wouldn't let me set things like prefix:

## LIRICAL Analysis Template.
# These are all the possible options for running LIRICAL. Use this as a template for
# your own set-up.
---
vcf: /mnt/scratch/Precision/Hub/PROCESS/RNA_Samples/Lirical/grch38-CLTC.vcf
hpoIds: ['HP:0001263','HP:0001328','HP:0002194','HP: 0010862','HP:0001251','HP:0100710','HP:0001999','HP:0000411','HP:0000218']
sampleId: proband
sex: FEMALE

Something is off with the latest version with regards to recognizing the YAML formatting.

Which version of LIRICAL works with the examples provided in the ReadTheDocs for the YAML format?

Thanks, Phil

Phillip-a-richmond commented 1 year ago

I noticed that this is due to a discrepancy between the docs and the version 2. Reworking with the latest stable release has resolved some of the issues, but if there are updated docs for the v2 pre-release then I'd be happy to test them.

Thanks, Phil

ielis commented 1 year ago

Hi @Phillip-a-richmond it's taken some time to get the docs & code back in sync but finally it's here. We switched from readthedocs to github.io and the docs for the latest release candidate is available here.

We changed (sorry for that) the YAML syntax and an example is here. The updated section for running YAML analyses is located here.

Again, sorry for a delay and please let me know if you find any bugs/inconsistencies. Thanks, Daniel

iimpulse commented 1 year ago

607