Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

[#78] allow labels to be loaded as tsvs #79

Merged
merged 1 commit into from Apr 6, 2017
Jump to file or symbol
Failed to load files and symbols.
+547 −428
Split

Large diffs are not rendered by default.

Oops, something went wrong.
@@ -2,6 +2,8 @@
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableSet;
+
import org.monarchinitiative.owlsim.kb.BMKnowledgeBase;
import org.semanticweb.owlapi.model.OWLOntology;
@@ -22,14 +24,15 @@
private final Map<String, String> curies;
private final List<String> individualAssociationTsvs;
private final Map<String, Collection<String>> individualAssociations;
- //TODO - labels?
+ private final Set<String> labelTsvs;
private OntologySourceData(Builder builder) {
this.ontologies = distinctImmutableListOf(builder.ontologies);
this.dataOntologies = distinctImmutableListOf(builder.dataOntologies);
this.curies = ImmutableMap.copyOf(builder.curies);
this.individualAssociationTsvs = distinctImmutableListOf(builder.individualAssociationTsvs);
this.individualAssociations = ImmutableMap.copyOf(builder.individualAssociations);
+ this.labelTsvs = ImmutableSet.copyOf(builder.labelTsvs);
}
private ImmutableList<String> distinctImmutableListOf(List<String> list) {
@@ -48,6 +51,10 @@ private OntologySourceData(Builder builder) {
return curies;
}
+ public Set<String> getLabelTsvs() {
+ return labelTsvs;
+ }
+
public List<String> getIndividualAssociationTsvs() {
return individualAssociationTsvs;
}
@@ -65,7 +72,8 @@ public boolean equals(Object o) {
Objects.equals(dataOntologies, that.dataOntologies) &&
Objects.equals(curies, that.curies) &&
Objects.equals(individualAssociationTsvs, that.individualAssociationTsvs) &&
- Objects.equals(individualAssociations, that.individualAssociations);
+ Objects.equals(individualAssociations, that.individualAssociations) &&
+ Objects.equals(labelTsvs, that.labelTsvs);
}
@Override
@@ -81,6 +89,7 @@ public String toString() {
", curies=" + curies +
", individualAssociationTsvs=" + individualAssociationTsvs +
", individualAssociations=" + individualAssociations +
+ ", labelTsvs=" + labelTsvs +
'}';
}
@@ -95,6 +104,7 @@ public static Builder builder() {
private Map<String, String> curies = Collections.emptyMap();
private List<String> individualAssociationTsvs = new ArrayList<>();
private Map<String, Collection<String>> individualAssociations = new HashMap<>();
+ private Set<String> labelTsvs = Collections.emptySet();
private Builder(){
//use the static method.
@@ -180,6 +190,11 @@ public Builder individualAssociations(Map<String, ? extends Collection<String>>
individualAssociations.putAll(mappings);
return this;
}
+
+ public Builder labelTsvs(Set<String> labelTsvs) {
+ this.labelTsvs = labelTsvs;
+ return this;
+ }
public OntologySourceData build() {
if(ontologies.isEmpty()) {
@@ -11,6 +11,7 @@
import java.io.File;
import java.util.Collection;
import java.util.Map;
+import java.util.Set;
/**
* A convenience wrapper to enable easy loading of a {@link BMKnowledgeBase} from OWL ontologies and data files.
@@ -52,6 +53,15 @@ public Loader loadCuries(Map<String, String> curies) {
}
/**
+ * @param labelTsvs
+ * @return
+ */
+ public Loader loadLabelsFromTsv(Set<String> labelTsvs) {
+ sourceDataBuilder.labelTsvs(labelTsvs);
+ return this;
+ }
+
+ /**
* Loads an OWL/OBO ontology from a file.
*
* @param file
Oops, something went wrong.