TheJacksonLaboratory / LIRICAL

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

I/O Error: Could not load phenopacket #484

Closed vidarmehr closed 4 years ago

vidarmehr commented 4 years ago

@pnrobinson Peter, I am trying to run LIRICAL with only HPO data using the command:

$ java -jar LIRICAL.jar phenopacket -p /path/to/example.json

The example.json is from the phenopacket with Pfieffer syndrome, which I copied from: https://lirical.readthedocs.io/en/latest/phenopacket-hpo.html

I get the following error message: SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/Users/ravanv/Documents/IntelliJ_projects/LIRICAL/target/LIRICAL.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/Users/ravanv/Documents/IntelliJ_projects/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] Exception in thread "main" org.monarchinitiative.lirical.exception.LiricalRuntimeException: I/O Error: Could not load phenopacket (/Users/ravanv/Documents/IntelliJ_projects/LIRICAL/data/example.json): Cannot find field: phenotypicFeatures in message org.phenopackets.schema.v1.core.Individual at org.monarchinitiative.lirical.io.PhenopacketImporter.fromJson(PhenopacketImporter.java:65) at org.monarchinitiative.lirical.cmd.PhenopacketCommand.run(PhenopacketCommand.java:185) at org.monarchinitiative.lirical.Lirical.main(Lirical.java:149)

Could you please help me with this issue. Thanks.

justaddcoffee commented 4 years ago

Looks like that phenopacket from the docs is malformed. It should be:

{
  "subject": {
    "id": "example-1"
  },
  "phenotypicFeatures": [
    {
      "type": {
        "id": "HP:0000244",
        "label": "Turribrachycephaly"
      },
      "classOfOnset": {
        "id": "HP:0003577",
        "label": "Congenital onset"
      }
    },
    {
      "type": {
        "id": "HP:0001363",
        "label": "Craniosynostosis"
      },
      "classOfOnset": {
        "id": "HP:0003577",
        "label": "Congenital onset"
      }
    },
    {
      "type": {
        "id": "HP:0000453",
        "label": "Choanal atresia"
      },
      "classOfOnset": {
        "id": "HP:0003577",
        "label": "Congenital onset"
      }
    },
    {
      "type": {
        "id": "HP:0000327",
        "label": "Hypoplasia of the maxilla"
      },
      "classOfOnset": {
        "id": "HP:0003577",
        "label": "Congenital onset"
      }
    },
    {
      "type": {
        "id": "HP:0000238",
        "label": "Hydrocephalus"
      },
      "classOfOnset": {
        "id": "HP:0003577",
        "label": "Congenital onset"
      }
    }
  ],
  "metaData": {
    "createdBy": "Peter R.",
    "resources": [{
      "id": "hp",
      "name": "human phenotype ontology",
      "namespacePrefix": "HP",
      "url": "http://purl.obolibrary.org/obo/hp.owl",
      "version": "2018-03-08",
      "iriPrefix": "http://purl.obolibrary.org/obo/HP_"
    }]
  }
}

Another error I think: the paragraph before the phenopacket in the docs describes how the phenopacket points to a VCF file, but this section is describing how to run LIRICAL with only HPO terms (no VCF files). This phrase in whom exome sequencing has been performed, whereby the corresponding VCF file is available at /path/to/data/Pfeiffer.vcf should be removed.

justaddcoffee commented 4 years ago

The phenopacket example on this page is also malformed in the same way (phenotypicFeatures shouldn't be a child of subject):

https://lirical.readthedocs.io/en/latest/phenopacket-vcf.html

vidarmehr commented 4 years ago

Looks like that phenopacket from the docs is malformed. It should be:

{
  "subject": {
    "id": "example-1"
  },
  "phenotypicFeatures": [
    {
      "type": {
        "id": "HP:0000244",
        "label": "Turribrachycephaly"
      },
      "classOfOnset": {
        "id": "HP:0003577",
        "label": "Congenital onset"
      }
    },
    {
      "type": {
        "id": "HP:0001363",
        "label": "Craniosynostosis"
      },
      "classOfOnset": {
        "id": "HP:0003577",
        "label": "Congenital onset"
      }
    },
    {
      "type": {
        "id": "HP:0000453",
        "label": "Choanal atresia"
      },
      "classOfOnset": {
        "id": "HP:0003577",
        "label": "Congenital onset"
      }
    },
    {
      "type": {
        "id": "HP:0000327",
        "label": "Hypoplasia of the maxilla"
      },
      "classOfOnset": {
        "id": "HP:0003577",
        "label": "Congenital onset"
      }
    },
    {
      "type": {
        "id": "HP:0000238",
        "label": "Hydrocephalus"
      },
      "classOfOnset": {
        "id": "HP:0003577",
        "label": "Congenital onset"
      }
    }
  ],
  "metaData": {
    "createdBy": "Peter R.",
    "resources": [{
      "id": "hp",
      "name": "human phenotype ontology",
      "namespacePrefix": "HP",
      "url": "http://purl.obolibrary.org/obo/hp.owl",
      "version": "2018-03-08",
      "iriPrefix": "http://purl.obolibrary.org/obo/HP_"
    }]
  }
}

Thank you very much, Justin! It works now and I got the output html file.

Another error I think: the paragraph before the phenopacket in the docs describes how the phenopacket points to a VCF file, but this section is describing how to run LIRICAL with only HPO terms (no VCF files). This phrase in whom exome sequencing has been performed, whereby the corresponding VCF file is available at /path/to/data/Pfeiffer.vcf should be removed.

I agree. Thanks.

kingmanzhang commented 4 years ago

I am still seeing the malformed phenopacket on readdocs. Is it corrected?

On Tue, Nov 19, 2019 at 12:56 PM Justin Reese notifications@github.com wrote:

Closed #484 https://github.com/TheJacksonLaboratory/LIRICAL/issues/484.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/TheJacksonLaboratory/LIRICAL/issues/484?email_source=notifications&email_token=AFL4YCZ4WRWQPFBMBIBGJ33QUQSFHA5CNFSM4JOV2DPKYY3PNVWWK3TUL52HS4DFWZEXG43VMVCXMZLOORHG65DJMZUWGYLUNFXW5KTDN5WW2ZLOORPWSZGOU6RBDGI#event-2812416409, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFL4YC35ZAQH2HZ5SYIIDJ3QUQSFHANCNFSM4JOV2DPA .

--

justaddcoffee commented 4 years ago

I am still seeing the malformed phenopacket on readdocs. Is it corrected?

Thanks Aaron, can you point me to the readdoc page where you are seeing the bad phenopacket?

kingmanzhang commented 4 years ago

https://lirical.readthedocs.io/en/latest/phenopacket-hpo.html

There is a link from the Github readme, pointing to the readdocs. I think the doc server only tracks the master branch so it may be waiting for you to merge.

On Wed, Nov 20, 2019 at 10:28 AM Justin Reese notifications@github.com wrote:

I am still seeing the malformed phenopacket on readdocs. Is it corrected?

Thanks Aaron, can you point me to the readdoc page containing the bad phenopacket?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/TheJacksonLaboratory/LIRICAL/issues/484?email_source=notifications&email_token=AFL4YC5EKKQ365BBP46E2LDQUVJQ5A5CNFSM4JOV2DPKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEESLQGI#issuecomment-556054553, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFL4YC2XLG5P5UAYN7CQU5LQUVJQ5ANCNFSM4JOV2DPA .

--

justaddcoffee commented 4 years ago

think the doc server only tracks the master branch so it may be waiting for you to merge.

Yep, pretty sure that is it. This is fixed in develop: https://github.com/TheJacksonLaboratory/LIRICAL/blob/develop/docs/phenopacket-hpo.rst