All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.monarchinitiative.phenol.annotations.io.hpo.HpoaDiseaseData Maven / Gradle / Ivy

There is a newer version: 2.1.2
Show newest version
package org.monarchinitiative.phenol.annotations.io.hpo;

import org.monarchinitiative.phenol.annotations.formats.hpo.AnnotatedItem;
import org.monarchinitiative.phenol.ontology.data.Identified;
import org.monarchinitiative.phenol.ontology.data.TermId;

import java.util.Collection;
import java.util.List;
import java.util.Objects;

/**
 * All HPOA lines available for a single disease.
 */
public class HpoaDiseaseData implements AnnotatedItem {

  private final TermId id;
  private final String name;
  private final List annotationLines;

  HpoaDiseaseData(TermId id, String name, List annotationLines) {
    this.id = Objects.requireNonNull(id);
    this.name = Objects.requireNonNull(name);
    this.annotationLines = Objects.requireNonNull(annotationLines);
  }

  @Override
  public TermId id() {
    return id;
  }

  public String name() {
    return name;
  }

  @Override
  public Collection annotations() {
    // TODO - should we return all annotations or only non-negated annotations?
//    return annotationLines.stream()
//      .filter(a -> !a.isNegated())
//      .collect(Collectors.toList());
    return annotationLines;
  }

  public List annotationLines() {
    return annotationLines;
  }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy