Search in sources :

Example 1 with TermId

use of org.monarchinitiative.phenol.ontology.data.TermId in project loinc2hpo by monarch-initiative.

the class Loinc2HpoAnnotation method fromAnnotationLine.

public static Loinc2HpoAnnotation fromAnnotationLine(String line) {
    String[] fields = line.split("\t");
    if (fields.length != EXPECTED_NUMBER_OF_FIELDS) {
        System.err.printf("Malformed line with %d fields: %s%n", fields.length, line);
    }
    LoincId loincId = new LoincId(fields[0]);
    LoincScale scale = LoincScale.fromString(fields[1]);
    TermId hpoId = TermId.of(fields[3]);
    String curation = fields[5];
    String comment = fields[6];
    String outcomeString = fields[2];
    Outcome outcome;
    if (scale.equals(LoincScale.NOMINAL)) {
        outcome = Outcome.nominal(outcomeString);
    } else {
        outcome = new Outcome(ShortCode.fromShortCode(outcomeString));
    }
    if (fields[4].equals(".")) {
        return new Loinc2HpoAnnotation(loincId, scale, outcome, hpoId, curation, comment);
    }
    TermId supplementalId = TermId.of(fields[4]);
    return new Loinc2HpoAnnotation(loincId, scale, outcome, hpoId, supplementalId, curation, comment);
}
Also used : Outcome(org.monarchinitiative.loinc2hpocore.codesystems.Outcome) LoincId(org.monarchinitiative.loinc2hpocore.loinc.LoincId) TermId(org.monarchinitiative.phenol.ontology.data.TermId)

Example 2 with TermId

use of org.monarchinitiative.phenol.ontology.data.TermId in project loinc2hpo by monarch-initiative.

the class AnnotationQcCommand method checkValidityOfHpoTerms.

private void checkValidityOfHpoTerms(List<Loinc2HpoAnnotation> entries, Ontology ontology) {
    int good = 0;
    for (var entry : entries) {
        TermId tid = entry.getHpoTermId();
        if (!ontology.containsTerm(tid)) {
            System.err.println("[ERROR] HPO does not contain TermId " + tid.getValue());
        } else if (!ontology.getPrimaryTermId(tid).equals(tid)) {
            System.err.println("[ERROR] Obsolete TermId (" + tid.getValue() + ") used instead of " + ontology.getPrimaryTermId(tid) + ".");
        } else {
            good++;
        }
    }
    System.out.printf("[INFO] %d well-formed HPO terms used in LOINC annotations\n", good);
}
Also used : TermId(org.monarchinitiative.phenol.ontology.data.TermId)

Aggregations

TermId (org.monarchinitiative.phenol.ontology.data.TermId)2 Outcome (org.monarchinitiative.loinc2hpocore.codesystems.Outcome)1 LoincId (org.monarchinitiative.loinc2hpocore.loinc.LoincId)1